Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ajax加载html中img标记的url_Jquery_Html_Ajax - Fatal编程技术网

Jquery ajax加载html中img标记的url

Jquery ajax加载html中img标记的url,jquery,html,ajax,Jquery,Html,Ajax,我正在使用jQuery的get方法加载一个html文件,并将整个正文内容放入DOM中,同样使用jQuery 我正在加载的html内容中有很多img标记 比如说, <img src="warning.png"> 在具有LTE连接的移动浏览器上,无法加载此html内容中的图像 但是,当我将img元素的src属性更改为绝对url时,您可以在下面看到 <img src="/myapp/myfolder/warning.png"> 无论我使用什么连接,图像总是正确加载。(L

我正在使用jQuery的get方法加载一个html文件,并将整个正文内容放入DOM中,同样使用jQuery

我正在加载的html内容中有很多img标记

比如说,

<img src="warning.png">
在具有LTE连接的移动浏览器上,无法加载此html内容中的图像

但是,当我将img元素的src属性更改为绝对url时,您可以在下面看到

<img src="/myapp/myfolder/warning.png">

无论我使用什么连接,图像总是正确加载。(LTE/3G/wifi/无论什么)

当然,我可以用绝对值替换每个img元素的src属性。然而,一段时间后,它肯定会变成一个维护地狱

我认为这与连接速度和从服务器异步加载html内容之间的关系有关


有人对此有任何想法吗?

您应该能够创建一个javascript函数,该函数将自动为您更改图像URL,从而省去您自己手动更新URL的麻烦:

$("img").each(function(img){
    $(this).attr("src", "/myapp/myfolder/"+ $(this).attr("src"));
});
您可以在页面底部调用此函数。只需将其包含在母版页(或共享的包含文件)中即可。如果您的图像不都在一个文件夹中,我建议修改该函数以了解您当前的URL,并适当更改“/myapp/myfolder/”


我对手机浏览器的问题了解不多,无法评论原因,但无论如何,将链接更改为绝对路径是一种很好的做法。

可能与将html加载到具有不同目录的页面有关。路径不再有效。重要的不是文件所在的位置,而是文件被消费的位置。问题在于您点击的url是如何响应的。显示返回图像url的服务代码。感谢您的回答@charlietfl这是正确的,文件在哪里被使用很重要。如果我没有通过LTE连接,即使我使用的url不正确,它也可以正常工作。这仍然是个谜,但不再是问题的一部分。也许这与浏览器缓存有关,无论如何,谢谢again@charlietfl如果你愿意,你可以把它作为答案贴出来,这样我就接受了
$("img").each(function(img){
    $(this).attr("src", "/myapp/myfolder/"+ $(this).attr("src"));
});