改造 Firefox 侧边栏实现浏览器分栏

by noz

headerpic

在浏览网页时,有时需要同时打开两个网页进行连接或者比较,这时,如果能对浏览器进行分栏,即方便地显示两个网页是非常有用的。一个比较直接的方法就是将两个网页放在两个不同的浏览器窗口中,通过改变窗口的大小实现网页同时显示。但是,这种方法比较复杂,改变窗口大小时需要同时对两个窗口进行重新调整。这里介绍一种新的方法:通过 Firefox 自带的侧边栏(Sidebar)功能实现分栏。

我们知道,在 Firefox 书签属性中,可以设置 Load this bookmark in the sidebar(在侧边栏打开书签)。这样,点击此书签时会从侧边栏打开。但是,这里存在两个问题:

  1. 只能在侧边栏中打开书签中设置了上述属性的标签;
  2. 侧边栏的宽度有限制,不能满足网页宽度要求。

因此,本文的目的就是要解决这两个问题,实现侧边栏分栏阅读目的。

从侧边栏打开标签页或链接

这个功能通过 TabOpeninSidebarMenuPlus.uc.jsUC 脚本(下载链接)实现。UC 脚本的使用方法参考这里。主要功能是:

  • 右键点击某一标签,实现「在侧边栏打开」功能;
  • 右键点击网页中某一链接,实现「在侧边栏打开」功能。

这样就可以方便地从需要的位置发送网页到侧边栏。

破解侧边栏宽度限制

参考以下路径找到本机的 userChrome.css文件位置 D:\Program Files\Mozilla Firefox\Profiles\chrome\userChrome.css,打开并在末尾添加以下语句:

1
2
3
#sidebar-box,#sidebar{
    max-width:1280px !important;
}

这样就可以任意拖动侧边栏的边框了。

让侧边栏在窗口右侧打开

默认情况下,侧边栏在窗口左侧打开,有些不习惯,通过向上面的 userChrome.css文件添加以下语句改为在右侧打开。

1
2
3
4
5
6
7
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
hbox#browser {
    direction: rtl !important;
}
hbox#browser > vbox {
    direction: ltr !important;
}