JavaScript的window.opener
属性是否可以跨浏览器可靠地使用,并且免受任何安全设置和任何类型的限制?开启者和打开的窗口都在同一个域上.
有没有人遇到麻烦,在某些情况下使用它的糟糕经历?
我问,因为我打算构建一个严重依赖它的工具,并且应该支持尽可能多的平台.
我现在是两个网站上的开发人员,现在广泛使用window.opener,我不知道它什么时候失败了.这些应用程序在IE [678],Firefox和Webkit上进行了测试; 我非正式地使用了Opera,也没有注意到那里的问题.
现在,"开启者"关系本质上是脆弱的,因为没有太多可以防止用户在用于打开单独弹出窗口的主浏览器窗口中访问"cnn.com".一旦原始窗口加载了新内容,"子"窗口的"window.opener"引用无论如何也不会对你有任何好处.同样,当用户打开并打开一个新的主浏览器窗口并导航到您的站点时,您的"孤儿"窗口将无法真正找到它.
当然我不能100%保证一切都会好的:-)但是我的故事是真实的.也许我对"window.opener"的依赖并不像你计划的那样严重或深刻; 我不能说我的应用程序中的所有内容都取决于那个工作.
值得注意的是,如果文件未通过Chrome中的HTTP连接加载,则window.opener不起作用(尽管它在Safari中运行正常).