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

发布于 2024-08-30 22:26:09 字数 234 浏览 6 评论 0原文

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

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

I'm using a long-polling iframe solution for a chat script. Unfortunately, this requires me to set document.domain='yourdomain.com' in the iframe and main document, because the iframe is a subdomain call.

The huge problem is...now all my other scripts that use popups and iframes are broken. They now require me to put document.domain in them too. It does fix it, but this is not an ideal solution at all. Is there another way around this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愚人国度 2024-09-06 22:26:09

JavaScript出于安全问题存在跨域限制。理想/简单的解决方案实际上是像您建议的那样定义 document.domain

还有其他替代解决方案,例如 JSONPiFrame 代理。更多信息请参见:iFrame 跨域 JavaScript 调用(第二个链接在该页面中不起作用,但这里有一个很好的资源 iFrame 代理 jQuery )。

希望这有帮助。

JavaScript has cross-domain limitations for security issues. The ideal/simple solution is in fact defining the document.domain like you are suggesting.

There are other alternative solutions like JSONP or iFrame proxying. More info here: iFrame Cross domain JavaScript calls (second link in that page doesn't work but here's a good resource iFrame proxying jQuery).

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文