我正在通过jQuery方法加载加载外部内容,并操纵先前加载的 img 元素的 src 属性,如下所示:
<div id="content"></div>
<script>
$("#content").load("additional_content.html #content table", function() {
$("#content").find("img").each(function() {
$(this).attr("src", "new_path/" + $(this).attr("src"));
});
});
</script>
在通过Firebug检查父HTML时,源代码已更改并反映新的图像路径。但是,浏览器中呈现的HTML未更新,并指向旧路径。
此外,我在Chrome中收到以下错误:
XMLHttpRequest cannot load file:///.../additional_content.html. Origin null is not allowed by Access-Control-Allow-Origin.
有人可以帮助我吗?
答案 0 :(得分:3)
Access-Control-Allow-Origin不允许“原点为null”。正在发生,因为您在计算机上本地打开页面而不是通过网址。 Chrome正在检查您是否正在进行跨域通话,并且已决定无法验证您的通话,因为它们是本地通话。这可能是图像未加载的原因的线索 - 您给出的相对路径可能会导致问题。如果将jQuery中显示的HTML保存到新的平面HTML文件并在同一位置打开,图像是否会显示?
答案 1 :(得分:1)
检查XMLHTTPRequest跨域限制主题,例如here