作爲個人項目,我希望構建一個Chrome擴展程序,該擴展程序將查找頁面上的所有主題標籤。我不太瞭解JS或jQuery,所以我想知道我該如何處理這個問題?Chrome瀏覽器擴展,可檢測第
編輯: Chrome擴展插件在頁面加載後注入javascript,但我需要掃描整個文檔以獲取hashtag。它正在瀏覽整個文件,我不知道該怎麼做。
謝謝!
作爲個人項目,我希望構建一個Chrome擴展程序,該擴展程序將查找頁面上的所有主題標籤。我不太瞭解JS或jQuery,所以我想知道我該如何處理這個問題?Chrome瀏覽器擴展,可檢測第
編輯: Chrome擴展插件在頁面加載後注入javascript,但我需要掃描整個文檔以獲取hashtag。它正在瀏覽整個文件,我不知道該怎麼做。
謝謝!
如果你的意思是簡單地錨標籤與在它有一個#,然後A HREF:
var aTags = document.getElementsByTagName("a");
for(var index = 0; index < aTags.length; index++){
if(aTags[index].href.indexOf("#") != -1){
alert("found one");
}
}
或者,如果你想要更多的東西一般情況下,返回整個網頁的一種方法很簡單:
document.body.innerHTML //A string containing all the code/text inside the body of the webpage.
然後你可以做一些indexOf或正則表達式的搜索/替換,具體取決於你想要做什麼。
但是,如果你知道你正在尋找的hashtag總是在一些容器像錨或甚至只是一個具有特定類的div,那麼我會去,而不是整個頁面的工作。這裏有一個解析網頁的有用方法列表:
document.getElementsByTagName("a"); //already mentioned
document.getElementsById("id");
document.getElementsByName("name");
//and a custom function to get elements by class name(I did not write this)
function getElementsByClass(searchClass, domNode, tagName)
{
if (domNode == null) domNode = document;
if (tagName == null) tagName = '*';
var el = new Array();
var tags = domNode.getElementsByTagName(tagName);
var tcl = " "+searchClass+" ";
for(i=0,j=0; i<tags.length; i++)
{
var test = " " + tags[i].className + " ";
if (test.indexOf(tcl) != -1)
{
el[j++] = tags[i];
}
}
return el;
}
謝謝。我不知道document.body.innerHTML。 – DavidA 2011-05-22 15:40:58
你的意思是帶有'#'的鏈接標籤嗎? – 2011-05-22 15:16:32
是的,帶#的標籤。然而,我面臨的挑戰是查看整個文檔。 – DavidA 2011-05-22 15:22:26
瀏覽器是推特! – Hogan 2011-05-22 15:23:02