我正在尝试使用PhoneGap应用程序中的jquery进行屏幕刮擦。问题是当我将目标HTML加载到当前dom中以便我可以使用选择器时,它会尝试执行javascript:
$(function() {
$.get('http://www.bloomberg.com/quote/csfb:ind', function(data) {
var elements = $("<div>").html(data)[0].getElementsByClassName("price")[0];
});
});
get工作正常并且引入了html,但是一旦开始加载,它就会尝试执行javascript。
有没有删除所有的javascript标签?
答案 0 :(得分:1)
这似乎是最可靠的方式,因为您自己提出的任何解析都可能无法在所有情况下都起作用。
Removing all script tags from html with JS Regular Expression
如果我从那个答案中复制stripScripts函数:
function stripScripts(s) {
var div = document.createElement('div');
div.innerHTML = s;
var scripts = div.getElementsByTagName('script');
var i = scripts.length;
while (i--) {
scripts[i].parentNode.removeChild(scripts[i]);
}
return div.innerHTML;
}
$(function () {
$.get('http://www.bloomberg.com/quote/csfb:ind', function (data) {
var elements = $("<div>").html(stripScripts(data))[0].getElementsByClassName("price")[0];
});
});