gpt4 book ai didi

javascript - 谷歌+网址分享

转载 作者:行者123 更新时间:2023-12-03 11:28:52 30 4
gpt4 key购买 nike

我使用此链接通过 google plus 共享我的页面。

 https://plus.google.com/share?url=http%3A%2F%2Fexample.com%2Fcompany%20name%2search

所以我使用encodeURIComponent来获取这个url(也尝试使用encodeURI)。但是当共享框出现时链接不正确。它是:

 http://example.com/company

当然,我可以用“-”(或其他符号)来更改“”,但我在 AngulaJs 应用程序中使用 url 中的值来进行正确的初始化,最好使用 native 方式。

我的错是什么,或者有什么本地方法可以解决这个问题吗?

最佳答案

%20 是一个编码空格,不是有效的 URL 字符。最常用的代替空格的字符是 -

最好的方法是将输入规范化为一个 ID,您将使用该 ID 来查询自己的数据库。例如。 Bob's Bar & Grill 将被处理到 bobs-bar-grill,然后您将查询数据库以查找:

{
"id": "bobs-bar-grill",
"name": "Bob's Bar & Grill"
}

这既可以使您的网址变得干净,又可以从网址中随机用户内容的安全 Angular 更好地保护您。

作为最后的手段,您可以对路径进行双重编码,以便 Google 在对 URL 进行一次解码后仍然保留编码的空格。

var url = "http://example.com/company name";
encodeURI(encodeURI(url));
// "http://example.com/company%2520name"

Google 会将用户发送至 http://example.com/company%20name

关于javascript - 谷歌+网址分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26816376/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com