2012-01-22 51 views
2

我正在構建一個基於社交媒體的新聞網站,並且要共享元素(Twitter,Facebook等),頁面的價值必須反映它的「標題」(例如,當頁面在線共享時,標題應該是「人咬狗」,而不是「我的新聞網站」)。使用DIV的內容作爲HTML頁面的標題?

我試過多個PHP和jQuery解決方案,但似乎沒有任何工作。雖然有一個複雜的問題。該網站的內容是通過Blogger提供的RSS提供的,我使用jQuery解析「標題」RSS並將其顯示在頁面上。由於「標題」內容是在頁面加載時動態生成的,這是否會導致問題?

如果是這樣,有沒有辦法使用相同的基於RSS的方法來更改值?

下面是我使用的聚集和顯示RSS「標題」飼料代碼...

<script type="text/javascript"> 

     jQuery(function($) { 
    $('#headline').rssfeed('http://cjfoote.blogspot.com/feeds/posts/default?alt=rss', { 
     limit: 1 
    }); 
}); 

</script> 

回答

1

基本上你是問如何使用jQuery改變頁面的標題: jQuery: how to change title of document during .ready()?

<script type="text/javascript"> 
     $(document).ready(function() { 
     document.title = getHeadlineFromFeed(); 
     }); 

     function getHeadlineFromFeed() { 
      // your logic for retrieving the rss feed 
     } 
    </script> 
+0

通過的「邏輯」,你的意思是我用聚合RSS源入「標題」 DIV的代碼?這是代碼: <腳本類型= 「文本/ JavaScript的」> \t jQuery的(函數($){ \t $( '#headline').rssfeed('http://cjfoote.blogspot.com/feeds/posts/default?alt = rss',{ \t \t limit:1 \t}); }); –

+0

是的,您需要從該元素中獲取標題。或許像document.title = $(「#headline」)。text() – Jason

+0

我試過這個: 但它沒有奏效。我認爲既然「rssfeed」部分已經包含在「標題」聚合器代碼中,我不需要在新的標題代碼中定義函數? –

-1

爲什麼不使用普通的舊JavaScript來設置標題?

document.title = $('#headline').html(); 

它可以設置爲您的#headline元素內容的內容。

+0

你實際上使用普通的javascript和jQuery:o) –

+0

確實,這主要是爲了演示他仍然可以混合東西:) – kfuglsang

+0

我在@Madmartigan評論我的答案的同時編輯了我的答案。最初,我忘記了「.html()」。 – kfuglsang

0

從你的問題來看,這聽起來像是在某個時刻,你想要在JavaScript變量中顯示標題。如果是的話,你可以將其賦值給document.title設置頁面標題:

document.title = varname; 

Live example

2

記住:

如果你使用JS來改變標題searchrobot無法讀取新標題。所以它不影響你的搜索引擎優化。

如果您使用PHP更改標題,它會對您的搜索引擎優化產生積極影響。


如果你想使用PHP,尋找simpleXML閱讀RSS文件,然後簡單地echo正確的標題。

+0

這聽起來像是正確的方法,但我不知道如何使用XML。我嘗試了幾種不同的PHP回顯方法,並嘗試回顯「標題」DIV的內容,但由於DIV在技術上是空的,因此它不起作用。 –

0

只需將document的標題屬性設置爲您希望顯示爲標題的任何值即可。

document.title = "new title";

相關問題