2011-10-06 32 views
0

問題概述從通過XMLHTTPRequest加載的網頁中提取URL的最佳方式?

  • 我有一個動態生成的網頁,X,其中包括搜索結果的鏈接到網頁,Y1Y2Y3
  • Y1包含資源URL R1Y2包含資源URL R2,依此類推。
  • 我想,用來動態增強X頁面鏈接到資源R1R2

可能的解決方案

我使用JavaScript和XMLHttpRequest來檢索HTML目前的思維從網頁Y1,Y2等,然後使用正則表達式來提取URL

Y1Y2等在每個30-100KB HTML的區域中。

這聽起來像是一個很好的計劃嗎?或者我會更好地檢索每個JSON格式的網頁,並從那裏提取資源的URL?如果HTML是要走的路,你有沒有建議優化/捷徑搜索30-100 KB的文本?

回答

1

你不想使用正則表達式來提取網址。我建議使用jQuery來執行AJAX請求,然後使用jQuery從服務器返回的HTML中解析和過濾URL。

jQuery.ajax({ 
    url: "http://my.url.here", 
    dataType: "html"; 
    ... 
    success: function(data) { 
     jQuery("a", data).each(function() { 
      var $link = jQuery(this); 
      ... 
      ... 
     }); 
    } 
    ... 
}); 

如果jQuery是不是一種選擇,你可以當你得到你的反應回來做這樣的事情:

var html = XHR.responseText; 
var div = document.createElement("div"); 
div.innerHTML = html; 

//you can now search for nodes inside your div. 
//The following gives you all the anchor tags 
div.getElementsByTagName('a'); 
... 
+0

不幸的是,jQuery是不是一種選擇。但是,我喜歡替代品的聲音 - 歡呼聲! –

相關問題