使用PhoneGap上的jQuery进行屏幕抓取

时间:2012-04-19 22:16:25

标签: javascript jquery cordova

我正在尝试使用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标签?

1 个答案:

答案 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];
    });
});