Googles +1按钮示例:
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{"parsetags": "explicit"}
</script>
脚本标记有一个src属性和内容。这意味着什么?它是如何工作的?
发布于 2011-06-30 07:15:17
不同的浏览器对此的处理方式不同。有些只在包含src
时才运行内容,而不会出现错误。有些人会在尝试包含src
脚本之后运行它,而不管是否成功。因为这种行为是不可靠的(和prohibited in HTML5),所以应该避免这种行为。
谷歌并不依赖于任何特定的行为。因为内容只是一个对象文字(一个值),所以执行它实际上不会做任何事情,只会导致一个无声的错误。谷歌的代码查看script
标签本身的内容,并基于此调整其行为。
发布于 2011-06-30 07:19:58
如果script element具有src属性,则必须忽略内容,否则任何其他行为都是不符合的。
博客中建议(作为黑客)将内容放在元素中,知道它不会被求值,然后使用DOM方法以字符串形式获取内容,并对其进行求值或将其插入到新的script元素中。这两个都不是好主意。
发布于 2012-01-07 01:49:27
加载脚本后,它会查看自己的script标记以访问其内容。
它将使用一些类似如下的代码:
var scripts = document.getElementsByTagName("script");
var data = eval(scripts[scripts.length - 1].innerHTML);
由John Resig提供。
https://stackoverflow.com/questions/6528325
复制相似问题