javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JS判断搜索引擎

用JS写一段判断搜索引擎来路并且屏蔽PC的跳转代码

投稿:mdxy-dxy

以下是用JS写的判断搜索引擎来路并屏蔽PC跳转的代码,需要的朋友可以参考下

代码中使用了两个函数 isSearchEngineReferrer() 和 isPcDevice() 来判断搜索引擎来路和PC设备,当满足条件时就会调用 blockPcRedirect() 函数来屏蔽PC跳转。最后在页面加载时调用这些函数。

// 判断是否为搜索引擎来路
function isSearchEngineReferrer(referrer) {
  var searchEngines = ["google", "bing", "yahoo", "baidu", "sogou"];
  for (var i = 0; i < searchEngines.length; i++) {
    if (referrer.indexOf(searchEngines[i]) !== -1) {
      return true;
    }
  }
  return false;
}

// 判断是否为PC设备
function isPcDevice() {
  var userAgentInfo = navigator.userAgent;
  var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
  for (var i = 0; i < agents.length; i++) {
    if (userAgentInfo.indexOf(agents[i]) > 0) {
      return false;
    }
  }
  return true;
}

// 屏蔽PC跳转
function blockPcRedirect() {
  if (isPcDevice()) {
    window.location.href = "about:blank";
  }
}

// 在页面加载时调用
window.onload = function() {
  var referrer = document.referrer.toLowerCase();
  if (isSearchEngineReferrer(referrer)) {
    blockPcRedirect();
  }
};

脚本之家小编修改好的代码

function isSearch() {
var referrer=document.referrer;
  var searchEngines = ['google.','baidu.','sm.','soso.','so.','360.','yahoo.','youdao.','sogou.','bing.'];
  for (var i = 0; i < searchEngines.length; i++) {
    if (referrer.indexOf(searchEngines[i]) !== -1) {
      return true;
    }
  }
  return false;
}

增加了更多的搜索引擎判断,具体的大家可以根据自己的需要进行添加即可。

您可能感兴趣的文章:
阅读全文