如何在页面重新加载后跟踪哪些按钮被按下?

时间:2011-08-18 17:35:10

标签: javascript jquery iframe url-parameters

我是Javascript和JQuery的新手。在互联网上寻找解决方案之后,我决定发布这个问题。

问题:当用户点击iframe中的链接时,它会更新父级的进度条,只会触发一次。但是,当用户转到另一个页面并返回时,iframe中的页面将被重新加载,javascript也是如此,这意味着可以再次更新该按钮的进度条,这是我不想要的。在重新加载和禁用该功能后,有没有办法跟踪哪些元素被点击? URL参数??

iframe中的HTML:

<div id="sidenav">
   <ul>
      <li><a href="../right/section1/page1.html" target="presentation" class="active" name="position">positioning</a></li> 
      <li><a href="../right/section1/page2.html" target="presentation">comparisons</a></li>
    </ul>
</div>

iframe页面中的Javascript:

$('#sidenav ul li a').one('click', window.parent.updateBar);

3 个答案:

答案 0 :(得分:2)

无论您想在客户端上录制什么,您基本上都有相同的选择:

  • 饼干
  • 客户端存储
  • url hash

或:

  • 往返服务器并将数据存储在结果页面中

答案 1 :(得分:0)

localStorage这样的东西。唯一的缺点是,即使重新启动后它仍然是持久的,但如果重新加载完整的网站,您可以重置该值。 IE7及更低版本也不支持它。

function updateBar() {
    if(localStorage['pressed'] == 'true') return; // abort if already pressed

    // do things

    localStorage['pressed'] = 'true'; // save the data that it is pressed
}

答案 2 :(得分:0)

您可能希望在服务器端执行类似的操作。跟踪页面上的数据状态通常在服务器端完成,因此逻辑可以保持在接口之外。使维护更加轻松。