我正在使用jQuery加载外部HTML文件的内容并将内容设置为DIV元素。 HTML在DIV中正确呈现,但是图像的任何相对URL都不会加载 - 因为它们与HTML文件位置相关,所以可以理解。
确保所有相关内容也被加载的最佳方法是什么? 我可以使用JavaScript动态地将所有相对URL更改为绝对URL,但有更简单的方法来实现这个或更优选的方法吗?
答案 0 :(得分:0)
您需要将相对URL更改为静态/相对于您正在加载文件的当前HTML页面。请考虑以下示例,假设您正在加载名为page1.html的html:
$.get('html/pages/page1.html', {}, function(data, status, xhr) {
var updatedData = data.replace(/\.\.\/(images|css|js)+/g, "http://www.mywebsite.com/html/$1");
$('#content').html(updatedData);
});
这不是最好的编程实践,因为它不是那么灵活(在这种类型的上下文中从相对到绝对是依赖于一些正常工作的因素)应该如此,但它会起作用