- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是only SO question about listing drives吗? ??
我在 Windows 上,我是插件开发的新手,我(目前)使用 Firefox Addon SDK
和 Node.js
/jpm
,但不是Web Extensions
(还),也不是XPCOM
/XUL
东西。似乎有些人正在混合整个事情..
如果我错了请纠正我,但截至 2016 年 5 月,Web Extensions
无法解析文件系统(否则我很乐意访问文档也允许这样做 ^^。)而且 Require chrome
现在似乎与 XUL
/XPCOM
一起被弃用了。正如我猜每个人都被插入(看起来)去 Web 扩展(那 超出了主题的范围),我不可能去 Require chrome
因为无论如何,明年我将不得不放弃它......
那么我们如何在不导入已弃用库的情况下在 Firefox Addon SDK 中列出驱动器?
我的回答如下,但如果有的话,我希望有更好的选择。有关的 MDN 页面是:
最佳答案
这是我可以使用 Addon SDK
(如果我没记错的话最初是 jetpack
)可以做的事情,是的,就是这样一种 hack,因为我不知道如何以更简洁的方式做到这一点,而且我不想使用 Require Chrome
。
最小版本:
// index.js or main.js
// declare the io/file API :
var ioFile = require('sdk/io/file');
// array to make attempts :
let drivesIds = ["c", "d", "e", "f", "g", .... "z" ]; // hack isn't it ? :/
for (let i = 0; i < drivesIds.length; i++) {
let driveName = drivesIds[i] + ":\\";
if (ioFile.exists(driveName)) {
console.log(driveName + " is a drive and is ready !");
}
}
大功告成!好吧,这很明显,但我在任何地方都没有找到该代码,也没有找到更好的代码(同样,没有 require('chrome')
)
扩展版本可以:
getDrives()
中,该函数返回驱动器对象数组,例如 { path: "c:\\", hasChildren: true, etc: "etc"}
。 (通过在 for
循环中将 ioFile.isFile()
与 ioFile.list()
组合来检查子目录遇到了。所有这些都让您的 index.js
文件更轻量。这可以适应其他操作系统吗?我不知道。标题具有误导性,而这是关于列出带有 Addon SDK 标记的驱动器的唯一问题。
永远不要尝试构建整个驱动器树,这会使计算机停止运行,并在某一时刻失败,因为 io/file 在 Windows 上的路径长度限制为 250-260 个字符。
安全问题!这可能就是为什么它没有记录,为什么 WebExtensions 不允许 io 操作? 但是,我用它来注入(inject)一个不错的 Windows 资源管理器(选择一个目录来保存你想要的任何东西,快捷另存为或下载对话框)。这是我使用 Firefox 的唯一相关原因。如果 IO 在 WE 中不够灵活(或缺失),我会回到 dotNet 并重新发明很多安全漏洞,或者尝试使用 Chrome(如果在未来 10 年内没有弃用的 API)。事实上,当您可以自动执行 io 解析时,就会出现安全问题,但当您不允许这样做时,插件扩展就不是文件系统的出路。
关于node.js - 无需 Chrome 即可列出所有驱动插件 SDK (Nodejs/jpm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37150927/
非常简单的问题 - 是否可以通过 Chromium 创建 google chrome 扩展,并让在不同操作系统上运行 Chrome 的人使用相同的扩展? 我正在Ubuntu上开发。 最佳答案 是的,完
我了解 chrome.bookmarks API(记录在 http://goo.gl/tIb6V6 )旨在用于开发访问/操作我的 Chrome 书签的 Chrome 扩展程序(当然要在 Chrome
在比较开源浏览器 Firefox 和 Chromium 的扩展、附加组件和列表时,我试图找到一些有趣的数据。 我感兴趣的是多宿主扩展(两个浏览器列表上都可用的扩展)。 但是当浏览 Chromium 扩
使用新的 chrome.notifications API,我无法从我的扩展程序中获取通知以显示。即使是最基本的通知也无法为我显示,但我没有收到任何错误,并且回调函数已正确执行。 list .json
我正在构建一个在 Chrome 上运行的信息亭媒体,可以播放带音频的视频。我知道默认情况下,chrome 只允许自动播放带有静音 Prop 的视频。 而且我知道我可以通过 chrome://flags
我从来没有真正写过 真实 Chrome 扩展程序。不久前我做了一个只是一个链接下拉列表,但这并不重要。无论如何,与其先回到关于编写 Chrome 扩展程序的大量教程中,不如先确保我的想法是可行的。 我
主要目的是在单个容器中运行多个 chrome 浏览器(9 个浏览器)。 我有一个集线器和节点设置,其中包含多个浏览器的容器,可在单个 chrome 节点容器中运行。我使用以下 docker 命令创建了
我想写一个小的 chrome 扩展程序,它应该从网页 A(当前网页)获取信息,将选项卡更新到网页 B,然后将代码注入(inject)网页 B。不幸的是,以下代码正在将网页更新到 B 但注入(injec
是否可以打开 Chrome 开发者工具来检查 Chrome 应用? 最佳答案 所有可调试目标都列在 chrome://inspect/ 下。请参阅“应用程序”标签。 关于google-chrome -
我正在为 Google Chrome 开发一个应用程序,我想知道如何收费。 问题是我住在巴西,在这个链接上它告诉我它不支持 Chrome 网上应用店付款。如果没有 Chrome 网上商店付款,我可以通
我刚刚更新到 Chrome 32.0.1700.76 m(在 Win7 上)并且开发人员工具已更改。 特别令人痛苦的是用于检查页面元素的放大镜图标消失了。也没有提到它的快捷方式列表。 任何人都知道这已
我在 chrome-extension API (chrome.webrequest) 中遇到问题。 我的 list .json { "name": "tesst", "version": "
我已经制作了 chrome 主机来在我的扩展程序和我的进程之间传递 native 消息,我的进程在 chrome 启动时启动,但在我关闭 chrome 时不关闭,我应该向主机的 list 添加参数还是
文档对此非常不清楚。我知道如果您自己托管您的扩展程序,您可以通过增加版本号来自动更新您的扩展程序。但是,我不知道您是否可以在仍发布到 chrome 网上商店的同时进行自托管。 我不敢相信 Google
我最近一直在使用 Selenium WebDriver。我还专门与 chromedriver 合作。每当我打开一个新的 chrome 窗口 (driver.get(url)) 时,Chrome 都会以
我指的是chrome://flags 我很想知道是否可以通过自定义 chrome 扩展启用或禁用特定的 chrome 标志? 例如-我想启用 Enable Media Source API on e
当我在 chrome 开发者仪表板上向我的扩展程序上传更新时, 它无法这样做,它显示, An error occurred: Failed to process your item. Chrome W
我正在尝试编写一个需要用户身份验证的 chrome 扩展。 Google's tutorial建议我需要先上传到网上商店才能获得 key : Login to the Google APIs Cons
我已经开发了一个 Chrome 扩展程序并且我已经打包了它。 我将我的扩展程序发送给一些人试用,但 Chrome 开始阻止它在商店中找不到的扩展程序。 有没有办法安装我的扩展程序而不会被 Chrome
某些 Chrome 扩展不适用于 Chromium。例如:http://code.google.com/chrome/extensions/samples.html#5d81304a17cf7ac28
我是一名优秀的程序员,十分优秀!