为什么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中测试)
答案 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);