2014-12-08 72 views
0

我有同一頁(或錨標記)鏈接在一個單一的html文件。當用戶點擊這些鏈接時,他們會在新標籤頁中打開相同的html文檔。用新標題重新加載html頁面

這個新標籤怎麼能有一個新的文檔標題?

我的代碼下面的問題是,它重命名當前標籤的標題(不是剛剛打開的新標題)。第一次加載頁面時,我的頁面有一個默認標題。當然,所有後來加載的新頁面都將其設置爲標題。

<title>Default title</title> 
<a href=#relativeLink target='_blank' onclick="return runMyFunction();">click me</a> 

<script> 
    function runMyFunction() { 
     document.title="new title!" 
     return true; 
    } 
</script> 
+0

您對網址不完全一樣嗎?像index.html和一個新的窗口打開可能是index.html?q = 1,你可以在你的javascript中進行讀取以找到值q = 1解析1並根據該值改變標題。 – Khaltazar 2014-12-08 03:13:16

+0

是的,第一個標題將是「默認標題」,未來標題將類似於「文檔」或「我剛剛點擊過的頁面的新部分」 – ecoe 2014-12-13 03:09:58

回答

0

如果打開的新標籤頁是您製作的頁面,請在頁面加載時更改標題。您可以檢查推薦人。 如果新標籤是標題無法更改的外部頁面,則可以簡單地創建自己的頁面,該頁面顯示iframe中的外部頁面。

<title>My Title</title> 
<iframe src="/path/to/external" /> 
+0

麻煩是新標籤打開相同的頁面 - 它是一個相對的,相同的頁面鏈接。 – ecoe 2014-12-09 01:50:22

+0

那「麻煩」是怎麼回事?沒什麼區別。 – Collector 2014-12-09 05:12:57

+0

我已經將標題定義爲默認標題,那麼如何更改它?當頁面重新加載時,它使用相同的默認標題。 – ecoe 2014-12-13 03:07:32

1

有兩種方法來完成這個 1,傳遞標題作爲URL參數 2,保存所有冠軍,在一個陣列並通過職稱陣列選定的標題索引

<html> 
    <head> 
    <title>Default title</title> 
    </head> 
<body> 
    <a href="?newTitle=My new title" target="_blank" >newTitle equal to My title 1</a> 
    <a href="?newTitle=My new title 2" target="_blank" >newTitle equal to My title 2</a> 
    <a href="?newTitle=My new title3" target="_blank" >newTitle equal to My title 3</a> 
    <br /> 
    <a href="?tIdx=0" target="_blank" >tIdx equal to 0</a> 
    <a href="?tIdx=1" target="_blank" >tIdx equal to 1</a> 
    <a href="?tIdx=3" target="_blank" >tIdx equal to 2</a> 
    <script> 

     var titles = ["title 1", "title 2", "title 3" , "title 4"]; 


     function getUrlParameterValueByName(name) { 
      name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
      var regexS = "[\\?&]" + name + "=([^&#]*)"; 
      var regex = new RegExp(regexS); 
      var results = regex.exec(window.location.search); 
      if (results == null) 
       return ""; 
      else 
       return decodeURIComponent(results[1].replace(/\+/g, " ")); 
     } 

     var newTitleValue = getUrlParameterValueByName('newTitle'); 
     var titleIndex = getUrlParameterValueByName('tIdx'); 
     if (newTitleValue) 
      document.title = newTitleValue; 
     if (titleIndex) 
      document.title = titles[titleIndex]; 


    </script> 
</body> 
<html>