在我的代码中,我正在检测所使用的浏览器并尝试显示不同的 <div>
内容取决于它。
但是我的 JavaScript 代码无法正常工作。我的 Web 应用程序是基于 asp.net 和 vb.net 构建的。
这是我的代码:
<asp:Content ID="Content2" ContentPlaceHolderID="mainContent" runat="Server">
<div class="btn-wrapper" id="regular-content">
<asp:Button runat="server" ID="uxLoginButton" Text="Login" />
<asp:Button runat="server" ID="uxRegister" Text="Register" />
</div>
<div id="safari-content">
<p>Use another Browser </p>
</div>
</asp:Content>
因此,如果用户使用 Safari 以外的任何浏览器,那么我想显示 <div>
处的内容id是 regular-content
,如果用户使用的是 Safari 那么我想显示 <div>
处的内容id是 safari-browser
.
在我的 JavaScript 代码中,我检测到用户是否正在使用 safari。
<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="ScriptContent">
<script type="text/javascript">
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
//document.body.innerHTML = isSafari;
</script>
</asp:Content>
这可以正确检测浏览器。如果浏览器是 Safari,则 isSafari
的值是 true
如果不是,则值为 false
.
if (isSafari == "true") {
document.getElementById("safari-content").style.display = 'block';
document.getElementById("regular-content").style.display = 'none';
} else {
document.getElementById("safari-content").style.display = 'none';
document.getElementById("regular-content").style.display = 'block';
}
但这不能正常工作。在所有情况下,它都会显示常规浏览器内容,即,如果用户使用 Safari,他不应该看到常规浏览器内容,但他会看到常规浏览器内容,而不是 Safari 内容。
我该如何解决这个问题?
最佳答案
检查它是否返回 true 作为 bool 值或字符串作为“true”尝试省略双引号
关于javascript - 通过javascript if else语句在不同的浏览器中显示不同的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133678/