2010-12-15 65 views
0

嘿JS大师...我杂耍W /一些疯狂的怪异的谷歌地图的东西。我需要存储2个数字(纬度/经度),点击一个针,然后在新的页面上使用这些数字。Javascript的顶级对象 - 窗口似乎并没有削减它

于是,我就这些存储在良好的OLE”窗口:

window.lat = ...; window.lng = ...;然而,点击地图后的窗口与持有我们的lat,lng的窗口不是同一个窗口。

所以问题是:我们的'新'窗口是否提供了一个已经失去经纬度的参考?我试过window.top,window.parent,window.frames,它都等于窗口...

或者,我可以在哪里存储这些值以便能够在以后恢复它们?

+1

这非常含糊。请包含更多源代码。只有两行不是完整的表达式是不可靠的。 – 2010-12-15 16:32:38

回答

0

你不能在页面之间持久化Javascript变量。

而应该使用cookie。

0

你需要看看饼干/会话,以便在不同的页面保存值:

JavaScript的饼干(注:我从来没有真正使用这些,但相信这是信息及时更新) http://www.quirksmode.org/js/cookies.html

会议:(PHP作为例子,但所有的服务器端语言支持会话) http://www.tizag.com/phpT/phpsessions.php

+1

或者,您可以使用HTML5存储。 http://diveintohtml5.org/storage.html – vsr 2010-12-15 16:47:36

+0

谢谢,正是我所需要的! – Peter 2010-12-15 17:20:37

0

要么你必须使用曲奇还是应该通过这些数字作为个URL变量。 每次加载窗口时,都会再次写入完整的DOM,这就是为什么在页面重新加载后您的变量不再存在。