我有这个代码,在使用不同的浏览器时会隐藏某些HTML代码。这是代码:
<script type="text/javascript">
$(document).ready(function () {
var is_chrome = !!window.chrome && !is_opera;
var is_explorer= typeof document !== 'undefined' && !!document.documentMode && !isEdge;
var is_firefox = typeof window.InstallTrigger !== 'undefined';
var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
var is_opera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
if(is_chrome || is_firefox)
{
$('#otherbrowser').hide();
}
else
{
$('#logOut').hide();
}
});
</script>
当我使用safari和谷歌浏览器时,它可以工作,但当我尝试使用Internet Explorer时,它不会隐藏#otherbrowser
。什么似乎是问题?任何帮助,将不胜感激。感谢。
答案 0 :(得分:0)
您的代码缺少变量isEdge
,这就是它在IE中不起作用的原因。只需删除isEdge
条件或为其添加定义。
同时在is_explorer
条件中添加if
。这样它就会隐藏IE中的#otherbrowser
部分。
$(document).ready(function () {
var is_chrome = !!window.chrome && !is_opera;
var is_explorer= typeof document !== 'undefined' && !!document.documentMode && !isEdge;
var isEdge = navigator.userAgent.indexOf('Edge') > 0;
var is_firefox = typeof window.InstallTrigger !== 'undefined';
var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
var is_opera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
if(is_chrome || is_firefox || is_explorer)
{
alert("condition passed");
}
else
{
alert("condition failed");
}
});