Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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
Javascript 图像src相对路径到绝对路径_Javascript_Jquery - Fatal编程技术网

Javascript 图像src相对路径到绝对路径

Javascript 图像src相对路径到绝对路径,javascript,jquery,Javascript,Jquery,我有一个网站,现在正在为它制作一个混合应用程序。 我使用jQueryGet方法获取所有博客文章。 然而问题是有时是相对url,有时是绝对url 每次绝对url都会打断显示404错误的图像 如何编写Jquery函数来查找src是否为绝对值并将其更改为 https://www.example.com/media/image.png 我将无法提供我尝试过的任何代码示例,因为我不是前端开发人员,并且尝试了一整天来解决它 注意:我需要更改仅在div中显示的图像。您应该始终对所有图像使用相同的路径,但在您

我有一个网站,现在正在为它制作一个混合应用程序。 我使用jQueryGet方法获取所有博客文章。 然而问题是有时是相对url,有时是绝对url

每次绝对url都会打断显示404错误的图像

如何编写Jquery函数来查找src是否为绝对值并将其更改为

https://www.example.com/media/image.png
我将无法提供我尝试过的任何代码示例,因为我不是前端开发人员,并且尝试了一整天来解决它


注意:我需要更改仅在
div中显示的图像。

您应该始终对所有图像使用相同的路径,但在您的情况下,您可以通过图像循环并附加域,在我添加了变量中的域的情况下,您可以根据需要更改它

您可以使用公共函数或图像加载来重新渲染,但

注意:图像加载后将重新加载

var-imageDomain=”https://homepages.cae.wisc.edu/~ece533/“;
//javascript解决方案
//window.onload=函数(){
//var images=document.getElementsByTagName('img');
//对于(var i=0;i{
如果(a.indexOf(b)=-1){
a=b+a;
}
返回a;
});
console.log(imgaesCorrected)
img{
宽度:50像素
}

最好是在插入主文档之前使用来自ajax请求的响应html执行此操作,以防止在更改src时发出不必要的404请求

在不了解您是如何提出请求或如何处理响应的情况下,下面是一个使用
$.get()


如果没有绝对url,您可以从一个对象获取所有图像并查找/更改它们。
var-images=$('img');
对于(var i=0;i


/media/image.png
应该始终有效,这是绝对的。您必须有一些没有前导的
/
,比如相对的
src=“media/image.png”
。你能修复源代码吗?@charlietfl如果它在同一个域上,它就可以工作。我正在开发一个混合应用程序,因此需要更改为带有域名的url。它在我的网站上运行得很好,但在应用程序上却不行,因为它不在同一个域中。我正在使用Jquery获取博客文章的内容。它给出了在网站上工作的相对URL,因为它在同一个域和文件系统中。但在应用程序上,它给出了404错误。所以,您在不同于图像源的域上运行此应用程序?显示jQuery get请求的示例。最好在插入页面之前修复它,最好在添加到dom之前在ajax请求中修复它,以防止大量错误请求。如果我理解你的意思,你是说一旦从ajax加载了内容,我就应该应用这个功能,对吗?我想方法是一样的,OP可以根据他的要求进行更改。我是说在
$中的html字符串中修复它。get
response@Justcode谢谢你能把它放在Jquery中吗?现在我带来了这个解决方案
var a=$('#details img[src^=“/media/”).attr('src');var b='1https://www.example.com';         var c=b+a$(“#详细信息img[src^=“/media/”])attr('src',c)
但不要认为它可以更改帖子中的所有图像,因为现在我只有一个图像。我使用getJson接收数据,然后将帖子内容放入#details div。你说得对,它确实会发出多个请求<代码>$.getJSON(“https://www.example.com/developers/getdataapi/“,{newsid:newsvalueid},函数(result){$('#heading').html(result.title);$('#details').html(result.detail);
Ok so
var$data=$(result.detail)
。然后清理
$data
中的图像,并执行
$('#details').html($data)
document.querySelectorAll('#details img').forEach(img => {
  const src = img.getAttribute('src');
  // use regex, indexOf, includes or whatever to determine you want to replace the src
  if (true) {
    img.setAttribute('src', 'https://www.example.com' + src);
  }
});
$.get(url, function(data){
    var $data = $(data);
    $data.find('img[src^="/media/"]').attr('src', function(_,existing){
       return 'https://www.example.com' + existing
    });

    $('#someContainer').append($data)'

})