特别是我必须指出我刚刚开始开发 javascript 应用程序。我的问题是;我有一个包含我的地图的 html 页面。例如(a.html)。另外我在这个页面中有javascript变量(var map)我真正的问题是我有另一个html页面(b.html),它包含一个包含a.html的iframe。但我需要从 b.html 访问我的变量(var map)。我怎样才能实现它?可能吗?如果不是,我该如何解决这个问题?
谢谢...
特别是我必须指出我刚刚开始开发 javascript 应用程序。我的问题是;我有一个包含我的地图的 html 页面。例如(a.html)。另外我在这个页面中有javascript变量(var map)我真正的问题是我有另一个html页面(b.html),它包含一个包含a.html的iframe。但我需要从 b.html 访问我的变量(var map)。我怎样才能实现它?可能吗?如果不是,我该如何解决这个问题?
谢谢...
这是不可能的。您可以使用 cookie 或本地数据库在 html 文件之间共享数据。
您可以在中创建一个空变量b.html
var mapCollector;
然后在您加载后将您a.html
的iframe
地图写回
document.parent.mapCollector = map;
或者您可以遍历iframes
inb.html
并以这种方式获取数据。该解决方案是理论上的,因为我现在没有我的环境。
限制是:两个 html 必须来自同一个域。
编辑 :
正确的参考是:
window.parent.mapCollector = map;
另请查看我的测试用例以获取可行的解决方案。
如果您的浏览器支持 HTML5,您可以使用 localStorage。
localStorage.setItem('my_key','my_value');
var n = localStorage('my_key');
另一种选择是使用cookies。
所以你应该先检查:
function supports_html5_storage() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}