通过 Javascript 将多个变量传递给 HTML
Passing Multiple Variables to HTML via Javascript
我试图在 google API 计算后将纬度和经度从一页传递到另一页。
对于指南针网站。想要将纬度和经度都传递到另一个页面以在该页面上使用。我正在尝试通过 javascript.
传递它们
Java传递变量。
var lat = marker.getPosition().lat();
var long = marker.getPosition().lng();
window.location.href = 'compass.html' + '#' + lat +'#' + long;
Java接收变量
var latD = window.location.hash.substring(1);
var longD = window.location.hash.substring(2);
而不是将它们拆分并一起显示在包含哈希的另一页上。像这样:
-41.2864603?#174.77623600000004,
41.2864603?#174.77623600000004
我希望它是这样的:
-41.2864603
,174.77623600000004
应该是这样的:
var lat = marker.getPosition().lat();
var long = marker.getPosition().lng();
window.location.href = 'compass.html?lat=' + '' + lat +'&longt=' + long;
哈希
这个想法可行,您只需要正确拆分 hash-string。
//REM: On whatever.html
var lat = '-41.2864603';
var long = '174.77623600000004';
var tHref = 'compass.html' + '#' + lat +';' + long; //window.location.href = ..
//REM: On compass.html
var tHash = tHref.split('#').pop(); //window.location.hash.split('#').pop();
var tLat = tHash.split(';')[0];
var tLong = tHash.split(';')[1];
alert('Lat: ' + tLat + ', Long: ' + tLong);
查询字符串
作为另一种方法,您可以像 nbokmans 推荐的那样将其作为正常的 QueryString 值传递。单独或作为字符串化对象。不同之处在于,除非您在服务器上获取值,否则您需要实现自己的 js QueryString-Parser。但是你会在 google.
上找到很多 QueryString-Parser
这是一个例子:
How can I get query string values in JavaScript?
本地存储
localStorage
对我来说听起来是最简单的解决方案。您也不需要为它实现自己的 QueryString-Parser。只需在 whatever.html 上设置并在 compass.html 上阅读即可。
检查下面的例子:
https://developer.mozilla.org/de/docs/Web/API/Window/localStorage
//Set:
window.localStorage.setItem('whatever', JSON.stringify({lat: 1, long:2}));
//Get:
JSON.parse(window.localStorage.getItem('whatever'));
我试图在 google API 计算后将纬度和经度从一页传递到另一页。
对于指南针网站。想要将纬度和经度都传递到另一个页面以在该页面上使用。我正在尝试通过 javascript.
传递它们Java传递变量。
var lat = marker.getPosition().lat();
var long = marker.getPosition().lng();
window.location.href = 'compass.html' + '#' + lat +'#' + long;
Java接收变量
var latD = window.location.hash.substring(1);
var longD = window.location.hash.substring(2);
而不是将它们拆分并一起显示在包含哈希的另一页上。像这样:
-41.2864603?#174.77623600000004, 41.2864603?#174.77623600000004
我希望它是这样的: -41.2864603 ,174.77623600000004
应该是这样的:
var lat = marker.getPosition().lat();
var long = marker.getPosition().lng();
window.location.href = 'compass.html?lat=' + '' + lat +'&longt=' + long;
哈希
这个想法可行,您只需要正确拆分 hash-string。
//REM: On whatever.html
var lat = '-41.2864603';
var long = '174.77623600000004';
var tHref = 'compass.html' + '#' + lat +';' + long; //window.location.href = ..
//REM: On compass.html
var tHash = tHref.split('#').pop(); //window.location.hash.split('#').pop();
var tLat = tHash.split(';')[0];
var tLong = tHash.split(';')[1];
alert('Lat: ' + tLat + ', Long: ' + tLong);
查询字符串
作为另一种方法,您可以像 nbokmans 推荐的那样将其作为正常的 QueryString 值传递。单独或作为字符串化对象。不同之处在于,除非您在服务器上获取值,否则您需要实现自己的 js QueryString-Parser。但是你会在 google.
上找到很多 QueryString-Parser这是一个例子: How can I get query string values in JavaScript?
本地存储
localStorage
对我来说听起来是最简单的解决方案。您也不需要为它实现自己的 QueryString-Parser。只需在 whatever.html 上设置并在 compass.html 上阅读即可。
检查下面的例子: https://developer.mozilla.org/de/docs/Web/API/Window/localStorage
//Set:
window.localStorage.setItem('whatever', JSON.stringify({lat: 1, long:2}));
//Get:
JSON.parse(window.localStorage.getItem('whatever'));