在URL

2011-02-11 25 views
4

我不知道我是否可以在网址中使用多个片段标识符,有点像这样使用多个片段标识符: http://example.com/videos/index.html#videos#video_2在URL

我使用jQuery工具我的index.html页面上的互联系统,与历史插件。此页面的“视频”标签上有一个Flash视频播放器和视频列表。点击视频缩略图将文件加载到播放器中。

我希望访问者不仅能够收藏#videos选项卡,还能收藏特定的视频。

我认为在URL中使用两个片段标识符是完全错误的吗?

+0

您是否只希望书签跳转到页面上的特定位置?或者你是否真的想在打开链接时加载正确的视频? – 2011-02-11 11:40:55

回答

4

我很确定双锚链接是不可能的!

您可以在url的查询字符串中放置一个指向正确标签和视频的指针(例如mysite.com/videos/index.html?tab=video & video = 2),然后使用JavaScript解析它。这可以被标记为书签。

但是你不能坚持使用原始模型(使用单一的#锚链接),然后简单地使用JavaScript来找到标签所在的标签,因此显示正确的标签?

2

不,你不能在一个URL中使用多个hashtags。散列字符之后的标识符会导致页面上的书签定位点,并且您只能访问一个定位点,您不能同时访问两个定位点。

如果您是为视频添加书签,那么很自然的事情就是URL会导向视频,并且如果您需要在页面中显示特定的标签,则应该有能够识别视频定位并显示正确标签的代码。

2

正则表达式#后解析URL片段是这样的:

(#(.*))? 

这意味着,每一个角色都可以通过。所以, 选择以下两种方法之一:

  1. 转换后的第一个所有哈希为“%23”。还需要对所有不可接受或保留的字符执行此操作(转换为%HEX eq。)。 ex:http://domain.com/app#first%23second
  2. 使用多个散列并在应用程序中处理它! 第一个很容易,但可能无法在您的特定应用程序中实现。

请参阅this doc以确保#后的有效字符。