使用JavaScript从不同的HTML页面检索HTML
我的update.html页面中有以下代码:使用JavaScript从不同的HTML页面检索HTML,javascript,html,Javascript,Html,我的update.html页面中有以下代码: <td>Latitude: 48.837750828462205</td> <td>Longitude: 2.5585527265625387</td> 纬度:48.837750828462205 经度:2.5585527265625387 我想在另一个名为map.HTML的HTML页面中检索这两个纬度/经度值(48.837750828462205;2.5585527265625387) 如何在Ja
<td>Latitude: 48.837750828462205</td>
<td>Longitude: 2.5585527265625387</td>
纬度:48.837750828462205
经度:2.5585527265625387
我想在另一个名为map.HTML的HTML页面中检索这两个纬度/经度值(48.837750828462205;2.5585527265625387)
如何在JavaScript中实现这一点?您有多种解决方案 -将信息存储在数据库中(使用AJAX调用) -将信息存储在localstorage/sessionstorage中
-以GET参数的形式发送url中的信息。对您的问题,最简单的答案如下 在
update.html
页面中
<td id="latitude">Latitude: 48.837750828462205</td>
<td id="longitude">Longitude: 2.5585527265625387</td>
....
.... After your </body>
<script>
localStorage.setItem('latitude', document.getElementById('latitude').innerText.split('Latitude: ')[1]);
localStorage.setItem("longitude", document.getElementById('longitude').innerText.split('Longitude: ')[1]);
</script>
虽然我同意这是解决你问题的最简单的办法,但它肯定不是唯一的办法或最佳办法。您还可以将这些值保存在服务器数据库中,并使用或AJAX获取它们。您还可以使用客户端数据库,如or,同时跨多个浏览器同步值,而不需要服务器
希望有帮助 如果纬度和经度不是动态生成的,最简单的方法就是将它们硬编码为map.html中的变量 假设它们是动态的,您可以使用或更现代的方法获取update.html,然后使用解析它并查询DOM以获取值 我会将
id
s添加到元素中,以便在DOM中轻松找到它们:
<td id="lat">Latitude: 48.837750828462205</td>
<td id="long">Longitude: 2.5585527265625387</td>
stripLabel
中的/\d+\.\d+/
匹配数字,然后return
语句将匹配的文本转换为数字
另请参见:
<td id="lat">Latitude: 48.837750828462205</td>
<td id="long">Longitude: 2.5585527265625387</td>
let url = 'update.html';
let req = new Request(url);
fetch(req).then(res => {
let stripLabel = text => {
return +text.match(/\d+\.\d+/)[0];
};
res.text().then(htmlSource => {
let parser = new DOMParser();
let doc = parser.parseFromString(htmlSource, 'text/html');
let lat = stripLabel(doc.getElementById('lat')),
long = stripLabel(doc.getElementById('long'));
console.log(lat, long);
})
}).catch(err => console.error(err));