所以我有这个功能可以从页面中去除脚本,但是一些多行的脚本仍然显示出来。有没有办法从加载的页面中删除所有脚本。

 function filterData(data){

// filter all the nasties out
// no body tags
data = data.replace(/<?\/body[^>]*>/g,'');
// no linebreaks
data = data.replace(/[\r|\n]+/g,'');
// no comments
data = data.replace(/<--[\S\s]*?-->/g,'');
// no noscript blocks
data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g,'');
// no script blocks
data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g,'');
// no self closing scripts
data = data.replace(/<script.*\/>/,'');

// [... add as needed ...]
return data;
  }

这是 html 中出现的脚本示例
<script type="text/javascript">
var ccKeywords="keyword=";
if (typeof(ccauds) != 'undefined')
{
 for (var cci = 0; cci < ccauds.Profile.Audiences.Audience.length; cci++)
{
  if (cci > 0) ccKeywords += "&keyword="; ccKeywords +=     ccauds.Profile.Audiences.Audience[cci].abbr;
}
}
</script>

最佳答案

结帐 Sugar.js - http://sugarjs.com/

它有一个 removeTags 方法可以做你想做的事

http://sugarjs.com/api/String/removeTags

关于javascript - 从 html 数据中删除脚本...使用 javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11000222/

10-11 03:35
查看更多