我试图让一个子 JavaScript 应用程序更新它的父文档。
本质上,这是一个非常简单的问题:
- JavaScript 程序在它自己的文档中打开一个 iframe。
- 另一个 JavaScript 程序被加载到 iframe 中。
- 第二个程序需要更改原始页面中的片段(锚点)。
- 第一个程序,然后“转到”新片段(文档位置已更新,但文档未刷新)。
在无数的网页中,都有关于如何做到这一点的描述,使用的技巧如下:
window.parent.location.hash = "#" + string
但是当我在 IE 中执行此操作时,父级似乎正在刷新自己。我认为页面正在重新加载。
只是让这有点棘手:
- 我需要所有浏览器(或至少 IE 和 Firefox)的解决方案。
- 这两个 JavaScript 程序实际上都是 GWT Web 应用程序(因此我可以将特定代码绑定到不同的浏览器版本)。
- 如有必要,我可以做一些奇怪的事情来绕过安全,父母和孩子总是互相认识的。孩子总是被父母叫住。
我已经尝试了各种网页上列出的许多其他技巧,但到目前为止,似乎没有一个足够稳定和简单到可以实际部署。