2014-04-01 7 views
-2

많은 코드가 포함 된 웹 사이트가 있으므로 분명히 잘못된 것이지만 여기에 모든 코드를 게시 할 수는 없습니다. 여기에 정확한 코드 제가 사용하려고합니다. 부모 문서iframe의 javascript가 작동하지 않습니다.

... iframe을, colorCombos.php 페이지 내부

<iframe name=combosIframe id=combosIframe src=getCombos.php style='position:absolute;left:300px;top:0px;width:275px;height:520px;overflow-y:scroll;overflow-x:hidden;border:1px solid black'></iframe> 
<form name=colorForm id=colorForm action=colorCombos.php method=post target=combosIframe> 
    <input type=submit id=submitColors value=SubmitColors> 
</form> 

...

<script language=JavaScript> 
    alert('load'); 
    function doSomething(){ 
     alert('hi'); 
    } 
</script> 

<form> 
    <input type=button value=ClickMe onClick=doSomething()> 
</form> 

시나리오 : 나는 iframe이에 새 페이지를로드하는 부모 폼 버튼을 클릭합니다 .

문제 : colorCombos.php 페이지의 JavaScript가 페이지로드시 또는 단추를 클릭 할 때 경고하지 않습니다. 페이지를 자체적으로 보면 잘 작동합니다.

사양 : php5, Chrome 브라우저 사용.

참고 : 자바 스크립트 콘솔을 볼 때 오류가 없습니다. 또한 colorCombos.php 페이지에는 다른 것이 없습니다. 두 파일 모두 같은 디렉토리에 있습니다. 어떤 도움을 주셔서 감사합니다, 나는 정말로 난감합니다.

+3

따옴표 사용에 문제가 있습니까? '0 '을 올바른 프레임 번호로 대체하는 frames [0]은 상대 경로이므로 CORS 액세스가있는 한 iframe 내용에 대한 액세스 권한을 제공해야합니다. – PHPglue

+0

따옴표가 필요하지 않습니다. 프레임에 접근하는 스타일을 시도해 볼 수는 있지만 왜 그렇게 중요할까요? – user2278448

+1

'console.log()'는 콘솔에 아무것도 표시합니까 (F12 -> Console)? –

답변

1

HTML 속성 내에서 따옴표를 사용하지 않으면 원하지 않는 결과가 발생할 수 있습니다. 각 HTML 속성의 모든 값을 따옴표로 묶어보십시오.

예 :

<input type="button" value="ClickMe" onClick="doSomething()"/> 
+0

아니요, 이것은 문제가되지 않습니다. – user2278448

0

내가 (이 작업 한) 빈 설치를 시작할 때를 확인하기 위해 새 문서에 비트에 의해 비트 (다른 ​​코드를 많이 가지고) 내 사이트에서 코드를 복사 스크립트가 작동을 멈췄습니다. 나는 새로운 문서에 모든 것을 (말 그대로 ctrl + a) 복사하는 것을 끝내었고, 정상적으로 작동했다. 그런 다음 새 문서의 이름을 이전 문서의 이름으로 변경하고 작업을 중단했습니다. 이전 문서 (즉, 상위 문서)의 이름은 rangeTool.php이며 관련성이 있다고는 생각하지 않습니다.

그래서 해결책은 있지만 대답은 아닙니다. 전 세계에서 하나의 문서가 작동하지 않을 수 있습니까? 서버에 문제가 있습니까? 이전 파일을 서버에서 삭제하고 새 복사본을로드했지만 이름이 rangeTool.php 인 한 작동하지 않았습니다. 예를 들어 testcode.php의 이름을 변경하면 정상적으로 작동합니다.

저는 아직도 왜/어떻게 이런 일이 일어 났는지에 관심이 있습니다. 그러나 적어도 저에게는 효과가 있음을 지금은 압박하고 있습니다.

관련 문제