【问题标题】:Browser Detection in ReactJS - Deny for IEReactJS 中的浏览器检测 - 拒绝 IE
【发布时间】:2019-03-22 13:58:19
【问题描述】:

我希望拒绝在我的 reactjs 应用程序中使用 IE ...目前这是我的 App.js ...所以我想抛出一个错误说(IE is not allowed please use Chrome)

任何帮助都非常感谢

import React, { Component } from 'react';
import './App.css';
import { BrowserRouter as Router,
        Route,
        Link,
        Switch,
        Redirect
 } from 'react-router-dom';

class App extends Component {
  render() {
    return (
      <Router>
        <div>
          <Navbar />
        <Switch>
          <Route exact path="/" component={Home} />
          <Route exact path="/Home" component={Home} />
        </Switch>
        </div>
      </Router>
    );
  }
}

export default App;

【问题讨论】:

标签: javascript html reactjs user-agent


【解决方案1】:

此代码将检测 IE,而不用担心有人弄乱了 UserAgent 字符串:

if (window.MSCompatibleInfo != null) {
  alert('IE is not allowed please use Chrome!").
  throw new Error('IE is not allowed please use Chrome!');
}

throw 是为了阻止其他任何东西运行

【讨论】:

  • 把它放在你想要的任何地方。您可能希望它位于页面顶部,而不是抛出错误,您可以让它导航到一个不同的 HTML 页面,该页面只会显示您的消息而没有任何 JavaScript。
  • 你知道我如何让它导航到错误页面吗?我尝试了返回渲染,但无法让它工作
  • 抱歉回复晚了。将alert 更改为location = "&lt;your error page&gt;"。但是,请注意,如果他们关闭了 JS,那么这将不起作用。此外,一些浏览器可能会阻止它工作,认为这是一种注入攻击。您可能必须生成一个内置错误的简单页面。您将隐藏主页并显示错误页面。
猜你喜欢
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 2019-12-21
  • 2016-01-14
  • 2012-02-14
  • 2012-04-13
  • 2011-03-14
  • 2012-08-24
相关资源
最近更新 更多