html img设置最底层,在HTML片段中设置img标签的baseUrl

这篇博客讨论了如何通过JavaScript处理从domain1获取的HTML片段,并修改其中img标签的src属性,以避免不必要的请求并指向domain2。作者提出了一种方法,创建一个div元素,将HTML片段插入,然后遍历并更新img标签的src属性。然而,这种方法导致了浏览器在设置新src之前发出请求。博主寻求更优解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个页面托管在domain1上,我通过ajax调用来检索包含一些标签的HTML片段。这些标签有一个相对的src网址,我只想为这些标签设置指向另一个域的基本网址,如domain2。在HTML片段中设置img标签的baseUrl

这里有一个例子:我有一个字符串HTMLData具有以下值:

'

Foo

\

Image 1 \

\

Image 2 \

'

我要添加到我的网页是这样的:

'

Foo

\

Image 1 \

\

Image 2 \

'

当然,我没有任何的想法该片段的确切结构,我可能想要将其扩展到其他嵌入对象标签。

这是我到目前为止写:

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

添加特定示例 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值