답변:
다른 브라우저는 이것을 다르게 취급합니다. 일부 src는 오류없이 포함 된 경우에만 콘텐츠를 실행합니다 . 일부 src는 성공 여부에 관계없이 스크립트 를 포함하려고 시도한 후 실행합니다 . 이 동작은 신뢰할 수 없으며 ( HTML5에서는 금지됨 ) 피해야합니다.
Google은 특정 행동에 의존하지 않습니다. 내용은 객체 리터럴 (값) 일 뿐이므로 실제로 실행하면 자동 오류가 발생하는 것 외에는 아무 것도 수행하지 않습니다. Google의 코드는 script태그 자체 의 내용을보고 이를 기반으로 동작을 조정합니다.
src속성이 존재하고 실제로는 객체 리터럴이 아니라면 스크립트 내용이 실행 되지 않습니다. 해당 코드는 SyntaxError실행 되는 경우 스크립트가 사용할 "JSON 텍스트"를 생성합니다. 나중에 그 자체로.
s=document.getElementsByTagName('script'); text = s[s.length-1].innerHTML; 의 내용을 제공합니다. DOM을 건드리지 않는 스크립트 노드의 내용을 가져올 수있는 방법은 없다고 생각합니다. .
스크립트 요소 에 src 속성 이 있으면 내용 을 무시 해야 하며 다른 동작은 부적합합니다.
평가되지 않을 것임을 알고있는 요소에 콘텐츠를 넣은 다음 DOM 메서드를 사용하여 콘텐츠를 문자열로 가져와 평가 하거나 새 스크립트 요소에 삽입하는 것이 블로그 (핵으로)에서 제안되었습니다 . 둘 다 좋은 생각이 아닙니다.
HTML5 초안 사양 에 따르면 ,<script> 와 요소 src의 속성은 주석 처리해야 스크립트에 대한 설명서를 제공하기위한 것입니다 코드. Google이이 사양을 준수하는 것처럼 보이지는 않습니다.