jQuery$.fn.whatever不再在live server上工作
我讨厌在没有代码的情况下发布问题,但如果我知道发布什么,我就会知道问题所在 我的所有jquery插件功能都已在live服务器上停止工作。 它们仍然在本地工作,所有外部javascript文件应该是相同的 我收到一条信息,jQuery$.fn.whatever不再在live server上工作,jquery,jquery-plugins,Jquery,Jquery Plugins,我讨厌在没有代码的情况下发布问题,但如果我知道发布什么,我就会知道问题所在 我的所有jquery插件功能都已在live服务器上停止工作。 它们仍然在本地工作,所有外部javascript文件应该是相同的 我收到一条信息,$(…)。任何不是函数的东西都在它们上面。我不确定是什么原因改变了这件事。。正在检测该文件,我没有做任何影响作用域的事情 有什么想法吗?因为这是一个相当烦人的问题,其他人以后肯定会遇到这个问题,下面是关于这个问题的原因和解决方案的更多细节 问题:我加载的内容包含,通过加载与之冲突
$(…)。任何不是函数的东西都在它们上面。我不确定是什么原因改变了这件事。。正在检测该文件,我没有做任何影响作用域的事情
有什么想法吗?因为这是一个相当烦人的问题,其他人以后肯定会遇到这个问题,下面是关于这个问题的原因和解决方案的更多细节
问题:我加载的内容包含
,通过加载与之冲突的javascript(jQuery)破坏了我的母版页。这使得我的自定义插件毫无用处
解决方案:只需将脚本
块渲染为对AJAX加载的内容无效即可。这是怎么做的
如何从AJAX加载的内容中删除
块:
我尝试了两种不同的方法,但最终证明这是最可靠的:
$.ajax(url,{
success: function(data){
data = data.replace(/<script(?:.*)>/gi,'<!--[Script Removed]>>>');
data = data.replace(/<\/script>/gi,'<<<[Script Removed]-->');
$('.faux-container').html(data);
}
});
$.ajax(url{
成功:功能(数据){
data=data.replace(//gi',);
$('.faux container').html(数据);
}
});
它将
块转换成无害的HTML注释,解决了我的问题。愚蠢的我。包括包含冲突脚本的AJAX加载内容。把我吓坏了。我想我最好删除那个脚本,因为它只是用于实际项目的视觉表示。