2012-08-16 2 views
1

오페라 (Windows 7에서 실행되는 12.01 버전)에서 버그를 발견했지만 가능한 해결 방법 (다른 사람이 버그임을 확인할 수 있다고 가정)을 찾고 있습니다.이것은 Opera에서 온로드 버그입니까?

나는 다음을 포함하는 HTML 페이지가있는 경우 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>Test</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" /> 
    </head> 
    <body onload="window.alert(0);"> 
    </body> 
</html> 

은 "온로드"이벤트가 시작되지 않습니다를. 이상하게도, 나는 그것을 닫는 자기 대신 스크립트 태그를 닫고 변경하는 경우 :

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" /> 

에 :

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

(불행하게도 내가 할 수없는), 이벤트 것이다 화재 및 내 경고가 표시됩니다.

이 문제가 발생한 사람이 있습니까? 그렇다면 스크립트 태그를 <script />에서 <script></script>으로 변경하는 대신 다른 방법을 찾았습니까?

참고 : 예, Opera에 버그 보고서를 열었습니다. 아직 응답이 없습니다.

+0

왜 ''을 (를) 추가 할 수 없습니까? 너는해야만 해! ''은 질문에 언급 된대로 예상대로 작동합니다. – gsnedders

+0

나는 결코 ''이 작동하지 않는다고 말한 적이 없다. 물론 그렇다.그러나 외부의 JS 파일을로드 할 때 비어있는'' 태그를 피할 수있는 가능성을 제공하기 위해 제 대답을 편집했습니다. 필자는 왜 이것이 @userx를 돕는 지 모르지만, 스크립트 태그를 자기 닫는 것이 왜 필요한지 아직 이해할 수 없습니다. – Aletheios

2

HTML5 당 Opera의 올바른 점은 무엇입니까? onload가 실행되지 않는 이유를 이해하려면 SRC가 설정된 SCRIPT 태그의 내용을 무시해야합니다. />는 첫 번째 SCRIPT 태그를 닫는 올바른 방법이 아니기 때문에 후속 end-of-head 태그와 body-body 태그가 SCRIPT 태그 내부에서 끝납니다. 그것은 조금이 글을 쓰는 것과 같다 : 스크립트 태그 안에있는 BODY는 무시되기 때문에

<script src="foo.js"> 
</head><body><p>This doesn't appear anywhere, does it?</p></body> 
</script> 

그래서 온로드는 처음에 설정되지 않습니다.

관련 문제