Javascript 怎么做的?

Javascript 怎么做的?,javascript,error-handling,Javascript,Error Handling,stackoverflow如何知道javascript何时不工作,并能够在页面顶部通知用户 是否可以判断脚本是否未加载或产生错误,然后仍然能够使用javascript生成错误消息? 使用标记: <noscript> <div>JavaScript isn't available.<div> <div>Please Enable it to continue.<div> </noscript> 另一个例子 e

stackoverflow如何知道javascript何时不工作,并能够在页面顶部通知用户

是否可以判断脚本是否未加载或产生错误,然后仍然能够使用javascript生成错误消息?

使用
标记:

<noscript>
    <div>JavaScript isn't available.<div>
    <div>Please Enable it to continue.<div>
</noscript>
另一个例子
eval
可用于:

大多数人不会喜欢这个解决方案,因为它可以被认为是“黑客”


启用JavaScript时,堆栈溢出效果最佳

JS加载问题只有在您可以加载JS时才会发生,这意味着JS已启用。确定JS是否已加载的最简单方法是挂接加载成功/失败事件,或者查询加载的JS中实现的内容(加载过程完成后)。

其中包括JavaScript禁用位,但是JavaScript加载失败怎么办?我不太清楚如果JS被禁用,JS解决方案是如何工作的。@DaveNewton如果JS加载失败,它不应该是这样的,它应该处理错误。你涵盖了OP询问的大部分内容。但问题还说“是否有可能判断脚本是否未加载?”@nnnnnn相当简单。我使用onerror添加了
<noscript>
    <div id="noscript-warning">Stack Overflow works best with JavaScript enabled<img src="http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif" alt="" class="dno"></div>
</noscript>
try {
    runAllJavaScript();
} catch (e) {
    alert("There was a fatal error :(");
}
var code = new XMLHttpRequest();
code.onload = function () {
    try { eval(code.responseText); }
    catch (e) {
        alert("The JavaScript had an error");
    }
};
code.onerror = function () {
    alert("Script didn't load!");
};
code.open("GET", "path/to/script.js");
code.send();
<noscript>
    <div id="noscript-warning">Stack Overflow works best with JavaScript enabled<img src="http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif" alt="" class="dno"></div>
</noscript>