通过javascript确定是否存在其他URL
我正在使用一个提供图像的servlet。但是,生成此文件大约需要30秒。完成后,它将显示在OpenLayers交互地图上 我正试图为位于www.test.com的用户找到一种方法,以确认图像正在处理或已完成,该方法位于www.test2.com。如果我打开test2.com,我可以看到页面正在尝试加载。完成后,图像也会显示在test.com上的“我的地图”上 但是,我不知道如何测试这个图像是否存在。我在找可能像这样的东西通过javascript确定是否存在其他URL,javascript,Javascript,我正在使用一个提供图像的servlet。但是,生成此文件大约需要30秒。完成后,它将显示在OpenLayers交互地图上 我正试图为位于www.test.com的用户找到一种方法,以确认图像正在处理或已完成,该方法位于www.test2.com。如果我打开test2.com,我可以看到页面正在尝试加载。完成后,图像也会显示在test.com上的“我的地图”上 但是,我不知道如何测试这个图像是否存在。我在找可能像这样的东西 if(image exists at http://test2.c
if(image exists at http://test2.com) {alert("request is done");
或者可能
if(http://test2.com is loading) {doing something);
我只是不希望用户在请求失败时袖手旁观。如果失败,url将完成加载-但是,不会显示任何图像。任何指导都将不胜感激!谢谢
Kyle如果它是另一台服务器,JavaScript将无法向该服务器发出任何类型的Ajax请求,以查看它是否存在。您必须在本地域上有一个代理,它可以向第二个域发出head请求 如果要等待图像加载后才能使用它,则始终可以执行图像预加载,但这将占用图像在引发onload事件之前渲染的全部时间
var img = new Image();
img.src = theUrl;
img.onload = function() {
nextStep(this);
};
img.onerror = function() {
imgLoadingError(this);
};
如果它是另一台服务器,JavaScript将无法向该服务器发出任何类型的Ajax请求,以查看它是否存在。您必须在本地域上有一个代理,它可以向第二个域发出head请求 如果要等待图像加载后才能使用它,则始终可以执行图像预加载,但这将占用图像在引发onload事件之前渲染的全部时间
var img = new Image();
img.src = theUrl;
img.onload = function() {
nextStep(this);
};
img.onerror = function() {
imgLoadingError(this);
};
如果您可以控制另一台服务器,您可以在该服务器上放置一个小映像,并执行如下操作:(未测试的代码,直接键入)
如果您可以控制另一台服务器,您可以在该服务器上放置一个小映像,并执行如下操作:(未测试的代码,直接键入)
如果页面在加载图像时阻塞,则可以添加
img
元素,然后检查何时触发load
事件。如果页面在加载图像时阻塞,则可以添加img
元素,然后检查何时触发load
事件。这不一定是ajax和ajax因此,将不受同一原产地政策的约束(正如图像目前在某些地图元素中工作的事实所证明的那样)。您可以在任何地方加入img
s,效果完美!我至少可以证明这个过程正在进行中。谢谢,这不一定是ajax,因此不受同源策略的约束(这可以从图像目前在某些地图元素中工作这一事实得到证明)。您可以在任何地方加入img
s,效果完美!我至少可以证明这个过程正在进行中。非常感谢。