仅在Google Chrome上隐藏元素

时间:2011-10-28 20:20:29

标签: javascript google-chrome google-chrome-devtools

我有一个问题......

I have a website developed especially for Chrome,我想向用户显示通知(例如人们使用谷歌浏览器)他们没有使用Chrome。我认为它应该是这样的Javascript:

var isChrome = navigator.userAgent.indexOf("Chrome/") > -1;

if (isChrome) {
document.getElementById('notification').style.display = 'none';
}

但是当我这样做时,我收到了一个错误(在Google Developer Inspector:JS Console中)说:

  

未捕获的TypeError:无法读取null的属性'style'

所以我做错了什么?

提前致谢。

PD。对不起我的英语,我会说一点!

3 个答案:

答案 0 :(得分:2)

您可能尝试在将整个HTML读入DOM之前运行该代码。将其注册为“加载”或“就绪”事件的事件处理程序。 (执行此操作的最佳方式取决于您使用的是Javascript框架还是仅使用纯JS。)

答案 1 :(得分:1)

看起来元素notification不存在。

答案 2 :(得分:0)

假设document.getElementById('notification')为null,因此您在页面上呈现元素之前调用它。

需要在元素,文档准备或窗口加载后添加。

埃里克