JavaScripts何时执行?

时间:2009-11-30 09:40:58

标签: javascript image execution

我正在问自己,当页面标题中的javascripts被执行时?

加载所有内容后?在加载图片期间?在加载网站之前?

原因是,我想实施一个屏障来防止用户在没有javascript的情况下访问网站(这是为了内部公司使用,不要因为要求而责怪我) - 我的想法是创建一个div-error-message,隐藏了javascript和我的页面的屏幕截图显示为灰色,如果禁用了javascript,也会隐藏。

问题是,就文件大小而言,这样的屏幕截图可能非常大。所以,如果连接速度很慢,你需要在javascript隐藏之前加载整个图像吗?!

4 个答案:

答案 0 :(得分:4)

为什么不在“{3}}代码中添加”必须有javascript“警告?

答案 1 :(得分:2)

HTML页面<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并显示警告消息。