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

问题描述 投票:0回答:1

我使用rison在哈希中编码视图状态。

这是一个示例URL:

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年1月24日',项目:(5441))

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

是否有任何其他编码库或方法可以对散列中的json对象进行编码,这对gmail等解析器是安全的?

javascript url
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.