我是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);
答案 0 :(得分:2)
无论您想在客户端上录制什么,您基本上都有相同的选择:
或:
答案 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)
您可能希望在服务器端执行类似的操作。跟踪页面上的数据状态通常在服务器端完成,因此逻辑可以保持在接口之外。使维护更加轻松。