Mar*_*man 7 javascript css jquery timeout http
我有多个<head>外部js和css资源的引用.大多数情况下,这些都适用于第三方分析等.不时(传闻),这些资源无法加载,通常会导致浏览器超时.当外部JavaScript或CSS资源无法加载时,是否可以检测并登录服务器?
我正在考虑某种类型的延迟加载机制,当失败时,将调用一个特殊的URL来记录此失败.有什么建议吗?
我认为发生了什么:
用户点击我们的页面,服务器端成功处理并提供页面
在客户端,HTML标头尝试连接到我们的第三方集成合作伙伴,通常是以"http://www.someothercompany.com ..."开头的javascript包含.
另一家公司无法处理我们的负载或者有很多工作时间,因此连接失败.
用户看到一个通用的IE Page Not Found,而不是我们服务器中的一个.
因此,即使我的网站已启动且其他所有内容都正常运行,只是因为这个调用第三方服务器失败了,一个在HTML页面标题中,我们完全无法启动.
如果你的应用程序/页面依赖于JS,你可以用JS加载内容,我知道这很混乱。当使用 JS 加载这些内容时,您可以使用回调,让您只拥有已加载内容的功能,而不必担心未加载的内容。
var script = document.createElement("script");
script.type = "text/javascript";
script.src = 'http://domain.com/somefile.js';
script.onload = CallBackForAfterFileLoaded;
document.body.appendChild(script);
function CallBackForAfterFileLoaded (e) {
//Do your magic here...
}
Run Code Online (Sandbox Code Playgroud)
我通常通过使用相互依赖的 JS 数组和文件来让这变得更复杂,如果它们不加载,那么我就会出现错误状态。
我忘了提及,显然我只是展示如何创建 JS 标签,您必须为要加载的其他类型的文件创建自己的方法。
希望也许有帮助,干杯