如何在Chrome扩展程序的网址中添加用户名?

时间:2011-10-19 20:34:30

标签: google-app-engine url google-chrome-extension

我正在使用谷歌应用引擎作为后端的Chrome书签扩展程序。我现在是唯一的用户,但我认为如果将来有其他用户,则url需要包含扩展的用户名以与后端进行交互。所以我想改变

http://ting-1.appspot.com/useradminpage

http://ting-1.appspot.com/user_name/useradminpage

其中“user_name”是gmail用户ID。

但我查看了twitter网址,我发现他们已经

http://twitter.com/#!/user_name/

“#!”的目的是什么?在这种情况下,我的计划是否足够好?

1 个答案:

答案 0 :(得分:2)

URL中的#表示“片段标识符”。从历史上看,这已被用于识别由“锚”标记标识的文档的一部分,但最近webapp开发人员已开始使用它将有关页面状态的信息传递给页面中运行的Javascript代码。使用它是因为Javascript代码可以修改当前页面的片段而不会导致页面重新加载 - 这意味着它可以在您浏览Web应用程序时更新,然后返回到重新加载页面时的位置。 / p>

当浏览器加载页面时,片段不会发送到服务器,因此Twitter的服务器只看到twitter.com的请求;这取决于页面中的Javascript代码,以检查片段并确定在此之后要做什么。

在您的特定情况下,假设您使用App Engine用户服务对用户进行身份验证,您可以通过多种方式来区分网址中的用户:

  1. 使用他们的电子邮件地址。从理论上讲,这可能会改变,用户可能不希望他们的地址在他们将共享的URL中。如果网址是私有的,这或多或少是一个没有实际意义的点。
  2. 使用他们的user_id。这是不透明的,没有显示有关用户的有用信息,因此它是安全的,但它也没有意义且难以记住。
  3. 让用户以先到先得的方式为他们的网址选择昵称,例如Facebook和其他服务。