我有一个aspx页面,显示html-email的预览。 html电子邮件来自DB作为文本。这被分配给div。 现在我有一个基本标签,它带有一个基于数据库服务器名称动态的URL。
当我将数据库中的html分配给div时,html中图像的相对url的基础是从html文本中获取页面的基本URL而不是基本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。
答案 0 :(得分:0)
我认为你应该能够用两种不同的方法做到这一点。在将电子邮件HTML分配给容器之前,首先将文本“images /”替换为服务器端的动态URL。无论你使用什么语言,它应该是直截了当的。
如果那是不可能的,那么你可以在客户端用JQuery做到这一点。下面的代码循环遍历页面上的所有img标记,并替换为您指定的路径。这实际上并不会更改源代码,但会使用新路径呈现图像。
$(document).ready(function(){
$("img").each(function(i) {
$(this).attr('src', $(this).attr('src').replace('old_path', 'new_Path'));
});
});