如何绕过chrome mailto maxlength limit

wan*_*der 13 javascript mailto google-chrome

Chrome的mailto长度限制大约为2000个字符.这似乎已经足够了,但事实上它只适用于英语.因为长度是在计算之后计算的encodeURI.

例如,只有一个日语字符'て'.encodeURI('?')得到"%E3%81%A6",长度为9个字符.所以我只能在邮件内容中输入大约2000/9 = 200+个日文字符.这真的太短了.

那么有办法绕过这个限制吗?安装chrome插件之类的东西是可以接受的.

任何建议都非常感谢.

编辑

我终于决定使用服务器端解决方案:创建一个弹出页面来模拟邮件客户端,包括to,cc,subject,content和一个发送按钮.用户单击发送按钮后,将提交表单,服务器将为该用户发送邮件

dre*_*lab 3

这似乎是微软 Windows 的问题。我已经尝试了以下方法,它在mac os x上的不同浏览器(safari、chrome 30 和 36,...)上运行良好

Windows中,请求将被截断为大约 2000 个字符。无论使用哪种浏览器,都会发生这种情况。Windows似乎对系统 uri 请求有大小限制

我尝试过在消息正文中使用 100k 个字符的html<a href="mailto:?body=...和 javascript 。document.location = encodeURI('mailto:?body=' + text)

  • 所以这似乎不是chrome的错。但是chrome对于mailto url的编码策略对于这个操作系统的限制来说实在是太糟糕了。IE 大约可以支持 2000/2 = 1000 个非 ASCII 字符,而 chrome 只能支持大约 2000/9 = 200+。 (2认同)