【问题标题】:Force using Firefox with Javascript [duplicate]强制使用 Firefox 和 Javascript [重复]
【发布时间】:2014-04-18 15:00:12
【问题描述】:

我正在开发一个商业网站,其中某些 Javascript 和 HTML 仅适用于 Firefox。如何强制用户不使用其他浏览器,例如当他们在 Chrome、IE 或 Opera 上打开网站时,他们会收到一条消息并被重定向到信息页面。

仅供参考,我使用的语言是 ASP.NET Web Form。

已编辑:解决方案有 200 多页,所以我想我会把它放在 Masterpage 中

编辑 2:Javascript 或服务器脚本正常

编辑 3:原因:我正在使用第三方 HTML 控件库。该库的 DataGrid 被大量使用。在 DataGrid 上,我总是有一些隐藏的列,这适用于 Firefox。但是在 Chrome 上,隐藏的列是暴露的。由于没有修复,我还没有准备好升级库,我想立即禁止其他浏览器

谢谢

【问题讨论】:

  • 你不是认真地搜索过吗?!
  • 使用modernizr,你以后会感谢我的。
  • 你有没有想过这个问题:也许你应该更新你的 JavaScript 和 HTML 以兼容跨平台?我通常会发现,如果我做的事情不是跨平台的,那就是“杂牌”,很难支持。
  • 最好的办法是检查服务器端的用户代理,因为用户可以禁用 Javascript。这是内部网站还是外部网站?如果它是内部的,您的策略应该是“这是标准浏览器”。如果它是外部的,这可能是一个坏主意。 (自 1990 年代后期以来,我真的没有见过特定于浏览器的页面)
  • 问题是我在标题中放了“Javascript”。很抱歉,因为我的用户有时会关闭 Javascript。那么除了Javascript,还有别的吗? @Tim:这是一个内部站点,包含敏感信息

标签: javascript jquery html asp.net


【解决方案1】:

您想要的是识别浏览器: How to detect Safari, Chrome, IE, Firefox and Opera browser? 不过他们需要打开 javascript

【讨论】:

  • 那么别管JS了,我们可以修改global.asax吗?
  • 您可以检查 Firefox 的 Global.Asax 中的 User-Agent 请求标头,并为非 FireFox 的浏览器发回 403 http 状态。其他人怎么说:不要对这个解决方案感到满意
【解决方案2】:

在您的母版页标题中放置:

 if(typeof InstallTrigger == 'undefined')
   alert('Please use firefox');
   // and whatever else like a redirect or something..

【讨论】:

    【解决方案3】:

    您可以使用 DontVoteMeDown 的 comment above 中引用的“sayswho”脚本以及 confirm() 调用。

    if (!navigator.sayswho.match(/^.*firefox.*$/i)) {
      if (confirm("This site is optimized for Firefox,  it may not work with your browser.  Do you want to download Firefox now?"))
      {
        document.location="http://www.mozilla.org/en-US/firefox/new/";
      } else {
        // go someplace else or let them use at their own risk
      }
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-22
      • 2010-12-04
      • 2011-03-31
      • 2012-01-26
      • 2020-04-19
      • 2018-10-04
      • 2014-05-17
      相关资源
      最近更新 更多