0

javascript 函数必须搜索 html 网页中的特殊链接(版权网址)。如果它没有找到特殊的 url,则必须发出警报。“Div ID 检查”和“Div 长度检查”是不错的方法,但是可以直接控制链接(url)吗?

我已经知道这并不能保护链接。

JavaScript 文件示例:

if () {
//If function find the copyright links, then null - don't make anything:

}
else {
//If function doesn't find copyright links, then give an alert:
alert("Please protect original copyright links.");
}

html页面示例:

<html>
<head>
<script type='text/javascript' src='http:// ... file.js'></script>
</head>

<body>

  <!-- Start Copyrigt Area -->
  <div id="footer">
    <a href="http://example1.com">example1.com</a>
    <a href="http://example2.com">example2.com</a>
  </div>
  <!-- End Copyrigt Area -->

</body>
</html>

至于我为什么这样做,以下是我的理由:

我为特殊的博客社区网站制作了一些主题。有时,我们的主题用户会删除或更改页脚区域中的版权链接。博客社区网站不支持任何动态内容,如php,我们只能在一个页面中使用html和一些特殊的内容标签。另一方面,该站点不允许JS托管等。因此,由第三方托管服务提供商提供的JS文件。

我不想加密代码。所以我认为我们使用 JavaScript 函数检查链接。如果我们的链接被删除或更改,则用户必须收到警报。

也许,一些主题用户发现这些 javascript 函数并将它们删除并重新托管代码。但我想他们中的大多数人会什么都做不了。

4

3 回答 3

0
var allLinks = document.links;
for (var i=0; i<allLinks.length; i++) {
  if(allLinks[i].text=="&copy;"){
     //do something
  }
  else {
    //If function doesn't find copyright links, then give an alert:
    alert("Please protect original copyright links.");
  }
}
于 2012-11-28T06:29:09.060 回答
0

您可以通过getElementsByTagName获取所有文档链接:

var a = document.getElementsByTagName('a');
var noLinks = true;
for (var i=0, len=a.length; i<len; ++i) {
    var href = a[i].getAttribute('href');       
    if (href == "copylink1" || href == "copylink2") {
        noLinks = false;
        break;
    }
}

if (noLinks) {    
    alert('...')
}    
于 2012-11-28T06:30:51.460 回答
0

根据您的描述,我认为您应该同时检查链接和文本。假设您正在使用 JQuery:

​$().ready(function(){
    var copyrightLinks = $("a[href='your copyright url']");
    //check link and inner text
    if(copyrightLinks .length > 0 && copyrightLinks.text().indexOf("your copyright text")>=0){
        console.debug("has copy right");
    }else{
        alert("Please protect original copyright links.");
    }
});​
于 2012-11-28T06:38:31.133 回答