如何使用 javaScript 在 HTML 电子邮件中提取 VML(outlook 代码)中的 href link?

How to extract href link inside VML (outlook code) in HTML Email using javaScript?

为了在 HTML 电子邮件中提取 "href" 和 "src",我在浏览器的控制台登录中使用了以下代码。它仅从非 outlook 代码中提取 "href" 和 "src"。

var urls=$$('a');
for(url in urls){
console.log("%c#"+url+" > %c"+urls[url].innerHTML +" >> %c"+urls[url].href,"color:red;","color:green;","color:blue;");
}

但我还需要从 VML(Outlook 代码)中提取 "href" 和 "src"。有关详细信息,请参见下面的 VML 代码。

<!--[if mso]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" style="height:50px; v-text-anchor:middle; width:460px;" arcsize="45%" strokecolor="#db2b91" href="**http://somewebsite.com/**" strokeweight="4pt" fillcolor="#db2b91">
<w:anchorlock/>
<center>
<table width="455" align="center" valign="bottom" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse; border-spacing: 0; mso-table-lspace: 0px; mso-table-rspace: 0px;"><tr><td align="center" valign="middle" style="font-family: Arial, sans-serif; font-size:16px; line-height:20px; font-weight: bold; vertical-align: middle; padding: 5px 0px 13px 0px; color: #ffffff;">Button text</td> </table>
</center>
</v:roundrect>
<![endif]--> 

一旦这些元素附加到 DOM,您就可以使用 jQuery 或纯 Javascript 访问这些元素。请注意,此 <!--[if mso]> 特定于 outlook,并且仅在这些环境中附加到 DOM。因此,您无法使用 <!--[if mso]> 条件在 outlook 外部访问它们。

现在,您可以通过 jQuery select 任何 vml 元素,如下所示:

$('v\:roundrect')

或者,通过 Javascript,

document.getElementsByTagName('v:roundrect')

希望对您有所帮助。