2016-01-06 32 views
-4

的JavaScript專家,任何使用腳本的Javascript GURU?如果錨改變重定向頁面

我使用的鏈接在自己創建的模板......當你看到下面的那些:

<a href='http://www.allbloggertricks.com'>Blogging Tips</a> 

不,我想如果改變錨文本博客提示到任何其他頁面應該重定向到example.com。

例如:如果鏈路變成了這個樣子:

<a href='http://www.allbloggertricks.com'>Awesome Tips</a> 

現在這一頁應該被重定向到example.com,因爲它的錨文本從「博客提示」改爲

「真棒提示「

+0

可能重複[重定向頁面如果錨文本不匹配](http://stackoverflow.com/questions/34642898/redirect-the-page-if-anchor-text-is-not-match) – ochi

回答

0

不確定是否希望頁面自動重定向或只是動態更改URL。當你使用'重定向'這個詞時,我會選擇第一個。一旦你的頁面加載後運行這樣的東西。

var anchorTags = document.getElementsByTagName("a"); 
var len = anchorTags.length; 
while (len--) { 
    var anchor = anchorTags[len]; 
    if (anchor.textContent === "Awesome Tips") { 
     anchor.href = "http://example.com/"; 
     anchor.click(); 
    } 
} 

希望有所幫助。 :)


編輯:繼下面的評論。

如果我理解正確,您需要確定具體的錨定標記,然後檢查它的文本是否爲「博客提示」。要做的第一件事就是給你的目標錨標籤的唯一標識(ID)...

<a href="http://..etc.." id="the_link">Blogging Tips</a> 

現在你可以很容易地找到它...

var theLink = document.getElementById('the_link'); 

然後,您可以做一個檢查類似上面的建議,但這次看到如果文本沒有「博客提示」 ......

if (theLink.textContent !== "Blogging Tips") { 
    // .... do something ... 
} 

如果你想重定向頁面,以最簡單的辦法是使用window.location.assignMore on this at MDN)。

您只能在頁面加載完成後才能進行此項檢查,因此您需要將其封裝在window.onload函數中,或者將其放入一個可以在頁面加載後調用的函數中(More on this at MDN)。假設第一個選項時,JavaScript現在看起來是這樣......

window.onload = function() { 
    var theLink = document.getElementById("the_link"); 
    if (theLink.textContent !== "Blogging Tips") { 
    window.location.assign("http://example.com/"); 
    } 
}; 

但是,如果您的模板用戶刪除或更改錨標籤的ID,或者改變你的JavaScript有一點你可以做些什麼。

希望能有所幫助。 :)

+0

h @BrianPeacock這不是我想要的....聽我創建模板,並把我的鏈接放在這一個:Blogging Tips 在botoom,現在當一些用戶下載模板並上傳到他們的網站時,他們只更改錨文本「博客提示」現在如何添加腳本,如果他們改變錨文本「博客技巧」的任何其他頁面應該重定向到example.com –

+0

或期待這個職位:http://stackoverflow.com/questions/34642898/redirect-the-page-if-anchor-text-是不匹配的更好的理解..你也分享在這篇文章中的代碼。 –

+0

@Jun Rung我根據你的評論更新了我的答案。 –