我正在使用iframe将我公司人力资源部网站的访问权限添加到我们部门的网站。除非用户尚未登录,否则一切正常。javascript密码应用程序不会运行。我读到这是由于同源政策,但还没有找到一个成功的方法来处理它。有没有一些代码片段我可以添加到iframe中,以防止它阻止其他网站的javascript?
发布于 2012-04-14 02:39:56
两个页面必须共享相同的document.domain才能互相编写脚本。
https://developer.mozilla.org/en/document.domain
https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
如果你的父页面在"myArea.myCompany.net“域下,而你的iframe中的HR页面在"theirArea.myCompany.net”下,你可以将两个document.domain都设置为"myCompany.net“,然后它们就可以互相编写脚本了。
发布于 2012-04-14 02:40:57
同源策略意味着不能访问来自其他域的帧。可以是iframe,也可以是你上方的框架,也可以是窗口中的任何地方。
这样做的目的是保护用户。任何网站都可以添加一个加载www.facebook.com的iframe,如果你已经登录,只需阅读它就可以提取出你的真实姓名和朋友等等。同源策略就是为了防止这种情况发生。
没有办法绕过它,(如果有,那就是一个bug)。唯一的解决方案是通过将这两个页面托管在同一个域中来避免这个问题。
发布于 2012-04-14 02:42:32
你必须使用和IFRAME吗?为什么不能简单地从部门网站链接到人力资源网站,或者在弹出的窗口中显示它。
没有使用相同来源策略的代码片段,但CORS (http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)可能会对您有所帮助。
干杯
https://stackoverflow.com/questions/10146342
复制相似问题