如何从网页中删除一些JavaScript?

安德鲁

随着jquery.load()我从也包含javascript函数的文件中将一些html加载到我的页面中。

稍后我尝试使用删除html和javascript,jquery.empty但似乎一旦浏览器解析了脚本,我将无法摆脱它,因此我正在寻找有关如何执行此操作的建议。

以下是测试源:

index.html

<head>
<script src="//code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script>
$(function(){
  $('#loadEmbScrpt').click(function(){
       $('#embDiv').load('http://maccyd10.hostoi.com/test.html');      
     });
   $('#remEmbScrpt').click(function(){
      $('#embDiv').empty();
   });
 });

<body>
<div id="embDiv"></div>
<div id="output"></div>
<input type="button" id="loadEmbScrpt" value="embed script into page"/>
<input type="button" id="remEmbScrpt" value="remove embedded script from page"/>
<input type="button" id="testButton" value="run embedded script test function"/>
</body>

test.html

<script>
$('#testButton').on('click',function(){
 $('#output').append("<p>test</p>");
});
</script>

这是上面操作的链接(由于XSS保护,我无法将其发布到jsfiddle)。

http://maccyd10.hostoi.com

达夫尼克维尔

玩这个http://jsfiddle.net/6eWRQ/

就像其他人提到的那样,DOM和Javascript VM是浏览器中的两个独立的系统。

DOM是浏览器要呈现的HTML文档的内部模型。它处理诸如HTML元素之类的HTML元素<script>及其在HTML文档中的位置。

Javascript VM处理javascript代码-它处理在<script>标记内运行或从外部js文件提取的任何Javascript代码

似乎一旦浏览器解析了脚本,我就无法摆脱它

当然可以<script>从DOM中删除该元素-但是在浏览器对其进行解析之后,这将对javascript VM产生零影响-因为该标签内的javascript代码已经被VM使用并执行了。一旦代码运行,就不能取消运行。

在示例jsfiddle的情况下,这更加清楚-删除<script>包含函数元素并不意味着一旦<script>VM中的代码已被执行,就不能再调用该函数VM具有自己的函数内部模型,执行后在DOM中对原始代码的更改与它无关。

<script>在这种情况下,使用javascript从DOM中删除包含元素实际上是没有意义的-这只是多余的。DOM呈现引擎没有用,因为它不是视觉元素,而javascript VM也没有用,因为它已经被处理了输入。

要执行您想要的操作,您应该删除#remEmbScrpt按钮,而使用以下命令撤消已加载脚本执行的绑定:

$('#testButton').off('click');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从javascript对象数组中删除一些属性

来自分类Dev

如何在python中删除一些连接的组件?

来自分类Dev

如何删除PHP中的一些数组键

来自分类Dev

如何从Xubuntu的会话列表中删除一些会话

来自分类Dev

如何从多维数组中删除一些重复的元素

来自分类Dev

上传前如何从Fineuploader中删除一些文件

来自分类Dev

如何从R公式中删除一些交互项

来自分类Dev

如何从python字典中删除一些值

来自分类Dev

如何从Xubuntu的会话列表中删除一些会话

来自分类Dev

如何删除PHP中的一些数组键

来自分类Dev

如何在python中删除一些连接的组件?

来自分类Dev

如何从R公式中删除一些交互项

来自分类Dev

如何从当前目录中删除一些空目录?

来自分类Dev

如何在HTML中删除一些TD边框

来自分类Dev

如何在摘录中删除一些Liquid标签?

来自分类Dev

如何从表中删除一些相似的行?

来自分类Dev

从代码中删除一些bbcode

来自分类Dev

从SQL中删除一些东西

来自分类Dev

从数组中删除一些元素

来自分类Dev

从数组中删除一些东西

来自分类Dev

如何在JavaScript中获得一些数学错误

来自分类Dev

如何在 WordPress (API) 中设置一些 JavaScript

来自分类Dev

当您单击网页中的选项时,如何从“ id”下移一些像素?

来自分类Dev

网页抓取时如何省略一些结果?

来自分类Dev

替换javascript中的一些数字

来自分类Dev

Javascript 中的一些奇怪的东西

来自分类Dev

如何在grunt-usemin编译期间删除一些JavaScript

来自分类Dev

如何在angular js ui Grid中的pdf导出中删除一些列

来自分类Dev

删除数组中的重复对象,但在javascript中继续添加一些属性

Related 相关文章

热门标签

归档