php – 使用jQuery .load剥离脚本

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 使用jQuery .load剥离脚本脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我不认为这个问题曾经提出过,至少不是我需要回答的方式.我正在使用jquery的.load函数.加载页面片段时遇到问题.

使用类似的东西时:

$('#content').load('loadtest.htML');

loadTest.html上的所有脚本加载都很好.但是,在加载页面片段时,如下所示:

$('#content').load('loadTest.html #content');

在更新DOM之前删除脚本

这在http://api.jquery.com/load/中有明确记载,其中说:

注意:使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前将内容传递给.html().这将在丢弃之前执行脚本块.但是,如果使用附加到URL的选择器表达式调用.load(),则在更新DOM之前会删除脚本,这就是它们永远不会被执行的原因.两种情况的例子如下:

知道我可以在外部加载可以在任何地方使用的脚本,但问题是,我正在使用页面范围的ajax系统,其中所有内容都是动态加载的.所以我真的不觉得我将在外部文件中编写每个单独的javascript函数(此时为100).特别是因为其中一些javascript函数是从数据库加载的值中创建的,我无法在.js文件中考虑这些值.

在更新DOM之前,是否有任何解决方法可以删除脚本?我可以通过某种方式手动加载它们吗?任何微小的例子对我都有帮助.

像你说的. jQuery在仅执行该块之前提取该元素.

您可以修改输出以使服务器以您需要的格式返回数据,或者只编写您自己的格式.它将提取您需要的元素将它们输出到DOM.

未经测试,但它将沿着这条线.

$('#content').load('loadTest.html #content,script');

从内存这更有效..

$.get('loadTest.html',function(r){
    VAR els = $(r).find('#content,script');
    $('#content').html(els);
});

脚本宝典总结

以上是脚本宝典为你收集整理的php – 使用jQuery .load剥离脚本全部内容,希望文章能够帮你解决php – 使用jQuery .load剥离脚本所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。