【问题标题】:Auto click certain Javascript even on certain URL from same website即使在来自同一网站的某些 URL 上也自动单击某些 Javascript
【发布时间】:2020-10-11 12:57:54
【问题描述】:

我有网站http://example.com/,它基本上有三个 Javascript 事件。单击每个选项都会相应地更改 URL。

例如,当您点击“Option1”时,URL 变为http://example.com/#Option1;当您点击“Option2”时,URL 变为http://example.com/#Option1;等等。 用户将通过扫描或使用特定 URL 访问这三个部分。当我编写上面刚刚编写的三个 URL 中的任何一个时,页面会加载但没有选择该事件。

我想要的是,当我编写第一个链接时,事件“Option1”已经被点击并加载。依此类推。这样当有人写/扫描二维码打开“选项2”时,例如,它已经被他们点击了,他们已经能够看到里面的东西了。

有人知道我该怎么做吗?

非常感谢!

【问题讨论】:

  • 如果您想从此页面上的帖子中删除个人详细信息,这非常好,但如果帖子仍然有意义,这对未来的用户也很有帮助。因此,我不只是删除这些 URL 和名称,而是将它们替换为更通用的。我希望你仍然对这个页面现在的方式感到满意? (我已经对问题和答案进行了编辑。)
  • 嘿。然而,当我用谷歌搜索我的网站时,它很好。这两个帖子仍然出现。我知道你修改了这些词,但它们仍然出现。这会是暂时的吗?谢谢
  • Google 不会立即获得每个网站的更新版本。如果您查看google's cache of this page,您会看到它最后一次被抓取是在 3 天前,所以在进行编辑之前。希望谷歌很快会重新抓取这个页面,这应该可以解决问题。但这可能需要几天甚至几周的时间。
  • 好的。我会等几周看看它是否更新
  • 嘿。所以我在我的网站上添加了谷歌广告,当人们搜索我的商业网站时,stackoverflow 确实是一个问题。是否有可能我可以通过您所做的修改来重写帖子,并且我可以或有人用我之前得到的答案来回答?谢谢

标签: javascript html css performance javascript-objects


【解决方案1】:

在 JavaScript 中,您可以通过读取 window.location.hash 来检测当前 URL 是否具有哈希值。例如,如果 url 是http://example.com/#id,则window.location.hash 将返回"#id"

if (window.location.hash) {

    const hash = window.location.hash;

    // remove the "#" symbol from the string to get "id"
    const optionName = hash.substr(1);

    // now you can use optionName as id
    document.getElementById(optionName).style.display = "block";

    // for the link, you can use document.querySelector and select by href attribute
    const activeLink = document.querySelector('[href="' + hash + '"]');
    activeLink.className += ' active';
}

您可能需要微调此代码,因为我只是快速浏览了您网站的脚本;但这就是在这种情况下如何使用window.location.hash 的想法。

【讨论】:

  • 成功了!!!你保存了我的项目,我非常感谢
猜你喜欢
  • 2012-12-03
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 2018-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
相关资源
最近更新 更多