在這邊以『Yahoo!』作為範例,單純擷取不分析
在分析別人網頁時常會遇到『Cross Domain』的問題,用Chrmoe開發者還會遇到『Access-Control-Allow-Origin』的問題
在此已經知道一些解決方式,不過這邊是參考『洪朝貴』老師的部落格『"資訊人權貴" 之家』所寫得『Cross Domain AJAX 抓網頁撈過界 以及如何整合兩個部落格的標籤』
提到有一個套件是由James Padolsey本人寫所的『xdomainajax』套件,我那時在找套件的時候發現老師貼的網址都已經失連了
由老師的連結才知道開發者已經將Github名稱從『jamespadolsey』改為『padolsey』,算是一段蠻有趣的事情
對他有興趣的人可以直接到他網站『JAMES PADOLSEY』觀看,他不只xdomainajax一個作品而已,蠻厲害的開發者
有稍微看一下xdomainajax內容,對方用YQL實現跨站擷取的功能
YQL是什麼?YQL是由Yahoo!提供的Yahoo! Query Language,可以用SQL的方式去查詢,也能跨越去查詢其他網頁
透過GET方式去取得到回饋的資料,透過data.responseText將取得資料設定到DIV TAG內
<!DOCTYPE HTML> <html lang="zh-tw"> <head> <meta charset="utf8"> <script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script> <script type="text/javascript" src="jquery.xdomainajax.js"></script> <script type="text/javascript"> $(function () { $.get("http://yahoo.com.tw", function(data){ document.getElementsByTagName("div")[0].innerHTML=data.responseText.toString(); }); }); </script> </head> <body> <div> 程式碼顯示區塊 </div> </body> </html>
參考資料:
http://user.frdm.info/ckhung/b/js/xdomain.php
http://james.padolsey.com/
https://github.com/padolsey
https://raw.github.com/padolsey/jQuery-Plugins/master/cross-domain-ajax/jquery.xdomainajax.js
http://www.w3schools.com/jsref/dom_obj_document.asp
http://developer.yahoo.com/yql/