我正在制作一些链接诱饵,它基本上是一个外部托管的.js文件,人们可以放在他们的网站上。我想要一个随附的html链接以配合小部件,但我希望小部件检测链接是否存在。即。
<script src="http://domain.com/foo.js"></script><br />
by <a href="http://domain.com">My Site</a> <-- detect this is here
问题是我不知道我的小部件将放在哪些网站上。
任何想法?
答案 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来解释它。