使用JavaScript将当前URL发送到电子邮件

时间:2018-02-13 18:24:01

标签: javascript google-chrome bookmarklet

为什么https://www.amazon.com上的console.log(location.href);在控制台中显示正确的网址,但在尝试使用JavaScript书签将URL发送到电子邮件客户端时,无法从{{3}获取网址}?

以下是JavaScript bookmarklet的代码,该代码几乎适用于除amazon.com之外的所有网站 javascript:location.href=%27mailto:?SUBJECT=%27+document.title+%27&BODY=%27+escape(location.href);

注意:我也试过window.location.href无济于事。

我也试过这种变化:
javascript:location.href='mailto:?SUBJECT='+document.title+'&BODY='+escape(location.href);

(在谷歌浏览器版本64.0.3282.140中测试)

1 个答案:

答案 0 :(得分:0)

根据RFC2322,Amazon.com的标题看起来超过推荐的78个字符的主题行长度。

他们的头衔目前是84个角色。 “Amazon.com:电子产品,服装,电脑,书籍,DVD及其他在线购物”

有趣的是,Outlook 2016仅包含document.tile的前78个字符,并且电子邮件正文中不包含location.href的网址。

slice(0, 77)上使用document.title方法后,网址现已包含在电子邮件正文中。

这是更新的书签。

javascript:location.href='mailto:?SUBJECT='+document.title.slice(0, 77)+'&BODY='+escape(location.href);