2

特别是我必须指出我刚刚开始开发 javascript 应用程序。我的问题是;我有一个包含我的地图的 html 页面。例如(a.html)。另外我在这个页面中有javascript变量(var map)我真正的问题是我有另一个html页面(b.html),它包含一个包含a.html的iframe。但我需要从 b.html 访问我的变量(var map)。我怎样才能实现它?可能吗?如果不是,我该如何解决这个问题?

谢谢...

4

3 回答 3

2

这是不可能的。您可以使用 cookie 或本地数据库在 html 文件之间共享数据。

于 2013-02-08T07:24:08.650 回答
0

您可以在中创建一个空变量b.html

var mapCollector;

然后在您加载后将您a.htmliframe地图写回

document.parent.mapCollector = map;

或者您可以遍历iframesinb.html并以这种方式获取数据。该解决方案是理论上的,因为我现在没有我的环境。

限制是:两个 html 必须来自同一个域。

编辑 :

正确的参考是:

window.parent.mapCollector = map;

另请查看我的测试用例以获取可行的解决方案。

于 2013-02-08T07:28:25.547 回答
0

如果您的浏览器支持 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;
  }
}

更多阅读:http ://diveintohtml5.info/storage.html

于 2013-02-08T07:41:40.467 回答