0

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タグを取り除く方法はありますか?

4

1 に答える 1

1

これは、自分で考えた解析がすべての場合に機能するとは限らないため、最も信頼できる方法のようです。

JS正規表現を使用してhtmlからすべてのスクリプトタグを削除する

その答えから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];
    });
});
于 2012-04-19T22:23:50.447 に答える