【问题标题】:Is it possible to append "#" to URL on clicking a link?是否可以在单击链接时将“#”附加到 URL?
【发布时间】:2015-08-24 14:10:16
【问题描述】:

我的应用程序是单页应用程序,我正在使用如下所示的链接

<a class="list-group-item navigationlink" href="#" id="roletemplates-link" data-moduleid="2">Role Templates</a>

你可以看到href="#"。单击该链接时,我使用 ajax 将内容加载到页面。

当我点击该链接不重新加载页面时,我想将“#”附加到URL。在我看到的许多解决方案中,如果我们想将一些值附加到变量,则必须重新加载页面。

我的问题:

是否可以在点击链接时将“#”附加到URL而不重新加载页面?

【问题讨论】:

  • 您可以使用javascript预先设置默认值并附加#,然后更新location/href
  • 当您点击href="#" 时会发生什么。我不认为它会重新加载,是吗?
  • No.. 但是当我搜索“如何将数据附加到 URL”时,我发现类似 stackoverflow.com/questions/12781345/… .. 如果我使用此解决方案,页面将重新加载。所以我想避免这种情况。
  • 我认为它不会仅使用 href="#" 重新加载。如果它有一个有效的 ID,那么它肯定不会重新加载(例如:href="#roletemplates-link'),你会看到页面滚动到元素。
  • @RinoRaj href="#" 将在您单击它时附加一个 #,但如果您的事件处理程序中有 preventDefaultreturn false 则不会。

标签: javascript jquery ajax


【解决方案1】:

这可以通过 Javascript 来完成:

window.location.hash = "myfancynewhashtag";

【讨论】:

  • 您可以添加小提琴或更多详细信息以供参考吗?
  • 我想但是 jsfiddle.net 似乎阻止了它
  • 把它放在一个 html 文件中,我保证它可以工作:pastebin.com/cYeSYA5L
  • 这只有在我们提供您提供的价值时才有效。我不想将值与哈希一起附加。只有“#”而不是“#fancy”或与#一起的东西
  • window.location.hash = " ";目前我正在这样使用..因为看不到空间;)..谢谢..你的回答有帮助..
【解决方案2】:

将字符串“#”或任何内容保存在隐藏元素中,并通过在 onclick 上添加函数直接将其添加到 url。

希望它有效。

【讨论】:

  • 你能展示一个在不重新加载页面的情况下附加“#”的演示吗?
  • 你的链接 请检查并相应更改。
【解决方案3】:

很可能你可以在 url 后面加上 #。

现在网址可以相同也可以不同。

如果网址相同:

它根本不会刷新页面。 相反,它会在其中搜索片段标识符,然后滚动到页面的该部分。

如果url不同:

它将重新加载页面并滚动到页面中#之后提到片段标识符的部分。

希望这能回答您的问题。

【讨论】:

  • 把它放在一个 html 文件中,我保证它可以工作:pastebin.com/cYeSYA5L
  • 它是否为您刷新了页面?它不适合我,也不确定。它会附加 #。我从来没有说过它不会将 # 添加到 url。我上面解释的是,将 # 添加到 url 后会发生什么。跨度>
猜你喜欢
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 2019-06-19
  • 2012-02-25
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
相关资源
最近更新 更多