2012-04-19 91 views
0

我想在PhoneGap應用程序中使用jquery進行屏幕抓屏。問題是,當我的目標HTML加載到當前的DOM,所以我可以使用選擇,它會嘗試執行JavaScript:在PhoneGap上使用jQuery屏幕抓取

 $(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

這感覺就像一個雞和蛋的問題。如果你剝離了所有的JavaScript,jQuery如何運行?如果您在腳本運行時將剝離部分放入,那麼尚未分析。這個問題根本不是微不足道的。 – 2012-04-19 22:40:27

回答

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