我有一个页面托管在domain1上,我通过ajax调用来检索包含一些标签的HTML片段。这些标签有一个相对的src网址,我只想为这些标签设置指向另一个域的基本网址,如domain2。在HTML片段中设置img标签的baseUrl
这里有一个例子:我有一个字符串HTMLData具有以下值:
'
Foo
\ \
\
我要添加到我的网页是这样的:
'
Foo
\ \
\
当然,我没有任何的想法该片段的确切结构,我可能想要将其扩展到其他嵌入对象标签。
这是我到目前为止写:
function setBaseURLandConstructDiv (HTMLData) {
var container = document.createElement("div");
container.innerHTML = HTMLData;
var images = container.getElementsByTagName("img");
for (var image = 0;image
if (images[image].src) {
images[image].src = 'http://domain2'+ images[image].getAttribute('src');
}
}
return container.innerHTML;
}
它的工作原理,但它似乎并不正确我。特别是,在该行container.innerHTML = HTMLData,浏览器做出不必要的请求http://domain1/relativepath/To/Image1,使得(正确)调用http://domain2/relativepath/To/Image1在该行images[image].src = 'http://domain2'+ images[image].getAttribute('src');
那么,有没有修改src属性的另一种方法之前? (或者在本地设置一个基本网址)
2013-07-15
corentin
+0
从哪里来的'HTMLData'参数? –
+0
'HTMLData'是一个字符串,来自ajax调用 –
+0
添加特定示例 –