用javascript來控制 連結的target 屬性的程式碼_經驗交流
在HTML 4.0 Strict和XHTML 1.0 STRICT裡不允許在標籤裡使用target屬性,這是一件令網頁設計者懊惱的事.在過渡的規範裡還是允許使用的.但通過一定的方法,我們可以解決這個問題.
HTMl4.0規格裡拿掉了target屬性.但它增加了另一個屬性:rel.這個屬性是用來指定包含連結的文件和所連結文件之間的關係的.規範裡定義了其屬性值(如:next,previous,chapter,section),在這些屬性里大多數是用來定義一個大文檔裡各個小部分之間的關係的.事實上.規範裡允許開發人員自由的使用非標準屬性值做特定的運用.
在這裡,我們採用一個自定義值external用於rel屬性來標記一個鏈接,用來新開一個窗口.
不符合最新Web標準的連結程式碼:
external link
運用rel屬性:
external link
現在我們建立了一個符合Web標準的新開視窗的連結,我們也需要運用JavaScript是其實現新開視窗.腳本要實現的工作是當網頁載入時,找到文件裡的所有那些我們定義為rel="external"的超連結.
首先我們要判斷瀏覽器.
if (!document.getElementsByTagName) return ;
getElementsByTagName是DOM1標準裡一個容易使用的方法,且它被現在的大多數瀏覽器所支持,因為一些舊的瀏覽器如Netscape 4和IE4不支持DOM1,所以我們必須通過判定這一方法是否存在來排除這些舊版的瀏覽器.
下一步,我們透過getElementsByTagName方法取得文件裡所有的標籤:
var anchors = document.getElementsByTagName("a"); anchors被賦值為包含各個標籤的陣列,現在我們必須遍歷各個標籤並且修改它:
for (var i=0; i var anchor = anchors;
}
找到要實作新開視窗的標籤
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external& anchor.getAttribute("rel") == "external" )
接下來.建立屬性值target並賦值"_target":
anchor.target = "_blank";
完整的程式碼:
函數 externalLinks() {
if (!) turn;
var anchors = document.getElementsByTagName("a");
for (var i=0; i
if (anchor.getAttribute("href") && anchor.getAttribute害 anchor.target = "_blank";
}
}
window.onload = externalLinks;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

前幾天我只是和埃里克·邁耶(Eric Meyer)聊天,我想起了我成長時代的埃里克·邁耶(Eric Meyer)的故事。我寫了一篇有關CSS特異性的博客文章,以及

文章討論了使用CSS來獲得陰影和漸變等文本效果,優化它們以進行性能並增強用戶體驗。它還列出了初學者的資源。(159個字符)
