0

我在 IE7 和 IE8 兼容模式下遇到了 jQuery BBQ 的问题。

history_set = function( hash, history_hash )

var iframe_doc = iframe.document, //this is the line that the error reports

domain = $.fn[ str_hashchange ].domain;`

我在上面标记的行上收到“拒绝访问”。

我听说这可能是由 iframe 的域问题引起的,所以我设置了

document.domain = "mydomain.com";

但仍然看到问题。

帮助?

4

2 回答 2

0

好的,对于其他收到此错误的人,这就是我们修复它的方法。

首先,在 Ben Alman 的建议下,我们对插件进行了一行更改。在 iframe 附加到窗口的地方,.contentWindow我们更改为.document

我们还需要使用空白 html 文件,并设置源:

//set iframe src file, will not work in IE7 & compat modes without
            jQuery.fn.hashchange.domain = document.domain;
            jQuery.fn.hashchange.src = 'blank.html';

            //Initialize our BBQ
                     blah blah blah

通过这些更改,一切都按预期工作。

于 2012-02-23T17:35:22.833 回答
0

这里的答案对我不起作用,但这里有一个示例实现:http: //benalman.com/code/projects/jquery-hashchange/examples/document_domain/

document.domain 需要在加载 jQuery 之前设置,并且必须与 hashchange.src 文件中的 document.domain 设置相匹配。

于 2012-08-07T16:48:20.123 回答