2011-02-16 3 views
0

나는이 문제를 해결하기 위해 최선을 다해 왔지만 실제로 무엇이 잘못되었는지를 발견 할 수 없습니다. 나는 정말로 자바 스크립트에 익숙하지 않았기 때문에 아마도 기본적인 것이 빠졌을 것이다.onClick parent getElementById.click(); 크롬에서 작동하지 않습니다

바로 지금, 내가 IE 이외의 브라우저에서 click()을 등록 할 수 있도록 찾은 코드를 복사 한 후, 크롬을 제외한 모든 브라우저에서 완벽하게 작동합니다. 나는 IE, FF, 사파리, 오페라를 테스트했는데 모두 작동합니다.

내 설정은 부모가있는 섀도 상자 갤러리를 활성화 할 버튼이있는 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> 

iframe을 (frame.html)의 내 링크는 다음과 같습니다

<a href="#" onClick="parent.document.getElementById('web1').click();">Link1</a> 
<a href="#" onClick="parent.document.getElementById('web2').click();">Link2</a> 

정말 희망 누군가 나를 도울 수 =) 감사합니다!

답변

1

아 내가이 문제 -_- 스크립트 아무 문제가 없습니다

, 그것은 완벽하게 잘 작동을 발견 한 것 같다. Chrome은 파일이 로컬에서 호스팅 될 때 보안 문제가있는 것 같습니다. 파일을 온라인으로 업로드했는데 모든 것이 잘 작동합니다. =)

필자는이 문제가 우연히 만나는 사람에게 도움이되기를 바랍니다. 특히, 그에 관한 게시물이 많아서 Shadowbox를 iframe에서 연결하는 데 도움이되기를 바랍니다.

0

. 크롬에서는 .click()이 지원되지 않습니다 (잘). 한 가지 방법은 jQuery를 사용하는 것입니다. getElementById('web2').click()$("#web2").click()으로 변환하십시오.

관련 문제