本文来自依云's Blog,转载请注明。
Google Chrome 把这些信息保存在配置目录下的Current Session
文件里了,比如我的位于~/.config/google-chrome/Default/Current Session
。这个文件是二进制的,使用 Chromagnon 里的脚本可以解析成文本,然后拿 Vim 编辑编辑就可以得到一行一个链接的文本文件了。这样就可以很容易地把它们在火狐里打开了,比如:
cat links | xargs firefox
这样就把链接们从 Google Chrome 里迁移到了一个单独的火狐窗口中。
我做这个的原因是,最近我的火狐运行微信时会持续占用一个 CPU 核。改用 Google Chrome 来运行微信之后风扇才能安静下来。然而 Google Chrome 的字体渲染我并不喜欢,更重要的是它会不时地崩溃一下。所以我辛辛苦苦「转发」了N个链接到「文件传输助手」,并艰难地(因为这个过程非常卡)将它们一一点开之后,希望能把这些页面转到火狐中来阅读。
暂时手工操作了。以后用得多的话再写自动化脚本。
Nov 22, 2015 06:27:30 PM
~/.config/google-chrome/Default/Current Tabs里面存的好象是上次的标签页
Nov 22, 2015 06:45:59 PM
Google Extension: Session Buddy.
Nov 22, 2015 11:50:35 PM
这个是 session 管理扩展呀,能搞到 URL 的列表么?
Nov 22, 2015 11:51:38 PM
不太清楚,反正是我把 Chrome 关掉之后读的,所以读到的是关闭之前的信息。
Nov 23, 2015 09:08:28 AM
能,选定 session, 导出,只筛选出 URL, 保存为文件,完毕。
不过比你原来的办法也快不了多少。
Nov 23, 2015 06:19:55 PM
对于 chrome, 有 open with firefox 这个扩展,对于 firefox, 有 open in chrome
Nov 23, 2015 08:37:11 PM
我是说什么时候 Chrome 扩展能开子进程了呢,原来要装另外的程序。而且还要调用 sudo……而且是个很粗糙的程序。真不明白一个 .desktop 文件一个 bash 脚本,为什么要拿 C 封装,似乎还不提供源码。另外它并不符合我的需求,因为它只能一个个地转啊。
对于火狐,想怎么弄都可以的啦,因为有最高权限的「浏览器控制台」、「代码草稿纸」、mozrepl 扩展,甚至还有「浏览器工具箱」直接另外个火狐来调试,想要什么功能直接写段代码跑就可以了。
如果只有一个链接/标签页需要转的话,我早有 FireGesture 命令可以调用其它浏览器了。
Nov 24, 2015 12:55:36 AM
你可以用用wxpython之类的写个基于webkit的浏览器来运行微信啊
如果系统默认不调用webkit的话可以试试cef
https://bitbucket.org/chromiumembedded/cef
在VSC++下编译过,linux没尝试过。
Nov 24, 2015 01:50:22 PM
嗯我最近也想到了。
Nov 24, 2015 03:16:37 PM
我正好在写类似的,顺手贴一下
def init_frame(self):
self.frame = self.res.LoadFrame(None, 'mainFrame')
self.m_panel1 = xrc.XRCCTRL(self.frame, 'm_panel1')
self.m_panel2 = xrc.XRCCTRL(self.m_panel1, "m_panel2")
self.browser = wx.html2.WebView.New(self.m_panel2)
self.m_panel2.GetSizer().Add(self.browser, 1, wx.EXPAND, 0)
self.Bind(wx.html2.EVT_WEBVIEW_NAVIGATING, self.browser_OnNavitage,self.browser)
self.browser.LoadURL("http://wx.qq.com")
self.frame.Show()
#-------------------------------------------------------------------------------
def browser_OnNavitage(self,event):
tergetUrl = event.GetURL()
print tergetUrl
#event.Veto()
Nov 24, 2015 04:54:28 PM
完成了一个,桌面通知需要另外安装插件、Web Audio API 不支持、window.open 还没覆盖。
https://gist.github.com/lilydjwg/e4ded2f1ca3828ac64d2
Nov 24, 2015 05:26:40 PM
比我想象的多了好多代码
Nov 24, 2015 05:49:35 PM
嗯,因为要缓存啊,要保存 cookie 啊什么的。其实我是在以前的旧代码的基础上改的。
旧版本的火狐可以直接用「-chrome」加载,现在的版本不行了。也许可以拿 xulrunner 弄一个?
Nov 24, 2015 08:23:27 PM
我还真写过xul程序,不过求放过。。。火狐不是耗cpu么
原来的设想是只是简单的捕获webkit超链接事件,遇到匹配的网址就用firefox打开,被你的设计完全碾压了
Nov 24, 2015 10:17:52 PM
火狐耗 CPU 又不代表 xulrunner 也会那样,毕竟我那是安装了好几十个扩展的火狐嘛。
微信的跳转网址没法直接交给火狐打开的,会返回空白页面。从 URL 解析得到真正要访问的 URL,正好跳过那个提示页面更好。
Nov 25, 2015 04:02:08 PM
我看了我的xul程序,现在的参数变了
firefox.exe -app application.xulapp
早上访问你的博客以为我的显示器坏了
Nov 25, 2015 04:09:50 PM
按了文件助手的链接以后ff窗口退出了,进程还在...
Nov 25, 2015 07:57:33 PM
放弃xul了
firefox.exe -no-remote -P "newprofile" wx.qq.com
Nov 25, 2015 10:38:49 PM
> 最近我的火狐运行微信时会持续占用一个 CPU 核
这是什么鬼。。。
Nov 26, 2015 06:51:56 PM
-app 跟 xulrunner 一样的呀,和 -chrome 不一样的。后者是将指定的地址作为浏览器 chrome 来用的意思。
Nov 26, 2015 10:20:59 PM
Chrome,Google chrome 傻傻分不清楚
Nov 26, 2015 11:28:52 PM
这方法真是不走寻常路呀,厉害。
Nov 27, 2015 12:06:19 AM
寻常路不太能走通嘛。
Nov 27, 2015 12:07:15 AM
Google Chrome 是 Google 家的 chrome,火狐是 Mozilla 家的 chrome 啦。指的是浏览器外壳。
Jan 15, 2016 09:28:45 PM
PushBullet 大法好,退「文件传输助手」保平安。
Mar 12, 2016 02:16:43 AM
我也发现最近chrome不时地崩溃,在tab打开太多的时候突然变慢,大家有这样的情况吗?