|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / r6 w4 _6 W0 u- ?; J! d
. Q1 A+ X( B% M A7 F9 x
火狐插件,用猴子
9 N2 d3 S6 @/ o6 c
! W# N5 H; b( D% N" r1 mvar debug=false;
$ X0 [ Z. U7 i( Mvar CleanHideObj=new CleanHideClass();4 Y3 I) ~: i4 |# {
' a2 W1 T; }2 I! n! |$ \function CleanHideClass()
3 D# Y* {' n) F5 R! W{ 0 `; r: f; f+ S
) \7 F/ d, D( u6 _
this.on=function(id,bMZ)4 Z" O& A3 R2 ]8 |# S+ d6 A
{
! L$ h8 @$ ^7 |; h. Z8 ?: _0 K! ~ % H$ `! {/ {' H! C" F* y7 c
if(id == 0)
. V" ?0 l, P, g" d {/ ]* P! Z* O0 G
var page=/* document.getElementById("content").contentDocument */document; ' ~0 F5 l* x1 S( y
this.RemoveHide(page,"span");* N, G! ^" V; f2 v+ |$ ?* G% l3 h& t; y
this.RemoveHide(page,"font");
A0 n) Y9 P+ G! M }- I. C this.RemoveHide(page,"div");
" K' o6 m0 N: m) p: u this.RemoveHide(page,"p");
; C) K5 s }2 T* t% p1 @ % t- K' w9 H6 `. v2 \
}
: L2 x' F* T2 P) R9 T6 x& ?" { / i' ? [- j1 d7 p, q. y
}1 ]! `+ ~7 T& c7 W, w/ k" H
this.getobjstyle=function(node,prop)
: F$ U- T3 n j$ i& C {) B; n6 f4 e6 f) g' o
try- `2 v$ i1 I7 u" H$ e: s/ q2 A
{
" y' ^0 r# } } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' w6 D' L9 ?( ^8 G, X. n
}! A0 _3 \+ r5 D* |! v% ^1 ~$ e/ b
catch(e)
# a! Q! V+ |5 A* ^ {
}- p3 p' d6 Y4 b if(debug)
% m4 U) a+ b4 ~' w {
0 A0 c @$ i+ A alert(e.message);
8 F3 O1 j0 f; L' G& R! ` }0 I; Z+ b, C! T
7 M* f0 B2 U) f+ h return "200";
& ?. M A8 n" a# V }9 K {& c0 m. b: r3 b6 p
}5 Z2 R- N% [, ^% ~
* @7 ^2 K9 C/ X, |$ ^% v% M
this.RemoveHide=function(page,objname)3 O! g) ]+ P0 g v6 A; D* H
{
7 x4 ?" [) ~* y$ }4 l- M3 S try' t, ^1 L* B0 |
{
/ Z: @5 q+ l/ g, A% I2 L$ [' X var minValue=15;# p. B) M4 U4 E( a/ K0 L3 w
var objs=page.getElementsByTagName(objname); 8 Z: o0 G$ ?2 N
3 ~0 F0 G) z; [9 U7 c
if(objs.length == 0)
; L3 Y7 Q& F+ F+ C/ M {0 F$ C3 O! b8 H
if(debug)6 d x+ s" ~5 @* e0 r* j& k
{
) a; {3 n2 {8 N4 | alert("no object found!:"+objname);! G3 \0 h3 Y5 Y
}
9 y8 x4 o% V1 T }
$ R# Q6 f O$ S5 ^0 v6 t5 g4 e; @! R else
+ H! e4 S1 v& Z/ I e( V% s7 o& @9 S {
# K. t7 P! ]3 ?/ b. [
9 N' v) S9 C. N5 |% F for(var i=objs.length-1;i>=0;i--)
; b2 u6 I; K3 o- i8 M& G {
. Q. f* U- {* i: e' ^ var node=objs.item(i); & V' g! j1 s2 [; c, v/ ?# N
7 A8 O& C! G1 S9 `% ]. r& d
7 q: O6 r: j# n7 E. P& Y8 k3 Y if(this.getobjstyle(node,"display") == "none" ||
5 a( R) q. G% c: t% f0 s this.getobjstyle(node,"visibility") =="hidden" ||
" ^- z2 P2 i2 W! H z) g5 y! j parseInt(this.getobjstyle(node,"font-size")) == 0)
q8 @% q" P+ T- o {! x! R! c+ q9 S3 o
if(debug)
* C# T \4 l1 B9 N; R1 q$ t D; L2 ^ {
& I2 D% ?7 w% `0 W& k- X alert("remove invisiable!");
" z# _" }* y0 W3 A }- f. s6 P( Y# X
node.parentNode.removeChild(node);. k( N) y9 l, ]/ P8 n" `
' |, l" O6 J8 U9 ?6 d" W0 P4 ? }. Z1 l$ K( q+ C5 u7 e' ]
else
' y: [9 X: a5 g1 O% R {
4 d* _1 d# I- L' H if(node.parentNode) 8 V& @% j, L* P W( s$ i- h E
{
/ S* M$ R4 H. u% s5 c8 h var orgNode=node; Q0 l' t! E+ B( p
var orgColor=this.getobjstyle(orgNode,"color")% i# }6 @: c3 ~" [! }( s# J
var orgRGB=getRGB(orgColor); 7 U) C/ ~8 k4 L
& }! _7 l8 x! r7 |$ B% ?" p; s( q var parentNode=node.parentNode
# u8 p. p$ [# [. S var parentBgColor=this.getobjstyle(parentNode,"background-color");
( [. v2 o- H0 g( L* ? ( b, @2 @* I3 { E5 {6 p
var isLast=false;$ C, }; w9 u2 \5 L) ?3 d4 |' A Z
4 ^/ |* s o6 x3 q. y+ U* @
while(parentBgColor == "transparent")
, S' Y3 ?% I) O: E( e3 q {3 a- h& q! d. v% Z2 u
% ~7 H0 J" p0 N5 H; Q7 i % ~; u* Y! K- d# Z$ i% s( ~ w
if(parentNode.parentNode == null)8 _- |9 D) l: \8 e( u8 @
{1 e( `/ n( Y. T( k
isLast=true;
6 h/ x1 X0 x& H0 n break;
6 u& B a5 F- Y6 l! \, p. a }/ C$ n4 R9 V# n9 B9 O
parentNode=parentNode.parentNode;" U( U: W! \4 {0 X/ l" W
parentBgColor=this.getobjstyle(parentNode,"background-color");
' I8 J8 A) P) K0 T- g# @: y, o6 _0 h3 ^- t- `
if(parentBgColor != "transparent") t! z5 W% @+ G' o$ {/ E6 G! j* t
{- R6 G+ o$ B! h- c
break;/ r7 ]9 b5 m/ ]( W& `/ g$ ~
}
. E; [% j& x- h Q4 [4 Z; c0 r/ } }
9 P# H" L* s8 B4 t" b* R0 h6 a4 O% c if(isLast) : Z. i9 C! p$ X, m3 e6 V+ q9 i# F
{
) K0 t0 \1 K& {- i6 E8 N/ \ if(debug)2 K( X2 c4 ~( q2 I5 w1 X
{- v9 o+ Y* k; x
alert("last!!");1 @* o" y! I" Q8 M3 ]- z# X
}) y' I- |; \! a4 y+ `
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' F/ U% R9 V( I* W {
" W, X, v8 e/ V6 g orgNode.parentNode.removeChild(orgNode); , a6 q @# L! l4 V" L$ e
}
; q* A, b( C! d, {* I/ m }2 o+ y# w M; y) s+ i! G; E
else) J; I0 S" a Q3 A" N. @
{
1 J1 S. |' Z2 U. v- m if(debug)
" f- }$ b! L# C/ {/ a6 X {% k2 O1 L# R* ?# S X
alert("compare color and parent bgcolor!");3 {! s- V3 j+ y
}
, D, K$ v' @. W6 A$ ^ parentBgRGB=getRGB(parentBgColor);
: M& Z9 q+ s* s5 O' Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# L3 G* W' h4 I2 f8 ^
{
4 W+ |4 u. C$ q" b# U7 ]9 G orgNode.parentNode.removeChild(orgNode);
" O% a+ S& o/ M6 _, n6 P$ P0 j }( C. g5 |2 ~/ n2 E( q# v, |- |! e0 m$ R
}
4 X3 e) L" Q) a5 ~. k }# j0 E. X7 w; Q3 ^' C& y
}; E, v& F: n' z$ u, @* o0 q1 G
}
7 Z% E7 A# }6 P+ {. N) O }0 N$ C. b) g6 V
# }8 r( `) O7 n0 S
, w7 d& W' s/ Z, t3 F- Y* c var itemFrames = page.getElementsByTagName("frame");. z3 r% L; d! d6 N
var itemiFrames = page.getElementsByTagName("iframe");
- [9 R4 ?8 C# E! R 9 t3 c& R( t% s/ [3 k8 a# h
var frame, iframe;' o1 \5 B+ ?) O; f" G3 c9 d8 Q9 w
if (itemFrames.length > 0)
Q& i' P2 l+ J& j! L( |+ Q. s* w {; ?' F6 U' m& L o# v9 p
for (var i = 0 ; i< itemFrames.length ; i++)
# ]* i5 [2 j9 a {
9 L+ w- H9 N& B- T8 M4 p Q# @6 y frame = itemFrames.contentDocument;
* ?# l+ y: \2 ^- c: _( X this.RemoveHide(frame,objname);
3 C# Y" k4 G, a9 s# D7 Z }
% G9 @" _ }+ c }
! ?1 ?: b: y/ o$ n if (itemiFrames.length > 0), D/ t- _9 o7 y' h2 U- T
{, u: u! H! H& G; l' D; I0 H7 `
for (var i = 0 ; i < itemiFrames.length ; i++)
& k+ M% ^/ }& ~( h3 h {
/ x/ p1 h7 f; A; \: b iframe = itemiFrames.contentDocument;
4 v7 q6 A8 b9 c this.RemoveHide(iframe,objname); 6 Q0 D) x* a; C! I, t! {
}
. p4 e( ~ |8 [ R$ F }
$ E2 t" y0 z1 X6 n) ` }1 n u. A( v8 {, ~: t. m7 S
catch(e)
/ r; E f1 A' B5 @* X {
1 S6 x; B& x( n6 I% E if(debug)
0 ]6 u) D+ z) W7 n: y {
7 [* `# A: L4 a _7 y7 r3 j- ` alert(e.message);2 P1 |( J, i$ g
}' H, j/ g% A6 J0 r" p0 h
}. b. `9 {' b3 e( I
}4 W' V; V* v4 n2 G$ |9 y' |4 Q
, _; m" ~* I( H$ W. O}
7 [ y# X G9 T. {, `) F
7 K9 |' f S4 f7 T2 W/ B# ~function getRGB(colorString)
& f% a) ~9 s0 y$ Z{" k& V$ W( x6 L6 J8 J6 R. S
var RGB = new Array;
9 a7 R& B) _4 ~) G% L; Y6 K" ~ var tempSting=colorString.substring(4,colorString.length-1);
' r7 W6 p7 _8 ~8 _ var tempArray=tempSting.split(",");
8 {. \" ^" x% n0 `( Y. F
: J5 o, g7 W/ J RGB[0]=parseInt(tempArray[0]);; S' S4 `/ H; J. K5 B u+ k
RGB[1]=parseInt(tempArray[1]);2 L$ i! t, R+ t: i& }3 @* Q
RGB[2]=parseInt(tempArray[2]);( o* @4 [( w& l% w# t- W" p
4 O1 A" t6 m2 e4 B* F: U return RGB;
* u+ z1 n+ K" u7 u}
. x! l! w S! y7 Jfunction keys(evt) ) d* r% F, C1 s/ a0 f
{
. ? y/ {( B+ Q if(evt.ctrlKey && evt.keyCode=="81")
+ S0 ? M t5 S {
6 T* F' E) D2 z6 i; r; m: Y4 O2 c CleanHideObj.on(0,1);
& L" ^& j9 ^4 D1 I# @- b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ ]2 L& u k' X# h) j # q1 }! i: m+ W1 i5 q7 N
}
3 i9 v X6 l5 J } * A6 T+ @/ y5 u. u
document.addEventListener('keydown', keys, false);
- c1 x8 s, s; R& j# ?0 GGM_registerMenuCommand ('Clean Hide',
: Q1 r! I) ]" \2 m! ^6 Mfunction(e){' L# B' q, z) ?3 d5 m4 |0 L3 R
CleanHideObj.on(0,1)9 ^. e3 H$ v6 ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- Q; w9 z+ s$ f9 Z' H8 \+ f
});
+ l! J3 a z' ^% D" f |
评分
-
查看全部评分
|