使用 JavaScript 将当前 URL 发送到电子邮件
Send current URL to email using JavaScript
为什么 console.log(location.href);
在 https://www.amazon.com displays the correct URL in the console but when attempting to send a URL to email client using a JavaScript bookmarklet it fails to get the URL from https://www.amazon.com 上?
这是 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 个字符,而电子邮件的 body 不包含 location.href
的 URL。
在 document.title
上使用 slice(0, 77)
方法后,URL 现在包含在电子邮件的 body 中。
这是更新后的小书签。
javascript:location.href='mailto:?SUBJECT='+document.title.slice(0, 77)+'&BODY='+escape(location.href);
为什么 console.log(location.href);
在 https://www.amazon.com displays the correct URL in the console but when attempting to send a URL to email client using a JavaScript bookmarklet it fails to get the URL from https://www.amazon.com 上?
这是 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 个字符,而电子邮件的 body 不包含 location.href
的 URL。
在 document.title
上使用 slice(0, 77)
方法后,URL 现在包含在电子邮件的 body 中。
这是更新后的小书签。
javascript:location.href='mailto:?SUBJECT='+document.title.slice(0, 77)+'&BODY='+escape(location.href);