使用JavaScript从不同的HTML页面检索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

我的update.html页面中有以下代码:

<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
语句将匹配的文本转换为数字

另请参见:


您尝试过什么?是否托管update.html页面?这两个文件都需要一个中央数据库,一个服务器或LocalStorager“恢复”是什么意思?创建一个仅由这两个数字组成的新map.html(而updade.html更大)?创建一个新的map.html,其中包含这两个数字?创建一个map.html,在访问map.html时显示当前版本updade.html中的这些数字?来自相同的服务器?从其他服务器?在任何情况下,请提供(定制的)示例输入和所需输出(引用结果map.html,或以其他方式定义所需的结果外观)。
<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));