由於元素具有src
屬性,因此不會執行內容。 它不是嚴格合法的。 HTML5規范說:
如果存在src
屬性,則該元素必須為空或僅包含與腳本內容限制匹配的腳本文檔。
該<script>
元素的內容既不是有效的JSON,也不是有效的JavaScript。 它不是有效的JSON,因為未引用屬性名稱。 它不是有效的JavaScript,因為雖然它看起來像帶有標記語句的塊表達式,但startInNewWindow
之后的冒號不能合法地出現在那里。
也就是說,加載的腳本總是可以查找最后一個腳本元素並解析其內容:
var scripts = document.getElementsByTagName('SCRIPT');
var lastScript = scripts[script.length - 1];
var content = eval(lastScript.innerText || lastScript.textContent);