我正在问自己,当页面标题中的javascripts被执行时?
加载所有内容后?在加载图片期间?在加载网站之前?
原因是,我想实施一个屏障来防止用户在没有javascript的情况下访问网站(这是为了内部公司使用,不要因为要求而责怪我) - 我的想法是创建一个div-error-message,隐藏了javascript和我的页面的屏幕截图显示为灰色,如果禁用了javascript,也会隐藏。
问题是,就文件大小而言,这样的屏幕截图可能非常大。所以,如果连接速度很慢,你需要在javascript隐藏之前加载整个图像吗?!
答案 0 :(得分:4)
为什么不在“{3}}代码中添加”必须有javascript“警告?
答案 1 :(得分:2)
<script>
中的 <head>
标记在加载时执行(除非它们设置了defer
属性),即在图像之前,甚至是文档的其余部分已加载。您可能想要做的是在<div id="something" style="display:none">
中包含您要隐藏的图像,并在页面后显示此div及其所有内容(包括您的屏幕截图图像)已加载(即在{{1}中处理程序 - 或者显然你也可以使用addEventListener。)
HTH!
答案 2 :(得分:2)
script
标记中的Javascript会在浏览器看到时执行。但是停止所有其他执行和(可能)下载。因此,您试图在img
中隐藏body
,但由于script
标记位于head
,因此它会在img
加载之前执行,因此它将无法找到它(document.getElementById('#noScriptImage')
将失败)。
另一种选择是将script
标记放在 img
之后,但是有一个更改,在几分之一秒内图像将可见并且屏幕会轻弹。
答案 3 :(得分:1)
Javascript将取决于您使用的是什么事件;如果您正在谈论onload事件,那么它将在所有内容加载后运行。
要解决您的问题,您可以创建一个页面,然后编写一些javascript将其重定向到JavascriptEnabled.html;如果您无法重定向,则还应添加META REFRESH标记并将其重定向到JavascriptDisabled.html并显示警告消息。