0

我有一个索引非常长的网站。我使用 jQuery 隐藏所有嵌套项,并且仅在页面加载时显示主要类别。

jQuery(document).ready(function($) {    
  $('div.sideNav li > ul').css({"display":"none"}); //hide all nested ul's
});

我有另一个脚本可以在用户单击它们时展开和折叠索引类别项。

但在类别内部是指向实际文档的链接,这些文档是 pdf。因此,如果有人单击 pdf 来查看它,它会导航到新页面。然后当他们完成查看时,他们点击后退按钮,他们希望看到索引扩展为他们离开之前的方式,以便他们可以继续浏览索引。

现在,当页面从 pdf 返回并将索引折叠回其初始状态时,将调用 ready 函数。如何防止这种情况,以便嵌套列表项仅在页面加载时隐藏?

4

3 回答 3

5

我认为最简单的解决方案是使用以下命令在新窗口中打开 PDF target="_blank"

<a href="pdf-path-here" target="_blank">View PDF</a>

这样,用户将关闭新选项卡,页面将与以前一样。

于 2012-08-08T14:32:19.220 回答
4

与其担心如果有人单击后退按钮如何处理,我建议您只需在新窗口中打开 PDF。这将允许用户直接关闭 PDF,然后您不必担心保留前一页的状态。

target如果您不确定单击链接时如何生成新窗口,您将需要使用该属性:

<a href="pdf-link" target="_blank">Open PDF</a>
于 2012-08-08T14:31:58.527 回答
2

使用cookies或者localStorage来存储索引展开方式的数据,jQuery(document).ready()调用的时候,读取其中存储的数据,确定要展开哪些项目。当访问者单击链接并返回时,页面会再次加载,除非保存数据,否则数据将丢失。

编辑:如果您希望他们在同一选项卡或窗口中打开链接,那就是

于 2012-08-08T14:33:29.443 回答