如何将JavaScript数据放入Gmail识别为URL的URL中?

时间:2019-01-24 10:12:49

标签: javascript url

我正在使用rison对哈希中的视图状态进行编码。

以下是示例网址:

http://example.com/board/projects#(date:'2019-01-24',projects:!(5441))

Gmail如何识别它:
http://example.com/board/projects#(date:'2019-01-24',项目:!(5441))

顺便说一句,SE解析器也无法正确识别它:
http://example.com/board/projects#(date:'2019-01-24',项目:!(5441))

即使所有字符都是有效的URL字符,我也收到用户的抱怨,他们不能以gmail发送链接(这实际上是可能的,只是不会自动发生)。

是否有其他编码库或方法可以对哈希中的json对象进行编码,从而对gmail等解析器安全?

1 个答案:

答案 0 :(得分:1)

标准URI encoding应该可以完成这项工作。

const base = "http://example.com/board/projects"
const data = "(date:'2019-01-24',projects:!(5441))"
const encoded_data = encodeURIComponent(data);
const final = base + '#' + encoded_data;
console.log(final);