我想从客户端使用JavaScript时间加载另一个域的时间。我知道你可以通过使用“script”和“img”标签的“src”属性来做到这一点,但我不知道一旦加载完成(或一旦失败)如何获得回调。计时跨域页面加载时间
我已经看到加载外部内容的大多数解决方案都是服务器端,但我试图在客户端执行此操作。
我想从客户端使用JavaScript时间加载另一个域的时间。我知道你可以通过使用“script”和“img”标签的“src”属性来做到这一点,但我不知道一旦加载完成(或一旦失败)如何获得回调。计时跨域页面加载时间
我已经看到加载外部内容的大多数解决方案都是服务器端,但我试图在客户端执行此操作。
如果你只是想要一个回调,当调用完成,而不是真的需要读取服务器响应,你可以使用script
或img
标签的Onload
OnAbort
OnError
事件。
var i=new Image(1,1);
i.src = url;
i.onload = function(){
alert('load complete')
};
i.onabort = function(){
aletrt('aborted')
}
如果您希望以编程方式确定文件何时加载,则可以使用jQuery - 使用load方法。
否则,您可以使用所有主流浏览器的开发人员工具查看所有图像和脚本的加载时间。
您只需将事件侦听器附加到元素的load
事件。例如:
function imgLoaded(){
//do something cool
}
var img = new Image;
img.addEventListener("load", imageLoaded, false);
你可以看到这个here的一个例子。图像最初通过display:none
隐藏,这意味着它不会开始获取。然后,使用JS创建一个Image对象,将事件侦听器附加到load
事件,然后将其源设置为与img
标记的源相同。一旦完全加载,将显示<img>
。你会发现尽管它是一个非常大的图像,它立即显示出来 - 这是因为它在加载事件被触发前才被隐藏。
谢谢,这是我一直在寻找 – user839683