用javascript if-else语句在不同浏览器中显示不同内容
在我的代码中,我检测到使用的浏览器,并试图根据它显示不同的用javascript if-else语句在不同浏览器中显示不同内容,javascript,html,asp.net,if-statement,safari,Javascript,Html,Asp.net,If Statement,Safari,在我的代码中,我检测到使用的浏览器,并试图根据它显示不同的内容 但是我的JavaScript代码工作不正常。我的web应用程序是基于asp.net和vb.net构建的 这是我的密码: <asp:Content ID="Content2" ContentPlaceHolderID="mainContent" runat="Server"> <div class="btn-wrapper" id="regular-content"> <asp:B
内容
但是我的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,则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内容
我怎样才能解决这个问题
if (isSafari) {
而不是
if (isSafari == "true") {
而不是
if (isSafari == "true") {
检查its是否以布尔形式返回true或以字符串形式返回“true”,尝试省略双引号检查its是否以布尔形式返回true或以字符串形式返回“true”,尝试省略双引号
如果(isSafari)
应该起作用。您将它与字符串而不是布尔值进行比较。if(isSafari)
应该可以工作。您将它与字符串而不是布尔值进行比较。这是否与if(isSafari===true)相同?在本例中,yes as>会导致值为true或false。但是Javascript开发人员通常使用truthy和falsy值。truthy值满足if条件,但不一定===true。类似地,falsy值不满足if条件,即使它可能不===false。这与if(isSafari===true)相同吗?在本例中,yes as>会导致值为true或false。但是Javascript开发人员通常使用truthy和falsy值。truthy值满足if条件,但不一定===true。类似地,falsy值不满足if条件,即使它可能不===false。