我有一个像这样的 JavaScript 函数:
var strBody = encodeURI(window.location.href);
var strSubject = encodeURI(document.title);
var mailto_link = "mailto:?subject=" + encodeURI(strSubject) + "&body=" + strBody;
此代码在超链接的 onclick 事件上执行,并打开邮件客户端 (mailto://)。然而,页面标题有几个 & 符号,但标题仅在第一个 & 之前被拾取。该 url 始终会被获取。
转义 & 并将其显示在邮件客户端主题行中的正确 JavasSript 是什么?
var encoded_body = encodeURIComponent(window.location.href);
var encoded_subject = encodeURIComponent(document.title);
var mailto_link = "mailto:?subject=" + encoded_subject + "&body=" + encoded_body;
应该这样做(encodeURIComponent
代替encodeURI
).
在您的原始代码中,您还错误地对subject(在第 2 行上一次,然后在第 3 行上再次)。
我冒昧地重命名了您的变量,以使其更清楚地表明它们包含编码的subject and body,与原文相反。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)