为什么设置document.domain要求我在所有弹出窗口和iframe中设置它?

时间:2010-05-04 12:15:48

标签: javascript jquery long-polling

我正在为聊天脚本使用长轮询iframe解决方案。不幸的是,这需要我在iframe和主文档中设置document.domain ='yourdomain.com',因为iframe是一个子域名调用。

最大的问题是......现在我使用弹出窗口和iframe的所有其他脚本都被破坏了。他们现在要求我将document.domain放在其中。它确实修复了它,但这根本不是一个理想的解决方案。还有另外一种解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:1)

JavaScript对安全问题有跨域限制。事实上,理想/简单的解决方案就像您所建议的那样定义document.domain

还有其他替代解决方案,例如 JSONP iFrame代理。更多信息:iFrame Cross domain JavaScript calls(该页面中的第二个链接不起作用,但这是一个很好的资源iFrame proxying jQuery)。

希望这有帮助。