【问题标题】:How to make a website run only in certain browsers?如何使网站仅在某些浏览器中运行?
【发布时间】:2020-05-09 16:27:27
【问题描述】:

如何在网站上检查客户的浏览器?我的任务是该网站仅支持 Google Chrome 或 Firefox

当用户使用其他浏览器时,应该会出现一个空白页面,其中包含类似的文字

Your browser is not supported by the system.
Use Google Chrome or Firefox Browsers

【问题讨论】:

  • 我们回到了 2000 年代初期吗? “在 Internet Explorer 6 上以 800x600 分辨率浏览本网站效果最佳”?
  • 我在工作中被赋予了任务......我只需要去做......
  • 没有 Safari?没有歌剧?没有铬?没有边缘?没有Konqueror?没有猞猁?没有冲浪?不... --- 虽然我知道您只是想执行给定的任务,但我强烈建议您向您的雇主建议这很可能是一个非常糟糕的主意。
  • @domsson 这绝对是一个可怕的想法。应尽可能使用特征检测。在我目前的工作中,我们只支持某些浏览器(嗯,最大的浏览器),但我们不会用令人讨厌的“不能使用这个”消息来打击用户。我们刚刚记录了可接受的浏览器,如果有人试图使用它们之外的任何东西(机会非常渺茫,但仍然如此),它就不会很好地工作。但只要浏览器支持其他大型浏览器共有的功能,它就可以正常工作。

标签: javascript browser cross-browser


【解决方案1】:

通过检查字符串navigator.userAgent

检查下面的功能,并根据您的需要进行调整。

function wichBrowser() {
  // CHROME
  if (navigator.userAgent.indexOf("Chrome") > -1 ) {
    return "Google Chrome"
  }
  // FIREFOX
  else if (navigator.userAgent.indexOf("Firefox") > -1 ) {
    return "Mozilla Firefox"
  }
  // INTERNET EXPLORER
  else if (navigator.userAgent.indexOf("MSIE") > -1 ) {
    return "Internet Exploder"
  }
  // EDGE
  else if (navigator.userAgent.indexOf("Edge") > -1 ) {
    return "Edge"
  }
  // SAFARI
  else if (navigator.userAgent.indexOf("Safari") > -1 ) {
    return "Safari"
  }
  // OPERA
  else if (navigator.userAgent.indexOf("Opera") > -1 ) {
    return "Opera"
  }
  // YANDEX BROWSER
  else if (navigator.userAgent.indexOf("Opera") > -1 ) {
    return "YaBrowser"
  }
  // OTHERS
  else {
    return "Others"
  }
};

【讨论】:

  • 你错过了最后一个 if 条件!
  • 那么,Edge 会被识别为 Chrome 还是 Safari?因为 useragent 包含这两个字符串。不被识别为 Firefox 的唯一原因是用户代理也说“Mozilla”
猜你喜欢
  • 1970-01-01
  • 2013-12-01
  • 2018-02-22
  • 1970-01-01
  • 2015-05-15
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
相关资源
最近更新 更多