0

我有用于临时存储网页代码的 div,但是,该页面包含 javascript,我应该怎么做才能阻止这些 javascript,以便我的程序不会被中断?我使用下面的代码加载

$.ajax({
type:'GET',
dataType:'html',
cache:false,
url:file,
success:function(html){
     ...
     ...
     $('#temp').html(html)
}
});
4

2 回答 2

1

.html(string)函数将使用innerHTML评估所有脚本。您可以.text(string)改为临时保存您的 HTML 内容。

$('#temp').text(html);

然后稍后检索它并根据需要执行它

$('#element').html($('#temp').text());

但是,如果您只想摆脱所有<script>标签,请使用简单的正则表达式替换。

**更新**

StackOverflow已经有了一些关于删除<script>字符串中标签的答案。

于 2012-08-07T04:14:44.397 回答
-1

您可能只需要使您的 ajax 请求成为同步请求,但您的问题有点不清楚,而且很可能是不可能的。

http://api.jquery.com/jQuery.ajax/

让我澄清一下,因为我被否决了:如果您的脚本在页面中的其他代码段之前运行,您可以简单地删除脚本标签,但是我不认为这是一个可以接受的答案,因为它可能会导致您的页面部分依赖这些脚本停止运作。

如果脚本已经在运行,那么删除脚本标签可能还不够,或者可能会产生错误,从而导致脚本无法运行。

你需要提供一个更好的例子来说明你正在做什么才能得到一个明确的答案。

于 2012-08-07T04:15:32.363 回答