Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 仅在Google Chrome上隐藏元素_Javascript_Google Chrome_Google Chrome Devtools - Fatal编程技术网

Javascript 仅在Google Chrome上隐藏元素

Javascript 仅在Google Chrome上隐藏元素,javascript,google-chrome,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Devtools,我有个问题 ,我想只向不使用Chrome的用户显示一个通知(例如,人们使用Google Chrome)。我认为在Javascript上应该是这样的: var isChrome = navigator.userAgent.indexOf("Chrome/") > -1; if (isChrome) { document.getElementById('notification').style.display = 'none'; } 但当我这么做时,我(在Google Developer

我有个问题

,我想只向不使用Chrome的用户显示一个通知(例如,人们使用Google Chrome)。我认为在Javascript上应该是这样的:

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

if (isChrome) {
document.getElementById('notification').style.display = 'none';
}
但当我这么做时,我(在Google Developer Inspector:JS控制台)出现了一个错误,上面说:

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

那么我做错了什么

提前谢谢


警察局。对不起,我会说一点英语

元素
通知似乎不存在。

您可能试图在将整个HTML读入DOM之前运行该代码。将其注册为“load”或“ready”事件的事件处理程序。(最好的方法取决于您使用的是Javascript框架还是纯JS。)

表示
document.getElementById('notification')
为空,因此在页面上呈现元素之前调用它

需要在元素、文档准备就绪或窗口加载后添加


Eric

加载文档后,您是否检查此项?如果在之前检查,它将为null,因为它还不是dom的一部分。我如何检查它?我的网站是
如果(isChrome=true)
相当于:
isChrome=true;如果(isChrome)
。已更正,但我仍然得到相同的错误。正确。也许它与@JeremySpouken comment有关,脚本可能在加载时执行,而他正在寻找的元素还不存在。document.ready()应该怎么做?你能给我举个例子吗?拜托,最简单的方法是以一种与几乎所有浏览器都兼容的方式来做,就是
window.onload=function(){your code here}
,但缺点是你只能在整个站点上使用一个这样的事件处理程序,并且只有当页面上的所有内容都加载完毕后,事件才会触发。以兼容的方式修复这两个问题是一个恼人的功能检测代码块,我无法从内存中编写,因为通常最好使用像jQuery这样的库,它已经有了一个有效的实现。谢谢!我懂一点,但如果你能简单地解释一下,我将不胜感激,因为我只懂一点英语。它解决了,但项目在元素加载后不久就消失了。。。我能做什么?在这一点上,我的建议是使用一个JS库和一个可移植的实现来注册“ready”事件并用它注册处理程序。似乎有一个单独提供此功能:非常感谢!我通过集成上面的代码和显示通知的js解决了这个问题!再次感谢。从秘鲁回来!