Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用javascript if-else语句在不同浏览器中显示不同内容_Javascript_Html_Asp.net_If Statement_Safari - Fatal编程技术网

用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。