var unsubscribeStr : string;
ovSelection: OleVariant;
innerDom, ovTextRange, nnode: OleVariant;
ovSelection := Edit.OleObject.Document.selection; //获得选择对象
ovSelection.Clear;
ovTextRange := ovSelection.createRange; // create a TextRange from the current selection
ovTextRange.pasteHTML(unsubscribeStr); //插入源码, unsubscribeStr 的内容是 <A href="mailto:***>***</A>
以上代码在win 10以前的操作系统都可以正常使用,而且在win 10的早期版本也能正常使用,后来经过测试,pasteHTML函数可以插入 <A href="http://www.***">**</A>,也就是可以插入http, https, ftp, telnet连接,但是无法插入mailto, news连接。 当插入mailto链接时,将会自动mailto链接,只留下了<A>***</A>
微软说是浏览器设置的问题,官方解释 https://social.msdn.microsoft.com/Forums/zh-CN/330a9484-80f3-416a-9b86-aea5e27fb430/ie-11pastehtmlmailto?forum=267
但经验证,跟浏览器安全无关。
临时的解决方法,在插入的时候不插入mailto链接,随便插入一个链接,例如<A href="http://unsubscribetag1and1eadww">***</a>,最后修改源码将 http://unsubscribetag1and1替换成mailto.