Javascript //firefox中脚本标记上的@sourceurl
在Firefox19和firebug 1.X中,我在尝试Javascript //firefox中脚本标记上的@sourceurl,javascript,node.js,eval,Javascript,Node.js,Eval,在Firefox19和firebug 1.X中,我在尝试/@sourceurl时遇到了一个奇怪的bug 基本上,我通过dom操作动态添加脚本标记,如下面的示例所示。这是行不通的 也许这是ff的一个限制,但我觉得奇怪的是,它在chrome中工作,而不是在ff中工作。 你能确认这个错误吗?你有没有绕过这个错误的方法 注:我不想使用globaleval(),因为它在ie中使用document.write时会崩溃 var计数=0; 函数addNewScriptToHead() { var-newScr
/@sourceurl
时遇到了一个奇怪的bug
基本上,我通过dom操作动态添加脚本标记,如下面的示例所示。这是行不通的
也许这是ff的一个限制,但我觉得奇怪的是,它在chrome中工作,而不是在ff中工作。你能确认这个错误吗?你有没有绕过这个错误的方法 注:我不想使用global
eval()
,因为它在ie中使用document.write时会崩溃
var计数=0;
函数addNewScriptToHead()
{
var-newScriptElem;
var-newScriptText;
newScriptElem=document.createElement('script');
setAttribute('type','text/javascript');
newScriptElem.setAttribute('id',''+count);
newScriptElem.text='console.log(“耶!”);//@sourceURL=root/test'+count++'.js';
document.body.appendChild(newScriptElem);
};
添加脚本
实验让我相信:
从版本20.0开始,FF仍然不支持在其内置的web控制台中直接使用/@sourceURL
/@sourceURL
确实可以与FF中的Firebug插件一起工作,但并不完全如预期/希望的那样
A.它仅适用于eval
。这对我来说根本不起作用
像原始问题中那样编写节点脚本
B.错误将有行号和URL,您可以单击
查看代码行时出错。但是,console.log
没有
似乎受到影响,并且没有显示行号或URL
不建议在FF的web控制台内测试此功能。至少在某些时候,我得到的结果与直接用HTML进行测试不同
你不需要逃过双斜杠吗?为什么在您的原始脚本中它不被视为注释?因为它当然是在一个字符串中:)
<html>
<head>
<script type="text/javascript">
var count=0;
function addNewScriptToHead()
{
var newScriptElem;
var newScriptText;
newScriptElem = document.createElement('script');
newScriptElem.setAttribute('type', 'text/javascript');
newScriptElem.setAttribute('id', '' + count);
newScriptElem.text= 'console.log("Yay !");//@ sourceURL=root/test'+count++ +'.js';
document.body.appendChild(newScriptElem);
};
</script>
</head>
<body>
<button onclick="addNewScriptToHead()">add script</button><br><br>
</body>
</html>