在Confluence 5.1中隐藏页面上的侧边栏

时间:2014-07-08 15:57:29

标签: confluence

我使用Confluence 5.1而我想隐藏侧边栏 - 但只在几页上。我只找到了一个基于JQuery的解决方案,似乎并不适用于所有浏览器。无论默认设置如何,它似乎都完全隐藏了侧边栏。

2 个答案:

答案 0 :(得分:3)

我在网上搜索了很长时间后找到了基于CSS的解决方案。

基本上,您需要做的就是在页面中添加一个CSS宏,该宏不应该包含下面代码的侧边栏。

CSS样式表宏

#splitter-content {
    width: 100% !important;
    left: 0px !important;
}

.vsplitbar{
    visibility: hidden;
}

此CSS块跨越整个页面宽度覆盖页面内容,并删除通常为侧边栏保留的左边距。它还隐藏了通常用于更改侧边栏尺寸的分割条。

好消息是,您不必以这种方式弄乱cookie或确保在以下页面上重新打开侧边栏。

答案 1 :(得分:0)

由于希望拥有更简化的配置系统,因此a Confluence bug filed for this被拒绝*。在那个bug中,提出了workaround

将此添加到custom HTML<script>标记底部的<head>节:

AJS.toInit(function(){
  if (AJS.$("div.ia-fixed-sidebar").width() > 55){
    AJS.Confluence.Sidebar.toggle();
  }
});

由于我没有这种控制级别,我选择了Greasemonkey脚本。这只会影响我,但它确实解决了我的问题(我只需要确保我没有太多利用这给我提供的额外宽度)。以下是此示例用户说明,posted to Github [install]

// ==UserScript==
// @name        Confluence - Hide sidebar
// @namespace   https://github.com/adamhotep
// @description Collapse the sidebar upon page load
// @include     https://confluence.*
// @include     http://confluence.*
// @version     1
// @grant       none
// @license     GPL
// ==/UserScript==

// from https://confluence.atlassian.com/confkb/how-do-i-remove-the-side-bar-in-confluence-5-330796984.html
if (typeof AJS === 'function') {
  AJS.toInit(function(){
    if (AJS.$("div.ia-fixed-sidebar").width() > 55){
      AJS.Confluence.Sidebar.toggle();
    }
  });
}

这是特定于主题的。上面的代码假定默认主题,并不保证在Confluence的更高版本中有效。请参阅文档主题所需代码的“替代方法”链接。

*还有another bug与cookie相关,该Cookie应该保留是否显示或隐藏侧边栏。据说,这个bug是固定的,但这与这个答案中链接的第一个bug直接相矛盾,所以我无法理解它。