2010-06-02 58 views
2

可能重复:
Permission Denied IE iFrame“访问被拒绝” 的iFrame IE

我有b.com的iframe,它试图从a.com抢jQuery库[我的网站]。每当它做到这一点,我得到IE7和IE8中的“访问被拒绝”错误。

我已签出提琴手和它犯规显示脚本是被阻塞 - 但IE确实有错误“访问被拒绝”

是什么原因造成这种概率以及如何解决它?

THX

+1

您已经提出过这个问题:2953158.再次提问并不会给您一个不同的答案。你不能这样做,你无法解决它。如果可以的话,这是一个错误,IE团队将修复它。 – 2010-06-02 05:10:33

+0

你是否在页面完全加载之前操作DOM? IE获取所有关于该挑剔... – Piskvor 2010-06-02 05:10:38

+0

该问题涉及可能的解决方法,我仍然没有任何足够的答案呢?写“你不能这样做” - 不是一个答案。我需要推迟剧本还是? – Tom 2010-06-02 05:12:24

回答

0

简单地说,浏览器的安全不会让你是不同的域的两帧之间的通信。所以你不能从另一个框架中“抓取jQuery库”。没有解决办法,或者它会成为浏览器中的安全漏洞。

你唯一的选择是执行下列操作之一:

  • 帧之间无法沟通
  • 主机每一帧的同一内容(例如,在需要它的所有帧加载jQuery的。)域名(你可以使用不同的子域名)
+0

嘿谢谢你的回复。所以选项1 - “在所有需要它的框架中加载jQuery” - 我该怎么做?即我使用P3P直接从我的域使用脚本标记加载它。即在b.com上的iframe中,它的等? – Tom 2010-06-02 05:20:11

+0

@Tom - 如果您希望主页面和iframe都可以访问jQuery,则只需将脚本标记包含在...即a.com托管的页面和b.com托管的页面上需要一个''标签。 – Alconja 2010-06-02 05:52:12

+0

哦好的非常感谢! – Tom 2010-06-02 06:11:50

0

有些情况下IE7从href地址获取不同的域/虚拟文件夹... www.foo.com和foo.com是不同的域名等等。那?

+0

嘿谢谢 - 我想我的概率可能与x域有关。我认为设置document.domain JavaScript只适用于子域名? – Tom 2010-06-02 05:21:18

+0

你不能使用document.domain =“foolis.foo.com”。有没有谈过这个? – Megawolt 2010-06-02 05:29:25

+0

我的网站是www.a.com的iframe是在www.b.com?即如果www.a.com和bla.a.com,document.domain只有帮助[我认为]?要么 ? – Tom 2010-06-02 05:31:42