【问题标题】:Lost chronology using window.location.href使用 window.location.href 丢失年表
【发布时间】:2010-11-05 03:45:15
【问题描述】:

我制作的一组 javascript 函数有问题。

此函数遍历整个 Html 页面,然后将 onclick 事件添加到它找到的每个锚点。

它对锚点 href 进行一些检查并重定向到它(使用 window.location.href)

我的问题是 cronology 不能以这种方式正常工作,并且 :visited 选择器不再工作。

如何保存年表并让 :visited 选择器正常工作?

问候

【问题讨论】:

    标签: javascript css


    【解决方案1】:

    无需手动设置location.href:如果您不通过返回false 或在onclick 处理程序中调用event.preventDefault()(IE 中为event.returnValue = false)明确阻止该链接,该链接将被正确跟踪.

    【讨论】:

      【解决方案2】:

      您是否正在跟踪他们对该会话的访问?

      如果是这样,服务器端解决方案如何而不是使用 Javascript。

      每次您提供页面请求时,您都会将该网址、页面标题等记录到他们的会话中 - 这样您就可以跟踪他们去过的地方。

      在这方面,:visited 标记仍然有效,您将获得更可靠的页面历史来源。

      【讨论】:

      • 不幸的是,它是一个静态站点,所以我不能使用服务器端脚本。
      【解决方案3】:

      使用jQuery?

      $('a').live('click', function(event){
          // do something
      });
      

      只要您不在该函数中调用 event.preventDefault 就可以了。

      【讨论】:

      • 太糟糕了,我们不能使用 jQuery!我想念它!
      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      相关资源
      最近更新 更多