问题标签 [fragment-identifier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
5866 浏览

php - 用 php 检索 url 中的哈希值?

SO中的某人告诉我,可以通过php函数parse_url检索url中的哈希(#)?这是真的?

我的网站有很多 ajax 效果,我希望能够将带有哈希的 url 传递给 index.php,以便它可以根据哈希值显示信息。

例如。如果用户在我的网站中单击并导航,并找到了他想要分享的东西,那么他可以复制地址并将其发送给他的朋友,当这个人进入时,他会看到同样的东西。

我曾尝试使用 javascript 将哈希值保存在 cookie 中,但这不适用于 firefox,而且在 safari 中速度太慢(html 将首先显示,因此必须再次刷新页面才能显示正确的内容)。

欢迎任何其他解决方案

编辑:我很困惑..如果我使用 parse_url 我必须自己在 php 中输入 url 来获取哈希?那有什么意义...我的问题是我的朋友是否可以输入带有#值的url并且php可以处理它?这似乎是一个不,我是对的吗?

0 投票
2 回答
3502 浏览

redirect - 稍后使用 location.hash 时,带有片段标识符的 Response.Redirect 会导致意外刷新

我希望有人可以帮助描述我在 IE 上的 ASP.NET 网站上遇到的以下问题的解决方法。在下文中,我将描述错误并阐明所需解决方案的要求。

复制步骤:

  1. 用户访问A.aspx
  2. A.aspx 使用 Response.Redirect 将用户带到 B.aspx#house
  3. 在 B.aspx#house 上,用户单击设置 window.location.hash='test' 的按钮

实际结果:

B.aspx 再次加载。URL 现在显示 B.aspx#test

预期成绩:

没有重装。URL 将更改为 B.aspx#test

要求:

  1. 页面 A 必须在 url 中使用片段标识符重定向到页面 B
  2. 页面 B 上的任何用户操作都会设置 location.hash
  3. 设置location.hash不能让页面B刷新
  4. 这必须在 IE 上工作

笔记:

  1. 仅在 IE 上复制错误(在 ie6|7|8 上测试)。Opera、FF、Chrome、Safari 都有不重载的预期结果。
  2. 这个错误可能与ASP.NET无关,与IE有关
  3. 对于任何愿意查看此内容的好心人,我创建了一个最小的 ASP.NET Web 项目,以便在此处轻松复制
0 投票
3 回答
4919 浏览

javascript - URL 片段标识符 - 简化状态处理 (javascript)

我有一个 Web 应用程序,它广泛使用片段标识符来处理“状态”。

几个问题:

1) 将各种“location.hash 名称值对”分配给变量以跟踪状态的好方法是什么?

1a) 我应该创建一个对象来跟踪 js 中的状态还是为每个名称值对声明全局变量?

1b)是否有任何好的 jquery 插件来简化这个?

1c)如果我想跟踪称为“颜色”的东西 - 是否应该始终将其附加到片段(#)以及检查它是否已定义的正确方法是什么;下面的代码可以改进吗?

1d)由于某些名称被使用了两次(上例中的“vid”) - 我怎样才能轻松地将它们存储为单独的变量?

2)我要特别注意4种不同的“哈希”:

examplesite.com/ (无哈希)
examplesite.com/#example=5 (包含“示例”)
examplesite.com/#time=2003;vid=4;vid=7;modified=5 (包含“修改”)
示例站点。 com/#time=2003;vid=4;vid=7 (不包含“修改”或“示例”)

当应用程序加载并检查上述条件时,您将如何编写一个从哈希中提取变量的控制结构?

3)如何存储先前的状态以及按下后退按钮时如何触发状态更改?

0 投票
7 回答
62057 浏览

javascript - 处理 Javascript 中的 URL 片段标识符(锚点)更改事件

如何编写将在 URL 片段标识符(锚点)的任何更改上执行的 Javascript 回调代码?

例如从http://example.com#ahttp://example.com#b

0 投票
1 回答
15461 浏览

python - 如何从 Django 请求对象访问 url 哈希/片段

如标题所示:我如何#从 Django 视图访问 URL 哈希/片段(哈希后面的部分,或美国英语中的“磅符号”),所以,我想,从 Django 请求对象?

我没有找到有关可用文档的足够信息:http: //docs.djangoproject.com/en/dev/ref/request-response/

PS 假设片段包含在发送到服务器的 URL 中。(我已经在我的情况下验证了这一点,我实际上并没有使用浏览器。)

0 投票
4 回答
56353 浏览

redirect - URL 片段和 302 重定向

众所周知,URL 片段(后面的部分#)不会发送到服务器。

我确实想知道当涉及服务器重定向(通过 HTTP 状态 302 和Location:标头)时片段如何工作。

我的问题实际上是双重的:

  1. 如果原始 URL 有一个片段 ( /original.php#foo),并且重定向到/new.php,那么原始 URL 的片段部分是否会丢失?或者它有时会应用于新 URL?在这种情况下
    会出现新的 URL吗?/new.php#foo

  2. 不管原始 URL 是什么,如果服务器重定向到带有片段 ( /new.php#foo) 的新 URL,片段会得到“尊重”吗?或者服务器真的没有业务干扰片段 - 因此浏览器会通过简单地忽略它/new.php吗?

0 投票
2 回答
1735 浏览

asp.net-mvc - 使用 ASP.Net MVC Routelink 生成包含片段的链接

我正在尝试在视图中使用 Html.RouteLink 来生成指向另一个页面上命名锚点的链接。RouteLink 有一些包含片段选项的定义,但我试图弄清楚是否有另一种方法。

是显而易见的解决方案,但看起来有点笨拙。我希望能够做类似的事情

并获得回报

这是可能的还是我需要指定 URL 的每一小部分以使用内置帮助程序获取片段。我也可以像手动一样

但似乎 RouteLink 应该能够更优雅地处理。

0 投票
8 回答
79885 浏览

javascript - 如何在不导致页面滚动的情况下删除位置哈希?

是否可以删除散列window.location而不导致页面跳转到顶部?我需要能够在不引起任何跳转的情况下修改哈希。

我有这个:

在此处查看实时示例:http: //jsbin.com/asobi

当用户点击“链接”时,哈希标签被修改,没有任何页面跳转,所以工作正常。

但是当用户单击“取消链接”时,has 标签被删除,页面滚动跳转到顶部。我需要删除没有这种副作用的哈希。

0 投票
4 回答
47923 浏览

javascript - 你能在不影响历史的情况下使用哈希导航吗?

恐怕这可能是不可能的,但是有没有一种方法可以更改 URL 的哈希值,而无需在浏览器的历史记录中留下条目无需重新加载?或者做同样的事情?

就细节而言,我正在开发一些基本的哈希导航,如下所示:

显然,使用 jQuery。这个想法是,在这个特定的例子中, 1)让用户返回每个选项卡更改可以通过堆积不必要的引用来有效地“破坏后退按钮”,以及 2)如果他们点击刷新,则不保留他们当前所在的选项卡是烦恼。

0 投票
6 回答
21004 浏览

javascript - 在 JQuery 中执行 URL 哈希/历史记录的最佳库是什么?

我一直在寻找 URL 哈希的 JQuery 库,但没有找到好的。有“历史插件”,但我们都知道它有问题并且不灵活。

我正在将我的页面加载到一个 div 中。我需要一种方法来进行反向/转发以及 url 散列。

可以处理所有这些的最好的库是什么?