我的网站索引非常长。我使用jQuery来隐藏所有嵌套项目,并且只在页面加载时显示主要类别。
jQuery(document).ready(function($) {
$('div.sideNav li > ul').css({"display":"none"}); //hide all nested ul's
});
我有另一个脚本可以在用户点击它们时展开和折叠索引类别项。
但是在类别中是指向pdf的实际文档的链接。因此,如果有人点击pdf进行查看,则会导航到新页面。然后,当他们完成查看后,他们点击后退按钮,他们希望看到索引在他们离开之前的方式扩展,以便他们可以继续浏览索引。
现在,当页面从pdf返回并将索引折叠回其初始状态时,就会调用ready函数。如何防止这种情况,以便嵌套列表项仅在页面加载时隐藏?
答案 0 :(得分:5)
我认为最简单的解决方案是使用target="_blank"
在新窗口中打开PDF:
<a href="pdf-path-here" target="_blank">View PDF</a>
这样,用户将关闭新标签,页面将与之前一样。
答案 1 :(得分:4)
如果有人点击后退按钮,我建议您只需在新窗口中打开PDF,而不必担心如何处理。这将允许用户直接关闭PDF,然后您不必担心保留上一页的状态。
如果您在点击链接时不确定如何生成新窗口,则需要使用target
属性:
<a href="pdf-link" target="_blank">Open PDF</a>
答案 2 :(得分:2)
使用cookie或localStorage存储索引扩展方式的数据,并在调用jQuery(document).ready()
时,读取存储在其中的数据以确定要扩展的项目。当访问者点击链接并返回时,页面再次加载,除非保存数据,否则数据将丢失。
编辑:如果您希望他们在同一个标签或窗口中打开链接,那就是