2013-04-05 47 views
1

我正在嘗試使用javascript動態創建鏈接,但主機url每次都預先添加到鏈接中。我如何阻止這種情況發生。我在js小提琴上創建了一個例子。創建的鏈接在www.google.com鏈接前加上「http://fiddle.jshell.net/mTgtr/show/」。使用javascript創建錨點href並且沒有鏈接中的主機url

http://jsfiddle.net/mTgtr/

var eventLink = "www.google.com"; 
var elEventBlock = document.createElement('div'); 
var elA = document.createElement('a'); 
elA.setAttribute('href', eventLink); 
elA.setAttribute('target', '_blank'); 
elA.innerHTML = "test"; 
document.getElementById("myDiv").appendChild(elA); 

回答

5

您應該預先與該協議的URL,如http://https://ftp://

+0

爲了進一步闡述:有兩種類型的鏈接的網頁上,絕對和相對的。任何不以協議開頭的鏈接(如http://或https://)將被視爲相對鏈接,瀏覽器將嘗試導航到該鏈接,就像它是包含在當前目錄中的目錄或文件一樣,即'http:// mysite.com/directory_containing_link/www.google.com'。要導航到其他網站,您必須包含該協議,以便瀏覽器知道將該鏈接視爲絕對。 – DiMono 2013-04-05 13:09:12

+0

@Grant謝謝,完美的作品!我可能應該已經知道,也許在某個時候已經這樣做了。 – Popo 2013-04-05 13:36:27

相關問題