当选择特定锚点时是否可以触发 JavaScript 运行?

发布于 2024-08-27 14:48:18 字数 234 浏览 5 评论 0原文

假设我在网页上有一个锚点,如下所示:

<a name="comegetit"></a>

如果页面是通过位于该锚点上的链接到达的,是否有运行 JavaScript 的方法? (例如像 这样的链接)。我不认为有,但我希望有。

Say I have an anchor on a webpage like so:

<a name="comegetit"></a>

Is there a way of running a javascript if the page is arrived at by a link that lands on this anchor? (e.g. a link like <a href="http://myawesomewebpage.com/page#comegetit"></a>). I don't think there is but I would like there to be.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

丶视觉 2024-09-03 14:48:18

如果您只希望将这一字符串作为 URL 锚点:

if(window.location.hash == '#comegetit'){
  // Do your stuff.
}

如果您正在执行其他复杂的操作,您还可以将 window.location.hash 与正则表达式进行匹配。

If you only expect this one string as the URL anchor:

if(window.location.hash == '#comegetit'){
  // Do your stuff.
}

If you're doing anything else complex, you can also match window.location.hash against a regular expression.

不必在意 2024-09-03 14:48:18

我使用真正简单的历史 (http://code.google.com/p/reallysimplehistory/

然后,在我的代码中,我做了这样的事情:

window.dhtmlHistory.create();
window.dhtmlHistory.initialize();   
window.dhtmlHistory.addListener(function(hash){
    // this is where you process your hash and do something special
    // and totally funky
});

如果您碰巧为哈希标签或其他内容添加了书签,这甚至会在初始页面加载时被触发。

非常有用,并且抽象了 window.location.hash 附带的所有浏览器特定的 BS

Josh

I use Really Simple History (http://code.google.com/p/reallysimplehistory/)

Then, in my code I do something like this:

window.dhtmlHistory.create();
window.dhtmlHistory.initialize();   
window.dhtmlHistory.addListener(function(hash){
    // this is where you process your hash and do something special
    // and totally funky
});

This even gets fired on the initial page load, if you happen to bookmark a hash tag or whatnot.

Quite useful, and abstracts away all the browser specific B.S. that comes with window.location.hash

Josh

池木 2024-09-03 14:48:18

您可以尝试对 onload 事件进行操作并检查 window.location 内容以提取片段标识符...它应该可以工作。

You can try to act on the onload event and check for the window.location content to extract the fragment identifier... it should work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文