公告
  
喜讯:2024系统全面升级!现在所有资源免费下载!全部内容免费使用!
授权码获取请关注公众号“鸿盟创客”
查看详情

朕已阅

易支付-免签支付平台

网站所有链接自动变蓝

admin 千秋月 关注 管理组 论坛神话
发表于程序代码版块 v7
使用方法: 后台-实验室-嵌入相关-模板加载后嵌入:


<script type="text/javascript">/*让链接可点击*/var oHead1016 = document.getElementsByTagName('body').item(0);var clearLink, excludedTags, linkFilter, linkMixInit, linkPack, linkify, observePage, observer, setLink, urlPrefixes, url_regexp, xPath;

 

url_regexp = /((https?:\/\/|www\.)[\x21-\x7e]+[\w\/]|(\w[\w._-]+\.(com|cn|org|net|info|tv|cc|gov|edu))(\/[\x21-\x7e]*[\w\/])?|ed2k:\/\/[\x21-\x7e]+\|\/|thunder:\/\/[\x21-\x7e]+=)/gi;

 

urlPrefixes = ['http://', 'https://', 'ftp://', 'thunder://', 'ed2k://'];

 

clearLink = function (event) {

  var j, len, link, prefix, ref, ref1, url;

  link = (ref = event.originalTarget) != null ? ref : event.target;

  if (!(link != null && link.localName === "a" && ((ref1 = link.className) != null ? ref1.indexOf("textToLink") : void 0) !== -1)) {

    return;

  }

  url = link.getAttribute("href");

  //console.log url

  for (j = 0, len = urlPrefixes.length; j < len; j++) {

    prefix = urlPrefixes[j];

    if (url.indexOf(prefix) === 0) {

      return;

    }

  }

  return link.setAttribute("href", "http://" + url);

};

 

document.addEventListener("mouseover", clearLink);

 

setLink = function (candidate) {

  var ref, ref1, ref2, span, text;

  if (candidate == null || ((ref = candidate.parentNode) != null ? (ref1 = ref.className) != null ? typeof ref1.indexOf === "function" ? ref1.indexOf("textToLink") : void 0 : void 0 : void 0) !== -1 || candidate.nodeName === "#cdata-section") {

    return;

  }

  text = candidate.textContent.replace(url_regexp, '<a href="$1" target="_blank" class="textToLink">$1</a>');

  if (((ref2 = candidate.textContent) != null ? ref2.length : void 0) === text.length) {

    return;

  }

  span = document.createElement("span");

  span.innerHTML = text;

  return candidate.parentNode.replaceChild(span, candidate);

};

 

excludedTags = "a,svg,canvas,applet,input,button,area,pre,embed,frame,frameset,head,iframe,img,option,map,meta,noscript,object,script,style,textarea,code".split(",");

 

xPath = '//text()[not(ancestor::' + excludedTags.join(') and not(ancestor::') + ')]';

 

linkPack = function (result, start) {

  var i, j, k, ref, ref1, ref2, ref3, startTime;

  startTime = Date.now();

  while (start + 10000 < result.snapshotLength) {

    for (i = j = ref = start, ref1 = start + 10000; ref <= ref1 ? j <= ref1 : j >= ref1; i = ref <= ref1 ? ++j : --j) {

      setLink(result.snapshotItem(i));

    }

    start += 10000;

    if (Date.now() - startTime > 2500) {

      return;

    }

  }

  for (i = k = ref2 = start, ref3 = result.snapshotLength; ref2 <= ref3 ? k <= ref3 : k >= ref3; i = ref2 <= ref3 ? ++k : --k) {

    setLink(result.snapshotItem(i));

  }

};

 

linkify = function (node) {

  var result;

  result = document.evaluate(xPath, node, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

  return linkPack(result, 0);

};

 

linkFilter = function (node) {

  var j, len, tag;

  for (j = 0, len = excludedTags.length; j < len; j++) {

    tag = excludedTags[j];

    if (tag === node.parentNode.localName.toLowerCase()) {

      return NodeFilter.FILTER_REJECT;

    }

  }

  return NodeFilter.FILTER_ACCEPT;

};

 

observePage = function (root) {

  var tW;

  tW = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { //+ NodeFilter.SHOW_ELEMENT,

    acceptNode: linkFilter

  }, false);

  while (tW.nextNode()) {

    setLink(tW.currentNode);

  }

};

 

observer = new window.MutationObserver(function (mutations) {

  var Node, j, k, len, len1, mutation, ref;

  for (j = 0, len = mutations.length; j < len; j++) {

    mutation = mutations[j];

    if (mutation.type === "childList") {

      ref = mutation.addedNodes;

      for (k = 0, len1 = ref.length; k < len1; k++) {

        Node = ref[k];

        observePage(Node);

      }

    }

  }

});

 

linkMixInit = function () {

  if (window !== window.top || window.document.title === "") {

    return;

  }

  //console.time('a')

  linkify(document.body);

  //console.timeEnd('a')

  return observer.observe(document.body, {

    childList: true,

    subtree: true

  });

};

 

setTimeout(linkMixInit, 100);</script>

本文章最后由 admin2023-09-25 11:36 编辑
评论列表 评论
发布评论

评论: 网站所有链接自动变蓝

600G防护精品服务器 免备案高防云服务器



600G防护精品服务器 免备案高防云服务器 可以免费发外链的论坛 百度万词霸屏


免责声明
本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。 不得用于商业或非法用途,否则,一切责任由该用户承担 !

请求资源或报告无效资源,请点击[反馈中心]


侵权删除请致信 E-Mail:chengfengad@gmail.com
已有0次打赏
(0) 分享
分享
取消