2012-10-26 77 views
1

我最近在我的網站上的幾個頁面中添加了以下一行Javascript代碼,以便從CSS類爲「Category-H1」的H1元素中拉出標題標記。設置說明meta標記

document.title = document.getElementsByClassName("Category-H1")[0].innerHTML; 

我很好奇,我可以做類似使用JS從我的H2元素的描述標籤拉的東西嗎?

+0

瞭解的DOM的基礎知識:'document.getElementsByTagName( 'H2')[0] .innerHTML' –

+0

你的問題標題說, 「設置」,但你似乎是詢問如何 「搞定」 - 你能澄清你想要做什麼嗎?請顯示相關的html。 – nnnnnn

+0

他想設置描述元標記的內容,我相信問題是有效的。 –

回答

6

這是可行的,但我不知道它是否會達到你希望的東西。大多數人使用元描述標籤來實現搜索引擎優化,但是如果在頁面加載後通過JavaScript設置了描述,許多(大多數?)搜索引擎將無法識別該描述。如果你想這樣做:

var meta=document.getElementsByTagName("meta"); 
for (var i=0; i<meta.length; i++) { 
    if (meta[i].name.toLowerCase()=="description") { 
     meta[i].content=document.getElementsByClassName("Category-H1")[0].innerHTML; 
    } 
} 

希望這有助於!


*坦率地說,我不會從 的發言經驗在這裏,只是常識。元信息是動態的沒有意義,所以即使一個蜘蛛足夠聰明地運行JavaScript,爲什麼它會在這樣做之後重新檢查元信息?

+0

你說得對。我知道這不是添加標題標籤的正確方法,但不幸的是,對於我來說,頁面是使用asp.net動態生成的,而生成頁面的模塊確實支持添加html內容和url關鍵字,但它不支持添加元標記。 –

+0

做了一些研究後,我發現這篇博客文章http://www.ifinity.com.au/2012/10/04/Changing_a_Page_Title_with_Javascript_to_update_a_Google_SERP_Entry標題標籤中的任何內容都比沒有好,對吧? –

+0

這工作。更新的說明顯示在螢火蟲。謝謝。 –

0

可以使用getAttribute()功能來做到這一點:

document.title = document.getElementsByClassName("Category-H1")[0].getAttribute("yourDescriptionMetaTag"); 
-1

我不認爲這會對SEO有好處。雖然它可能有效,但我不認爲蜘蛛會期待這些標籤是動態的。但是,如果SEO不是重點,這裏的另一個答案就是展示如何使用jQuery。

Javascript To Change Metadata/Metatags Dynamically