作为个人项目,我希望构建一个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