使用jquery从动态iframe访问父文档

时间:2012-10-18 04:27:48

标签: jquery html iframe cross-browser

这个问题是this question的延续。我使用以下代码将动态<iframe>附加到文档。

var _hf_iFrame = document.createElement("iframe");
_hf_iFrame.setAttribute("id", "_hf_iFrame");
_hf_iFrame.setAttribute("name", "_hf_iFrame");
_hf_iFrame.setAttribute("allow-transparency", true);
_hf_iFrame.setAttribute("style", "height: 354px; width: 445px; border: 0; top: 23%; position: fixed; left:0; overflow: show; background:transparent;");
document.body.appendChild(_hf_iFrame);
_hf_iFrame.setAttribute("src", "javascript:false");

var myContent = '<!DOCTYPE html>'
+ '<html><head><title>Helpflip</title><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script><script type="text/javascript" src="http://somedomain.com/js/core.js"></script></head>'
+ '<body style="margin: 0px;"></body></html>';

_hf_iFrame.contentWindow.document.open('text/html', 'replace');
_hf_iFrame.contentWindow.document.write(myContent);
_hf_iFrame.contentWindow.document.close();

加载<iframe>后,我正在尝试使用以下代码为其设置动画

$('#_hf_iFrame', top.document).animate({
      'margin-left': '-400px'
   }, 300).animate({
      'margin-left': '-380px'
   }, 150).animate({
      'margin-left': '-393px'
}, 100);

这适用于Firefox,Chrome和Safari。 IE 9在行Access Denied

上抛出$('#_hf_iFrame', top.document)

跨域问题是否仍然适用?

提前致谢。

0 个答案:

没有答案