Iframe 单击父getElementById.click();不在CHROME中工作

Iframe 单击父getElementById.click();不在CHROME中工作,iframe,google-chrome,click,onclick,getelementbyid,Iframe,Google Chrome,Click,Onclick,Getelementbyid,我一直在尽力解决这个问题,但我真的找不到问题所在。我对javascript并没有真正的经验,所以我可能缺少一些基本的东西 现在,在我复制了我发现的允许IE以外的浏览器注册click()的代码之后;除了Chrome之外,它在所有浏览器中都能完美工作。我测试了IE、FF、Safari和Opera,它们都正常工作 我的设置是,我有一个iframe,里面有按钮,用来激活父级中的阴影盒库 我在主页(index.html)中的脚本是: <head> //shadowbox linking &l

我一直在尽力解决这个问题,但我真的找不到问题所在。我对javascript并没有真正的经验,所以我可能缺少一些基本的东西

现在,在我复制了我发现的允许IE以外的浏览器注册click()的代码之后;除了Chrome之外,它在所有浏览器中都能完美工作。我测试了IE、FF、Safari和Opera,它们都正常工作

我的设置是,我有一个iframe,里面有按钮,用来激活父级中的阴影盒库

我在主页(index.html)中的脚本是:

<head>

//shadowbox linking
<link rel="stylesheet" type="text/css" href="shadowbox/shadowbox.css">
<script type="text/javascript" src="shadowbox/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init();
</script>

//included based on what I found online to enable the click(); method to work in browsers besides IE)
<script type="text/javascript">
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click)
HTMLElement.prototype.click=function(){
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt); }
</script>

</head>

<body>
<a id="web1" href="http://www.google.com/" rel="shadowbox[gallery]"></a>
<a id="web2" href="http://www.yahoo.com/" rel="shadowbox[gallery]"></a>

<iframe src="frame.html">You can't see
iframes.</iframe>
</body>
<a href="#" onClick="parent.document.getElementById('web1').click();">Link1</a>
<a href="#" onClick="parent.document.getElementById('web2').click();">Link2</a>

//暗箱链接
Shadowbox.init();
//包括基于我在网上找到的内容,以启用click();在浏览器中工作的方法(IE除外)
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click)
HTMLElement.prototype.click=function(){
var evt=this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click',true,true,this.ownerDocument.defaultView,1,0,0,0,false,false,false,false,false,false,0,null);
this.dispatchEvent(evt);}
你看不见
iframes。
我在iframe(frame.html)中的链接是:

<head>

//shadowbox linking
<link rel="stylesheet" type="text/css" href="shadowbox/shadowbox.css">
<script type="text/javascript" src="shadowbox/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init();
</script>

//included based on what I found online to enable the click(); method to work in browsers besides IE)
<script type="text/javascript">
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click)
HTMLElement.prototype.click=function(){
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt); }
</script>

</head>

<body>
<a id="web1" href="http://www.google.com/" rel="shadowbox[gallery]"></a>
<a id="web2" href="http://www.yahoo.com/" rel="shadowbox[gallery]"></a>

<iframe src="frame.html">You can't see
iframes.</iframe>
</body>
<a href="#" onClick="parent.document.getElementById('web1').click();">Link1</a>
<a href="#" onClick="parent.document.getElementById('web2').click();">Link2</a>


我真的希望有人能帮我()谢谢

哦,看来我找到问题了-_-

脚本没有问题,它工作得非常好。当文件托管在本地时,Chrome似乎存在一些安全问题。我把文件上传到网上,一切正常

我希望这将有助于碰巧遇到它的人,特别是从iframe链接Shadowbox,因为我看到了很多关于它的帖子。

。Chrome不支持(很好地)click()。一种解决方法是使用jQuery。转换
getElementById('web2')。单击()
$(“#web2”)。单击()