2012-02-05 29 views
0

我試圖通過使用url來提取外部網站的頁面標題。使用javascript提取頁面標題

您知道「document.title」如何返回JS正在運行的頁面的標題嗎?我想知道如果我能說「'http://google.com'.title」(不起作用)或類似的東西來獲得另一個頁面的標題。

更新: 我做了一些搜索,顯然這可以用JQuery來完成。見http://www.google.com/search?q=jquery+extract+page+title。如果我理解正確的話,那麼JQuery就是javascript的擴展,它支持我在做的事情。那麼有人可以發佈可以實現這一目標的JQuery代碼?

這是基本的想法:有一個輸入框標有「url」。和一個按鈕標有「轉換爲頁面標題」和意圖是輸入框的值將變爲由用戶給定的URL的標題(他們點擊該按鈕後)

function getTitle(url) {

var title = [CODE HERE]; 
    return title; 

}

謝謝!

+0

我把你的問題錯了..我只看過標題...這個鏈接將某處幫助你... HTTP:/ /stackoverflow.com/questions/7126549/reading-text-file-from-external-folder-via-xml-path-name-google-maps-api – 2012-02-05 06:53:32

+0

感謝fahim。我在一個問題中看到了一個想法,這個問題可能有幫助。請參閱下面的 – 2012-02-05 08:13:56

回答

0

我認爲你正在尋找$阿賈克斯,因爲這是一個跨域請求,這可以從使用JS調用YQL來完成:

http://usejquery.com/posts/the-jquery-cross-domain-ajax-guide

編輯

好吧,我終於得到了一個工作示例: http://jsfiddle.net/zXVcy/

編輯

下面是如何修復xdomain.js script標籤的問題:

if (_success) { 
    var dataString = ""; 
    try { 
    dataString = data.results[0].replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, ''); 
    } 
    catch { 
    dataString = data.results[0]; 

} 
    // Fake XHR callback. 
    _success.call(this, { 
    responseText: dataString 
    }, 'success'); 
     } 
    } 
+0

如果你打算使用這個,你需要得到xdomainajax.js文件。我不會依賴小提琴中的實際代碼。 – 2012-02-05 09:02:46

+0

謝謝Mikey!我會嘗試去適應它! – 2012-02-06 00:28:04

+0

好吧,米奇。我成功地將它應用到了我的代碼中,但有一個小問題,我希望你可以點亮一些。這是我的代碼的基本思想:http://jsfiddle.net/C47Gn/1/。如果您將http://www.google.com或任何其他網址放入輸入框並點擊「轉換」,它就會起作用。一個不起作用的域名是http://www.nytimes.com。嘗試將http://www.nytimes.com/2012/02/06/sports/football/super-bowl-resilient-giants-edge-patriots-to-win-super-bowl-xlvi.html放入框中,不起作用。這裏有什麼問題? – 2012-02-06 08:14:10

1

這不可能通過Javascript。您必須使用服務器腳本來實現此目的。

+0

然後可以JQuery做到這一點?我只是看着[這個問題](http://stackoverflow.com/questions/1981815/jquery-read-a-text-file)(見T. Stone的第一個答案),它似乎是沿着我在找什麼。但是,我不知道JQuery,代碼看起來像是發現H2標籤?我只需要將'h2'改爲'title'? – 2012-02-05 08:05:34

+0

另外OP(在我剛纔鏈接到的問題上)說這個文件太大了,有人建議「用一系列(或循環)加載它」。有人可以幫我解決這個問題嗎?我不確定你會怎樣把它分解成一個循環。 |||還有一個問題:該問題中的JQuery代碼是否適用於外部網站(我不擁有的網站,例如http://www.google.com)? – 2012-02-05 08:12:51

+0

@AnthonyNewman即使在jQuery的幫助下,您也無法從另一個域獲得頁面的標題。您可以只使用服務器端腳本來請求該頁面。 – Cheery 2012-02-05 08:31:44