编辑内置Chrome书签管理器文件夹/子文件夹自动扩展



使用Chrome内置书签管理器时,左侧有一个导航窗格,其中包含包含书签的所有文件夹/子文件夹。当鼠标悬停在一个文件夹上,同时拖放一个文件夹/书签,它会在x段时间(400毫秒)后自动展开文件夹(例如显示所有子文件夹)。

我想使变量控制多长时间Chrome等待之前自动展开文件夹可定制。

我发现了Chromium中的代码,它决定了在拖放时自动展开文件夹需要等待多长时间:

//SRC/chrome/browsers/resources/bookmark_manager/js/ddn .js

相关代码行如下:

/** * Delay for expanding folder when pointer hovers on folder in tree view in * milliseconds. * @type {number} * @const */ // TODO(yosin): EXPAND_FOLDER_DELAY should follow system settings. 400ms is // taken from Windows default settings. var EXPAND_FOLDER_DELAY = 400;

我不知道怎么做是通过扩展覆盖这个?

用例:我有很多文件夹,嵌套文件夹和嵌套文件夹。我经常试图导航到一个顶级文件夹,但谷歌在启动自动展开前的悬停时间非常短,很多时候我不想展开的文件夹最终会展开。

很好地找到了相关的代码。

不幸的是,我不相信Chrome扩展可以访问这些文件。这将需要为这些变量提供API(并且在更改任何设置时必须重新构建应用程序)。

经过一番研究,我想出了两个选择。


选项1

与扩展相比,一个更好的解决方案(特别是如果这只是一次性覆盖)是将项目分叉并为您自己的定制版本的Chromium编辑代码。下面是一份指南,教你如何开始编写代码,以及如何构建/运行你自己的Chromium版本。也许如果你想出一个好的解决方案,你甚至可以提交一个补丁:)更好的办法是为这些文件构建一个API,然后你可以创建一个扩展。

优点:你只需要改变代码中的一个数字。cons:您必须处理维护Chromium的分支版本。


选项2

创建覆盖页

覆盖页面是一种从扩展名中替换HTML文件的方法,用于Google Chrome通常提供的页面。除了HTML之外,覆盖页面通常还有CSS和JavaScript代码。

一个扩展可以取代书签管理器:页面出现时,用户选择书签管理器菜单项从Chrome菜单或,在Mac上,书签管理器项目从书签菜单。您也可以通过输入URL chrome://bookmarks进入该页。

使用chrome.bookmarks,您可以构建一个自定义的书签页面。

优点:解决方案只需要扩展!cons:您必须从头构建页面或寻找其他复制技术。

许多扩展已经实现了这种方法,也许通过谷歌搜索(关键字"custom"one_answers"manager"是有帮助的),你也可以找到一个你喜欢或可以贡献的解决方案。

最新更新