这里有点远射。我正在从另一个域加载页面以在单独的域上显示页面的片段。问题是远程域页面包含一堆具有绝对路径EG的图像:
/assets/images/something.jpg
我在加载完成后正在解析这些以纠正页面,但是控制台仍会报告大量已损坏的图像,可能是从ajax首次运行时开始。无论如何要抑制这些错误吗?
他是我加载代码的一个例子:
$('#myDiv').load('http://www.myDomian.com/myPage.aspx #mainContent', function(){
$('#myDiv').html($('#myDiv').html().replace(/\/assets\/images\//g, "http://www.myDomain.com/assets/images");
});
感谢。
答案 0 :(得分:2)
使用jQuery.ajax()
代替.load()
,这样您就可以拦截响应中的数据并在注入DOM之前对其进行修改:
$.ajax({
url: 'http://www.myDomian.com/myPage.aspx'
}).done(function( data ) {
var
$myDiv = $('#myDiv'),
modifiedData = $(data).find('#mainContent')[0].outerHTML;
modifiedData = modifiedData.replace(/\/assets\/images\//g, 'http://www.mydomain.com/assets/images');
$myDiv.html(modifiedData);
});
答案 1 :(得分:0)
首先尝试将它们加载到分离的元素中,然后修复链接,然后将元素附加到DOM。
例如:
var newDiv = $('<div></div>');
newDiv.load('http://www.myDomian.com/myPage.aspx #mainContent', function(){
$('#myDiv').html(newDiv.html().replace(/\/assets\/images\//g, "http://www.myDomain.com/assets/images");
});