在ruby代码中,我如何检查加载了哪些外部库?例如,
require 'some-library'
if is-loaded?('some-library')
puts "this will run"
end
Run Code Online (Sandbox Code Playgroud)
要么
# require 'some-library' Don't load it in here
if is-loaded?('some-library')
puts "this will not run"
end
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
请注意我为什么需要这个:我正在研究繁荣,在Windows上,它将尝试包含'Win32/Console/ANSI',以启用ANSI颜色代码,如\ e [36m.我要做的是,如果系统是Windows并且未加载"Win32/Console/ANSI",它将附加颜色代码,因此不输出颜色代码.这是文件.
我使用addon sdk创建了一个Firefox插件.我正在尝试使用canvas drawWindow函数.
我有以下代码来使用该函数,其中ctx指的是画布上下文,我得到了canvas.getContext("2d").
ctx.drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)");
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,在使用附加的脚本中
tabs.activeTab.attach({
contentScriptFile: data.url("app.js") // app.js contains the above line of code
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
TypeError: ctx.drawWindow is not a function
Run Code Online (Sandbox Code Playgroud)
当我在同一个ctx对象上调用strokeRect和fillRect等函数时,不会发生此错误.
此页面上的文档说您需要chrome权限才能使用代码,因此可能会出现问题.基于函数的代码,我希望会出现不同的错误.
我发现我可以在使用我的插件铬特权这个,但我会怎么做未来使用ctx.drawWindow?
另外,当我在这个问题中运行代码时,从页面上的暂存器而不是插件,而不是"错误:操作是不安全的",我得到相同的"例外:ctx.drawWindow不是一个函数".
所以,基本上我要问的是,如何使用addon sdk创建的插件中使用canvas drawWindow?
编辑:我正在尝试这样做因为我需要一种方法来访问渲染页面的各个像素.我希望将页面绘制到画布,然后使用getImageData访问像素.如果还有其他方法可以访问单个像素(在Firefox插件中),那也会有所帮助.