Javascript浏览器通知无法正常工作

时间:2013-12-01 07:55:06

标签: javascript jquery html css

如果浏览器不是Chrome,我正在尝试向用户显示通知。

我到目前为止所做的是

div ,以显示浏览器是否不是chrome:

<div id="notify"> Please use chrome browser </div>

CSS

#notify{
  display:none;
}  
找到了here

Javascript

<script>
var isChrome = !!window.chrome && !isOpera;
            if(isChrome==false)  //if the browser is not chrome
            {
                alert("Please Use chrome browser");   // this works
                document.getElementById('notify').show();  //this doesn't work
            }
</script>  

脚本位于div标签上方 第二个陈述有什么问题?

5 个答案:

答案 0 :(得分:4)

show不是Javascript的本机方法。如果您使用的是jQuery,那么正确的语法将是

$('#notify').show()

如果你使用的是vanilla javascript,你应该使用:

document.getElementById('notify').style.display = 'block';

同时将script放在div标记下方。

答案 1 :(得分:1)

请不要将Jquery .show()函数与JavaScript选择器混淆。请阅读此内容以获取完整参考,Jquery ID selectors

而不是这个,

document.getElementById('notify').show(); 

使用此,

$('#notify').show(); 

答案 2 :(得分:1)

尝试使用,

document.getElementById('notify').style.display='block';

代替,

document.getElementById('notify').show(); 

答案 3 :(得分:1)

$("#notify").show()

而不是

document.getElementById('notify').show(); 

DEMO HERE

答案 4 :(得分:0)

如果您真的必须这样做,请更改文档的内容而不仅仅是样式(在某些情况下会被忽略)。只有在解析了元素之后才能操作元素。例如:

<div id="notify"></div>
<script>
if(!window.chrome || isOpera) {
   document.getElementById('notify').innerHTML =
      'Please use the Chrome browser.';
}
</script>