我有一个aspx页面,其中显示的html电子邮件预览。html电子邮件以文本形式来自DB。这被分配给一个div。现在,我有了一个基本标记,其中包含一个基于DB服务器名称的动态url。
当我将DB中的html赋值给div时,html中图像的相对url的基础是页面的基础url,而不是html文本中的基础url。基本上,页面呈现为,
<html>
....
<div> <html>
<head>
<base href="dynamic url" />
</head>
<body>
<img src="images/header.jpg" />
.....
</body>
</html>
</div>
.....
</html>第二个html来自DB。
如何强制img标签的动态url从基本标签获取基本url。
现在img src是这样的: page_url/images/header.jpg。我希望它是dynamic_url/images/header.jpg。
发布于 2011-06-22 16:28:02
我认为你应该能够用两种不同的方法来做到这一点。在将电子邮件HTML分配给容器之前,首先将文本"images/“替换为服务器端的动态URL。无论你使用哪种语言,它都应该是直截了当的。
如果这是不可能的,那么您可以使用JQuery在客户端执行此操作。下面的代码遍历页面上的所有img标签,并替换为您指定的路径。这实际上不会更改源代码,但它会使用新路径呈现图像。
$(document).ready(function(){
$("img").each(function(i) {
$(this).attr('src', $(this).attr('src').replace('old_path', 'new_Path'));
});
});https://stackoverflow.com/questions/6436490
复制相似问题