Popular Posts

Tags

工商服務


讓網頁的「外部超連結」自動開啟在新視窗

在編輯網頁時,如果要讓某個超連結(Link)開啟在新的瀏覽器視窗,我們可以在超連結加上 href=”_blank” 屬性,但如果超連結很多,要一個一個加上去畢竟麻煩,尤其是像 Blogger 這樣的線上編輯介面,以下的程式碼可以幫你把網頁內所有針對 “外部” 的超連結自動設為在新視窗開啟。

安裝步驟

  1. 將下列程式碼加到網頁的 <head> 區段:
    <script>
    function parseLink(){
      var tagA = document.getElementsByTagName('a');
      re=new RegExp("^(http://"+document.domain+")|(javascript:)","i");
      for(var i=0; i<tagA.length; i++){
        if(!tagA[i].href.match(re)){tagA[i].target='_blank'};
      }
    }
    </script>
  2. 在 <body> 標籤內的 onload 事件加入:
    parseLink();


8 Responses to “讓網頁的「外部超連結」自動開啟在新視窗”


  1. Base Tag 是讓 "所有的" 超連結都開啟在新視窗,上面的程式是讓 "本站以外" 的超連結自動開啟在新視窗,站內的超連結還是開啟在原視窗。


  2. Using Google Chrome Google Chrome 5.0.375.70 on Windows Windows 7

    你好
    請問一下
    第二段的parseLink();
    是要加在ONLOAD的哪邊呢? 不好意思我試了很久不行才來詢問的…

    感謝

    下面是我BLOG的程式碼
    ——————————————————————————————–
    google.annotations.createAll();
    google.annotations.fetch();
    }
    google.setOnLoadCallback(initialize);

    ———————————————————————————————


  3. Using Mozilla Firefox Mozilla Firefox 3.5.9 on Windows Windows Vista

    To 阿丹:
    找找看樣板裡有沒有 "<body>" 這標籤,改成:
    <body onload="parseLink()">


  4. Using Mozilla Firefox Mozilla Firefox 3.6.7 on Windows Windows XP

    你好,我想請問一下,function的程式碼中有需要修改的地方嗎?

    因為我照著修改還是會在原本的頁面開啟連結,還是說是因為我的網頁是導入的頁面,所以不可以用此方法呢?


  5. Using Google Chrome Google Chrome 7.0.517.41 on Windows Windows XP

    我們無法剖析您的範本,因為它的結構不完整。 請確定所有的 XML 元素均已正確關閉。
    XML 錯誤訊息: Element type "tagA.length" must be followed by either attribute specifications, ">" or "/>".
    好像是判讀小於的問題…奇怪…


  6. Using Google Chrome Google Chrome 7.0.517.41 on Windows Windows XP

    找到解答了 用字符i<代替<


  1. 1 Trackback(s)

  2. 如何讓網頁裡的連結自動在新視窗開啟 | 冷光

Post a Comment



  • 彙整

  • 分類

  • 其它

Content

我們解決了什麼問題?我們創造了什麼價值?