我写了一个谷歌浏览器扩展程序,弹出一个带有自动填充字段的对话框,它有自己的风格,但是有些网站我的CSS完全坏了,看起来不太好看.
我知道使用iFrames隔离样式,但在Google Chrome扩展程序中,无法以这种方式隔离我的HTML和CSS.另一种方法是将我的所有东西包装成一个单独的div,它有自己的id和相关的id,我这样做,但似乎它不适用于某些网站上有"硬"标签样式重载或"! CSS代码中的重要"指令.
所以,我想知道有没有办法真正以z方便的方式隔离我的样式,或者是我的坏carma重载每个小CSS属性来修复每个站点的一个或另一个样式问题?
顺便说一下:我设置我的清单来加载"document_end"中的所有内容,但我发现它并没有被应用到每次DOM准备就绪时每次加载的样式表.
我正在尝试做这样的事情:
module RefinedHash
refine Hash do
def initialize(*args)
super
# something here
end
def [](key)
'whatever'
end
end
end
class Hello
using RefinedHash
def initialize
h = Hash.new
p h[:test]
end
end
Hello.new # => "whatever"
Run Code Online (Sandbox Code Playgroud)
结果[]运行良好并返回'whatever'任何键的调用(仅用于测试目的,以了解我们的改进已被有效应用)。但是,唉,initialize当我在那里实例化我的 Hash 时,任何精炼方法中的代码都不会被执行Hash.new。我是否遗漏了某些东西,或者它是否在某处initialize无法像任何其他方法一样完善?