var getLinks = function() {
"use strict";
var a = document.getElementsByTagName("a"),
b = a.length,
c = 0,
d = [],
e = "",
f = location.href;
f = f.substring(0, f.lastIndexOf("/"));
for (c = 0; c < b; c += 1) {
e = a[c].getAttribute("href");
if (typeof e === "string" && e.length > 4) {
if (e.charAt(0) === "/" || e.charAt(0) === "?") {
e = f + e;
}
d.push(e);
}
}
return d.join("\n") + "\n" + d.length + " total links";
},
myLinks = getLinks(); //myLinks variable will contain the desired output.
//To output to the console just replace the line with 'return' with this code:
//console.log(d.join("\n") + "\n" + d.length + " total links");
運行該代碼在列表中,在其自己的行每一個結果返回給定的網頁上的所有超鏈接的列表。
編輯:我現在將相對鏈接轉換爲絕對URI。
您是否試圖將實際的網址存儲在那裏?### number? – 2012-07-30 23:33:20
您是否忘記了StackOverflow可以識別沒有'[]'的URL? AFAIR,它使用像Reddit使用的相同的庫。只需使用它來進行URL識別功能即可。至於鏈接式行爲元素,可以通過'SPAN'元素,CSS規則和'ONCLICK'屬性輕鬆完成。 – Jay 2012-07-30 23:40:37