Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么要从DOM中删除脚本标记?_Javascript_Html_Script Tag - Fatal编程技术网

Javascript 为什么要从DOM中删除脚本标记?

Javascript 为什么要从DOM中删除脚本标记?,javascript,html,script-tag,Javascript,Html,Script Tag,我刚刚发现一个框架在页面加载完成后从标记中删除脚本标记。我试着寻找一个“为什么”,但我发现很多人都在寻找一种不说为什么的方法 这是安全预防措施吗 是否有其他标签也应在之后移除 举个例子,我刚才问了一个问题: 这就是我最初发现这个的地方 我在那里得到一条评论,解释了为什么他会在他的案件中这样做 我不太了解angularjs,告诉他们为什么删除非模板的脚本可能是一个编码指南。我自己删除了它们,因为jquery曾经有一个意外的行为,结果是每次它们的祖先之一被包装时,脚本都会执行。该错误已修复,但为

我刚刚发现一个框架在页面加载完成后从标记中删除脚本标记。我试着寻找一个“为什么”,但我发现很多人都在寻找一种不说为什么的方法

这是安全预防措施吗

是否有其他标签也应在之后移除


举个例子,我刚才问了一个问题:

这就是我最初发现这个的地方

我在那里得到一条评论,解释了为什么他会在他的案件中这样做

我不太了解angularjs,告诉他们为什么删除非模板的脚本可能是一个编码指南。我自己删除了它们,因为jquery曾经有一个意外的行为,结果是每次它们的祖先之一被包装时,脚本都会执行。该错误已修复,但为了避免再次发生这种情况,我将其删除


例如,如果它是一条注释,那么人们可以将
script
标记注入页面,以执行页面不打算执行的其他行为。对于PHP,您可以在DOM完成加载[在客户端]后使用?我能想到的唯一原因是改变显示/内容,或者尝试“隐藏”一些东西。删除
元素在很大程度上是无用的,因为在将其添加到DOM中时,内容已经过评估。脚本的任何副作用(包括添加全局属性/函数)都已经发生,删除
元素不会“撤消”这样的操作。@Wildhoney,但到那时,在引擎使用它之后,它不是太晚了吗?脚本元素通常会被删除(添加后)动态是指当它们专门用于注入数据时——JSONP是一个例子,以及允许元素处理的“AJAX-HTML更新”。我想这取决于
脚本
标记的删除方式。如果它是一个AJAX调用,并且标记在附加到DOM之前被剥离,那么这是有意义的,否则它是徒劳的,只能达到美观的目的。