修改通过jQuery.ajax加载的脚本()

问题描述:

是否可以将id添加到通过jQuery.ajax();加载的脚本的<script>标记中?修改通过jQuery.ajax加载的脚本()

这是我如何加载脚本:

$.ajax({ 
    type: "POST", 
    url: 'js/script.js', 
    dataType: 'script', 
    success: function() { 

     // do something 
    } 
}); 

我需要的是能够识别脚本为未来的互动。

我知道我可以可能使用dataType: 'text',然后我自己<script></script>标签内有id添加内容,自己将其添加到DOM ......但如果我能避免这种情况,我会很高兴: )

在此先感谢。

+1

脚本加载并运行后,未经修改的文本内容(或将其从DOM中删除)不会影响脚本。你想做什么? – 2014-10-27 17:53:28

+0

不知道我说得对。我想要做的是稍后重新载入相同的脚本(相同的函数等),但JS本身被一些服务器端脚本修改。基本上我想在再次添加它之前从DOM中删除它。 – MrUpsidown 2014-10-27 17:56:19

+0

如果有人可以确认...... Thx! – MrUpsidown 2014-10-27 23:18:06

使用此技术,脚本不会添加到DOM。

dataType "script": Evaluates the response as JavaScript and returns it as plain text.

评估一次,从延迟加载脚本函数和变量将继续提供给浏览器:相反,随着documentation说,返回的JavaScript进行评估。因此,清理代码是的唯一途径从窗口范围删除功能(S):

delete window.myFunctionName; 

一旦完成,调用函数或试图访问任何定义的变量它将返回:

ReferenceError: myFunctionName is not defined

ReferenceError: variableName is not defined