编辑内置 Chrome 书签管理器 Folder/Sub-Folder 自动扩展?

Editing Built-in Chrome Bookmarks Manager Folder/Sub-Folder Auto-Expansion?

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

我想让变量控制 Chrome 在自定义自动扩展文件夹之前等待的时间。

我在 Chromium 中找到了确定在拖放时自动展开文件夹之前等待多长时间的代码:

// src / chrome / browsers / resources / bookmark_manager / js / dnd.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;

我不知道如何通过扩展覆盖它?

用例:我有很多文件夹和嵌套文件夹以及嵌套文件夹。我经常尝试导航到顶级文件夹,但 Google 在开始自动展开之前的悬停时间非常短,很多时候我不想展开的文件夹最终会展开。

找到相关代码做得很好。

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

我通过一些研究得出了两个选择。


选项 1

与扩展相比更好的解决方案(特别是如果这只是一次性覆盖)是分叉项目并为您自己的 Chromium 自定义版本编辑该代码。 Here 是代码入门指南,building/running 您自己的 Chromium 版本。也许如果你想出一个好的解决方案来解决这个问题,你甚至可以提交一个补丁 :) 更好的办法是为这些文件构建一个 API,然后你可以创建一个扩展。

专业人士:您只需更改代码中的一个数字即可。 缺点:您必须处理维护 Chromium 的分叉版本。


选项 2

创建一个Override Page

Override pages are a way to substitute an HTML file from your extension for a page that Google Chrome normally provides. In addition to HTML, an override page usually has CSS and JavaScript code.

An extension can replace Bookmark Manager: The page that appears when the user chooses the Bookmark Manager menu item from the Chrome menu or, on Mac, the Bookmark Manager item from the Bookmarks menu. You can also get to this page by entering the URL chrome://bookmarks.

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

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

很多扩展都实现了这个方法,也许通过google搜索(关键字"custom"和"manager"有帮助),你也可能找到你喜欢的解决方案或者可以贡献.