来自一个未在iframe中运行的外部网站的Javascript应用程序

时间:2012-04-13 18:30:01

标签: javascript iframe external

我正在使用iframe将我公司人力资源部网站的访问权限添加到我们的部门网站。一切正常,除非用户尚未登录javascript密码应用程序未运行。我已经读到这是由于同源策略,但未能找到成功处理它的方法。是否有一些我可以添加到iframe的代码片段以防止它阻止其他网站javascript?

3 个答案:

答案 0 :(得分:2)

两个页面必须共享相同的document.domain才能相互编写脚本。

https://developer.mozilla.org/en/document.domain

https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript

如果您的父页面位于“myArea.myCompany.net”域下,而iframe中的HR页面位于“hisArea.myCompany.net”下,则可以将document.domain s设置为“myCompany.net “然后他们就可以互相编写脚本了。

答案 1 :(得分:1)

相同的源策略意味着无法从另一个域访问帧。是一个iframe,或你上面的框架或窗口中的任何其他地方。

目的是保护用户。任何网站都可以添加加载www.facebook.com的iframe,如果您已登录,只需阅读HTML即可提取您的真实姓名和您的朋友等。同样的原产地政策是为了防止这种情况。

没有办法解决它(如果有的话,这是一个错误)。唯一的解决方案是通过将两个页面托管在同一个域中来避免此问题。

答案 2 :(得分:0)

你必须使用和IFRAME吗? 为什么你只能从部门网站链接到人力资源网站,或者在弹出的窗口中显示它。

没有任何代码片段可以转换相同的原始政策,但也许CORS(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)可以帮助您。

干杯