在页面的URL中嵌入JavaScript对象

And*_*een 0 html javascript

我正在尝试将JavaScript对象存储在网页的URL中(作为JSON字符串),但URL包含一些不适用于HTML链接的字符.

在此页面上,从页面的URL加载JavaScript对象:

http://jsfiddle.net/tsUpC/1/show/#["Hello","World!"]

在这个页面上,我正在尝试创建一个指向上面显示的同一页面的链接,但URL包含超链接中不允许的字符:

http://jsfiddle.net/M6dRb/

<a href = "http://jsfiddle.net/tsUpC/1/show/#["Hello","World!"]">This link doesn't work because the URL contains characters that are not allowed in HTML links.</a>
Run Code Online (Sandbox Code Playgroud)

是否可以在不使用与超链接不兼容的字符的情况下将JavaScript对象嵌入到URL中?

ick*_*fay 7

在将URL放入URL之前,可以通过URL编码将JSON字符串放入URL中:

encodeURIComponent(JSON.stringify(object))
Run Code Online (Sandbox Code Playgroud)

您的示例中,那将是:

http://jsfiddle.net/tsUpC/1/show/#%5B%22Hello%22%2C%22World!%22%5D
Run Code Online (Sandbox Code Playgroud)

正如你可能已经猜到,相反的encodeURIComponentdecodeURIComponent.