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

 更新时间:2023年12月19日 18:33:11   投稿: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;
}

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

相关文章

  • JS实现点击循环切换显示内容的方法

    JS实现点击循环切换显示内容的方法

    这篇文章主要介绍了JS实现点击循环切换显示内容的方法,涉及javascript鼠标事件响应及页面元素的获取、属性设置等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • BootStrap 模态框实现刷新网页并关闭功能

    BootStrap 模态框实现刷新网页并关闭功能

    这篇文章主要介绍了BootStrap 模态框实现刷新网页并关闭的功能,实现方法简单易懂,需要的朋友可以参考下
    2017-01-01
  • JavaScript验证一个url的方法总结

    JavaScript验证一个url的方法总结

    最近遇到几次需要校验URL的,使用这篇文章小编就为大家整理了一下几个JavaScript校验URL的方法,文中的示例代码简洁易懂,感兴趣的小伙伴可以了解一下
    2023-12-12
  • 一篇文中告诉你JS中的"值传递"和"引用传递"

    一篇文中告诉你JS中的"值传递"和"引用传递"

    在JavaScript中,可以通过值和引用传递,两者之间的主要区别是,按值传递发生在赋值基本类型的时候,而赋值对象时按引用传递,下面这篇文章主要给大家介绍了关于JS中"值传递"和"引用传递"的相关资料,需要的朋友可以参考下
    2022-05-05
  • Javascript 获取LI里的内容

    Javascript 获取LI里的内容

    使用Javascript(简称JS)取得LI里的内容(简单易懂的代码实例)
    2008-12-12
  • 利用uni-app和uView实现多图上传功能全过程

    利用uni-app和uView实现多图上传功能全过程

    最近在使用uniapp开发的微信小程序中使用了图片上传功能,下面这篇文章主要给大家介绍了关于利用uni-app和uView实现多图上传功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 如何用JS有效的压缩图片

    如何用JS有效的压缩图片

    JavaScript操作压缩图片原理不难,已有成熟 API,然而在实际输出压缩后结果却总有意外,有些图片竟会越压缩越大,加之终端(手机)类型众多,有些手机压缩图片甚至变黑。本文将一步一步解决此类问题
    2021-05-05
  • 如何判断Javascript对象是否存在的简单实例

    如何判断Javascript对象是否存在的简单实例

    下面小编就为大家带来一篇如何判断Javascript对象是否存在的简单实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • JS快速掌握ES6的class用法

    JS快速掌握ES6的class用法

    这篇文章主要介绍了JS快速掌握ES6的class用法,想了解ES6的同学,一定要看一下
    2021-05-05
  • javascript 变量声明 var,let,const 的区别

    javascript 变量声明 var,let,const 的区别

    这篇文章主要介绍了javascript 变量声明 var,let,const 的区别,变量声明,每种编程语言必不可少的语法,在javascript中,变量的声明相对其他语言来说,算是比较简单的。更多相关的具体内容需要的小伙伴可以参考一下
    2022-06-06

最新评论