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

标签 javascript google-chrome bookmarklet

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

下面是 JavaScript 书签的代码,它适用于除 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);

(在 Google Chrome 版本 64.0.3282.140 中测试)

最佳答案

看起来 Amazon.com 的标题超出了 RFC2322 建议的电子邮件主题行长度 78 个字符.

他们的标题目前有 84 个字符。 “Amazon.com:电子产品、服装、电脑、书籍、DVD 等在线购物”

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

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

这是更新后的书签。

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

关于javascript - 使用 JavaScript 将当前 URL 发送到电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773260/

相关文章:

javascript - firebase .then() 不是函数

javascript - 使 div 居中,即使内容比屏幕宽

css - Chrome 在设置后稍微改变了 RGBA 颜色的 alpha 值

javascript - 查找所有文本节点

javascript - 如何创建一个 JS 小书签以在光标位置插入固定文本?

javascript - bookmarklet 添加一个参数到 url 并重新提交它?

javascript - 如何显示使用相同 html 输入类型=文件选择的视频和图像的预览

javascript - 隐藏单选按钮直到满足条件

javascript - 在 Chrome 开发者控制台中隐藏违规行为

css - webkit 中的相对定位容器错误中的绝对定位元素 100% 宽度