Answers:
不同的浏览器对此有不同的对待。有些仅在src没有错误的情况下运行内容。有些尝试在尝试包含src脚本之后运行它,无论是否成功。由于这种行为是不可靠的(在HTML5中是禁止的),因此应避免这种行为。
Google并不依赖任何特定行为。由于内容只是对象文字(值),因此执行内容实际上不会做任何事情,只会导致静默错误。Google的代码查看script标记本身的内容,并根据该内容调整其行为。
src属性存在,脚本内容将永远不会执行,并且实际上不是真正的对象文字,SyntaxError如果执行,该代码将产生一个“ JSON文本”,脚本将使用以后自己。
s=document.getElementsByTagName('script'); text = s[s.length-1].innerHTML; 我认为没有任何方法可以获取不涉及DOM的脚本节点的内容。
如果脚本元素具有src属性,则必须忽略该内容,否则任何其他行为都是不符合要求的。
在博客中建议(作为一种技巧)将内容放入知道不会被评估的元素中,然后使用DOM方法获取内容作为字符串,并将其评估或将其插入新的脚本元素中。这些都不是个好主意。
脚本加载后,它会在自己的脚本标签中查找以访问其内容。
它将使用类似于以下代码:
var scripts = document.getElementsByTagName("script");
var data = eval(scripts[scripts.length - 1].innerHTML);