有没有办法用 React 检测 IE 浏览器并重定向到页面或提供任何有用的消息。我在 JavaScript 中找到了一些东西,但不确定如何将它与 React+TypeScript 一起使用。
var isEdge = !isIE && !!window.StyleMedia;
原文由 Hafiz Temuri 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有办法用 React 检测 IE 浏览器并重定向到页面或提供任何有用的消息。我在 JavaScript 中找到了一些东西,但不确定如何将它与 React+TypeScript 一起使用。
var isEdge = !isIE && !!window.StyleMedia;
原文由 Hafiz Temuri 发布,翻译遵循 CC BY-SA 4.0 许可协议
有一个新的包可以为 React 处理这个问题: https ://www.npmjs.com/package/react-browser-navigator
这是您可以使用它的方式:
// import the module
import useNavigator from "react-browser-navigator";
function App() {
// importing the property
let { userAgent } = useNavigator();
// you can use it within the useEffect hook OR simply print the
// string into the return statement
useEffect(() => {
if (!isNull(userAgent)) {
// printing out the entire object
console.log("userAgent", userAgent);
}
}, [userAgent]);
return (
<div>
<span>userAgent:</span> {userAgent}
</div>
);
}
本质上,输出将是这样的:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36
原文由 David Kutas 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答835 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
您走在正确的轨道上,您可以使用它们有条件地渲染 jsx 或帮助路由…
我已经成功地使用了以下内容。
原文来自 - 如何检测 Safari、Chrome、IE、Firefox 和 Opera 浏览器?
请注意,由于浏览器的更改,它们都有可能被弃用。
我像这样在 React 中使用它们:
然后通过在我的主要组件中调用 {this.Content()} 来呈现不同的浏览器特定元素。
伪代码可能看起来像这样……(未经测试):