.js文件中的Javascript,检测父html中链接的存在

时间:2011-10-07 08:32:05

标签: javascript

我正在制作一些链接诱饵,它基本上是一个外部托管的.js文件,人们可以放在他们的网站上。我想要一个随附的html链接以配合小部件,但我希望小部件检测链接是否存在。即。

&lt;script src="http://domain.com/foo.js">&lt;/script><br />
by &lt;a href="http://domain.com">My Site&lt;/a> &lt;-- detect this is here

问题是我不知道我的小部件将放在哪些网站上。

任何想法?

2 个答案:

答案 0 :(得分:0)

var l = document.links, myLinkTest = false;
var linkcount = l.length;
while(linkcount > 0 && !myLinkTest) {
  if(l[linkcount-1].href == "http://domain.com"){myLinkTest = true;}
  linkcount --;
}
var widget = function(){
  if(myLinkTest){
    //do stuff
  }
}();

测试页面上的所有链接,如果找到了链接,则只运行脚本功能?

答案 1 :(得分:0)

您可以查找所有锚点元素并验证具有该href的锚点是否存在,或验证其他标准。

var isMyLinkPresent = function () {
    var anchors = document.getElementsByTagName('a');
    for (i = 0; i < anchors.length; i++) {
        if(anchors[i].attr('href') === "http://domain.com") {
            return true;
        }
    };
    return false;
}
//in case you want to notify you own server of the presence, this will send a request to your server for picking up which site actually has the link
(function () {
    if (isMyLinkPresent()) {
        var script = document.createElement('script');
        script.attr('src', 'http://domain.com/tellmewhichsitehasit?site=' + window.location.host)
        document.head.appenChild(script);
    }
})();

或者你可以自己使用javascript链接,但是你必须有一些网站管理员将使用的api。在脚本的'src'属性中你可以添加参数,然后你可以在生成javascript时选择它或者通过查看src来解释它。