草庐IT

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

coder 2024-07-20 原文

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

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

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

// src / chrome / browsers / resources / bookmark_manager / js / dnd.js

相关的代码行是:

/** * 当指针悬停在 TreeView 中的文件夹上时,展开文件夹的延迟 * 毫秒。 * @type {数字} * @常量 */ //TODO(yosin): EXPAND_FOLDER_DELAY 应该遵循系统设置。 400毫秒是 //取自Windows默认设置。 var EXPAND_FOLDER_DELAY = 400;

我不知道该怎么做是通过扩展来覆盖它?

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

最佳答案

为此找到相关代码做得很好。

很遗憾,我认为 Chrome 扩展程序无法访问这些文件。这将需要这些变量的 API(并且您必须在更改任何设置时重建应用程序)。

通过一些研究,我能够提出两种选择。


选项 1

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

优点:您只需更改代码中的一个数字。 缺点:您必须处理维护 Chromium 的 fork 版本。


选项 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”有帮助),您也可能找到您喜欢或可以贡献的解决方案。

关于javascript - 编辑内置 Chrome 书签管理器文件夹/子文件夹自动扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39619884/

有关javascript - 编辑内置 Chrome 书签管理器文件夹/子文件夹自动扩展?的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  3. ruby-on-rails - 在 Rails 中将文件大小字符串转换为等效千字节 - 2

    我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,

  4. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  5. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  6. ruby - 将差异补丁应用于字符串/文件 - 2

    对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

  7. ruby-on-rails - Rails 编辑表单不显示嵌套项 - 2

    我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib

  8. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  9. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  10. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

随机推荐