use*_*015 5 javascript jquery firebug firebug-lite
显然,JSON对象可以在链接脚本中传递.我正在试图弄清楚它是如何工作的(如果它有效):
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js">
{
overrideConsole: false,
startInNewWindow: true,
startOpened: true,
enableTrace: true
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在firebug lite文档中注意到了它:http: //getfirebug.com/firebuglite#ScriptJSONOptions
由于元素具有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);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1750 次 |
最近记录: |