|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % ~: o4 U* v/ f8 _# f" [& }" e
: g# w# b) w' d; P3 m: o4 w火狐插件,用猴子
( R$ v$ x9 z2 r* d7 o
$ b. L* u l8 a, m6 Qvar debug=false;
2 d% [4 o7 [$ P# P; q+ F$ Xvar CleanHideObj=new CleanHideClass();) y, L. h/ p( e4 G9 c/ a
; N0 E5 Q9 r) kfunction CleanHideClass()
4 L9 T5 ^( s7 G{
9 Z; W5 Q4 A, d( d p 0 X5 X% G" T4 |& g$ s% }/ x. U
this.on=function(id,bMZ)" d7 O( k# j, M2 Q7 M4 z7 p6 _
{
; [ |. G+ ?2 ^9 ~- F+ M
$ h) c. [ X E7 c% A/ W5 F if(id == 0)7 _/ z1 B+ M" e! v
{1 N8 C9 K. B: v% e7 V
var page=/* document.getElementById("content").contentDocument */document;
$ O4 V9 F6 W) U/ j" X this.RemoveHide(page,"span");4 U* U8 O5 R7 ?) W5 [
this.RemoveHide(page,"font");7 B8 ~ o, ?# y& ^ _) u! S2 K( Q: S7 f
this.RemoveHide(page,"div");+ k1 ?; D- U: C0 R' H& J
this.RemoveHide(page,"p");" |" y C% ]- @
# X' p' Q% i. R( A/ ~, R1 a
}& B+ B5 u$ W, T u" V7 ] |
( M4 {4 I3 V$ d @2 l
} ~- M% i N- |
this.getobjstyle=function(node,prop)) p/ i! ?* a- i Q9 }
{
" s5 o0 K" z- U: Q2 {( C r! f try
% }4 Z& f0 ^0 e7 z {
3 k% e) ^5 Z+ m% { return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; e6 m# T2 C- q
}" s, G7 d) r1 Y2 m9 L* x% V8 A
catch(e)
0 S: Y1 _* N. J9 e7 t- y5 N {$ ]4 }9 E/ k" F* i
if(debug)+ s' K; f% t$ e, K- P
{$ |6 h& f; \( E& T2 R, P. Z
alert(e.message);7 P' }& v* N, {2 F9 W
}
; V9 W8 [* E6 G9 n6 X
; [' j" r) C3 B return "200";
9 V0 e7 _& ?* H" p z1 W+ F5 W }
) E/ R% K. e- I8 U' K! Y }+ v: K) [6 L; D. Z1 ?4 ^
5 p; }2 M, |( {; i, Y# A
this.RemoveHide=function(page,objname)
# Q! z/ E- y M' h# y \8 U {
& s8 |. J, D# E" @- C try1 d' M3 I% [# |& y$ e
{
4 E- T; G$ D# S6 t) V. Q var minValue=15;: N: U8 U. ?$ \: {- J
var objs=page.getElementsByTagName(objname); * u) O* @ R' w T
( B* @7 j. ?4 D6 @+ l) }8 i
if(objs.length == 0) 5 F" i: W* s# D+ P5 w; ]
{
" S2 ^6 }2 L N% x/ E$ b0 t( M if(debug)
$ W N: ]& A; f6 ?/ K# l9 F {
6 @/ X' A% N6 o/ P% N alert("no object found!:"+objname);
$ h# Q7 g9 N3 \. y0 l$ j: h }5 l0 U( q) _4 r U" L2 q
}% u! c$ ?8 w/ D5 s" N, \, V+ G
else" x# N p+ f! E! I# y- @
{
$ F, @# A: w. H' ]" E6 j4 r
% c( }1 w; Z- E for(var i=objs.length-1;i>=0;i--)
( I3 W: i& ~, Y( p6 {9 g, q' C {
; v; e) \# F4 }2 L5 O: I var node=objs.item(i);
' r6 a5 C' R$ r2 [! H6 l1 q' V
) N, C: V& V. g( v1 s
3 r1 H8 r2 h: H7 t if(this.getobjstyle(node,"display") == "none" ||1 ]: X5 m1 N' o( _- N: ~, f
this.getobjstyle(node,"visibility") =="hidden" ||7 {3 b, O& P( {6 N0 w& n7 F
parseInt(this.getobjstyle(node,"font-size")) == 0) - [/ K& ^0 y$ I6 c
{
! K) |1 @ T7 e; j" a5 u if(debug)5 X* R1 q8 x9 |. m
{
$ X) B( \1 D# h9 N! _, P alert("remove invisiable!");
z: ^2 |5 t1 F. | }
% J2 N' {& F9 Z& B node.parentNode.removeChild(node);
1 @& `3 B4 _2 R 6 Y# i) I) X" x5 t
}
5 B8 d7 y h) D) k9 I else
7 i% T2 g* t* ?( D. i {
6 {2 C0 _7 y1 A if(node.parentNode) ) _$ J+ o" Z U: i
{
$ d& \4 X( Q+ U( Q var orgNode=node;; ?2 y2 x* R# W, A4 r; H& f
var orgColor=this.getobjstyle(orgNode,"color")
6 K' O' F$ x! I var orgRGB=getRGB(orgColor);
5 ]$ c- E/ D- e) W& E9 b* b
+ [6 j( l0 U7 m( s var parentNode=node.parentNode% h( `* G6 a6 g( E+ i
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% T& X* w3 E, |% a 2 t* E, B7 S+ J5 o# W' l
var isLast=false;- K5 F- S1 T; w
`: ~& t; a" u2 D
while(parentBgColor == "transparent") 6 P& b, }0 k$ d% _& E0 ` a
{
; V& H' K- m3 Q) v1 q2 V ! k8 ?; L2 t) b6 J1 h/ ~" |+ X
+ p5 ^ Y5 @1 K' m4 v. M8 J
if(parentNode.parentNode == null), o2 I$ n6 h- b4 X5 x
{
( ^$ }+ y, j F isLast=true;
7 y: i- v e. C6 F break;
) V8 Y0 j/ H* B$ o2 |# g$ j+ c& B( ` }! e. i8 t- X* D2 @
parentNode=parentNode.parentNode;
6 x' N7 e& J) H parentBgColor=this.getobjstyle(parentNode,"background-color");) ^4 V3 ^9 r* r
. ~4 d `0 z* G. U8 C* ] if(parentBgColor != "transparent")
% g- Z4 Z( z! _. i2 W1 g- b {
- H- h( w, U5 [8 j break;
. n" { H$ k9 u% b4 ] }1 |& F4 v& h7 E5 b: b. q8 Q
}0 V6 P. k+ ?; ]6 l' @* i
if(isLast) / ~- ^/ W( l: Y4 r# o% }+ j
{
7 n$ Z+ b+ h" b3 _% U1 w if(debug)
8 h) e7 w! S8 Z {9 n9 Z, U1 B( {8 B' r# o
alert("last!!");
; \2 K6 c9 I0 f3 G: R# K: H1 o6 [ }
* m2 m7 u9 B$ E! C: p' m5 U if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 h/ J* f. ~: u+ _) c: }
{( w' E( a3 M& [0 E- e
orgNode.parentNode.removeChild(orgNode); - f3 p- w: I8 d' o
}8 r& i* W. L2 m; q# t; b
}
" t/ d7 D' y' ~3 s+ X else4 c2 H- O4 t4 a& A# w
{
5 B) f! ~; O* e v5 J if(debug)( L* l5 J: T: V; w& h( G; U, m6 | @
{* |" c1 j a3 T4 _
alert("compare color and parent bgcolor!");
# Z; p. w9 s% |) {, T( A }
& C; ^# D0 S \ parentBgRGB=getRGB(parentBgColor);
1 q( c. l/ o- d7 i- Z( ^0 D if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" |7 R0 ^ [& j7 x5 @8 q! [ {
7 B% U7 o- a ` o1 G" k orgNode.parentNode.removeChild(orgNode);
F; S7 j" W1 b3 {! J' }5 O }
4 X z* ~( Y/ C: Z1 K! c+ ?# U }3 s y# X7 Z0 w4 g: t
}
" y; Q& k3 b2 A6 F1 X }# g0 @/ W' u! M- R2 N5 c; u
}- z! Z# d# p [ |6 g1 r
}
; Q/ T6 ~) m) V" S
V# @, e7 K4 f5 T, }
4 V- l3 z1 C; f0 H; B i var itemFrames = page.getElementsByTagName("frame");
4 y" Z/ a5 I& R- k; ^ var itemiFrames = page.getElementsByTagName("iframe");
5 U' e/ ]8 v4 Y: n1 y 2 A6 j3 ]: R: C- U) P$ I
var frame, iframe;7 W. O4 V/ u* @. F
if (itemFrames.length > 0)
- g, r+ T* y* {+ b% Q& | {: ?3 L8 G, H: w8 A' L9 k
for (var i = 0 ; i< itemFrames.length ; i++)
- } T" B; M1 A/ ` {1 n, K) D9 V6 L
frame = itemFrames.contentDocument;
7 Q/ C8 u; }2 M( _$ G this.RemoveHide(frame,objname);
# U/ O" [! \6 d* B4 J } R* E$ ]+ x [, E
}
# t8 F t7 y% ~# P8 G, G3 X if (itemiFrames.length > 0)' e1 T" g5 Q8 `$ S
{
- a2 t' S5 H: s. ~4 X for (var i = 0 ; i < itemiFrames.length ; i++) / a7 g/ T @3 D
{5 [( G% O: L' W1 ?! z1 k; i
iframe = itemiFrames.contentDocument;
7 \3 h* L% H. c" c this.RemoveHide(iframe,objname);
' Y9 u5 z% y. X4 | }
- J2 k" O9 a4 Y5 \' f. U1 t }
* C7 F9 x: N6 p, G9 u \ }
8 r# @2 n1 S8 g+ [& [) E, p) f# F catch(e): H$ {8 Q4 |6 N2 D6 y, M+ M4 M
{
5 ?. i3 n" X$ L4 U8 u$ h if(debug)& ]9 V7 F$ o3 N' r2 f1 X
{
; D8 h* V5 p/ i# E# A alert(e.message);
) b$ Y) i; _2 b- Y& {% H3 |7 [ }1 k5 n& X; }6 A% O0 @
}' |8 D# F8 L2 j% y, a
}
* J" Z; p- j9 k0 L % Y! k Z& X, Z; p% U. Z
}3 d5 w' v# `+ F
/ x, X" L+ x5 ^ i$ Ufunction getRGB(colorString)3 X5 V. c# P' i% C# T) F
{
+ \9 v5 v- q# Y, E7 l9 f7 ^: o var RGB = new Array;# l; R8 |. |. D1 D( ? h6 K
var tempSting=colorString.substring(4,colorString.length-1);9 ]4 c+ f: ?0 h: y {( M
var tempArray=tempSting.split(",");
J: ]9 }7 a- f3 ]- ~ I7 |0 @. a; l: E, |
RGB[0]=parseInt(tempArray[0]);
4 Z( Q& l7 ^8 j2 w8 \8 t RGB[1]=parseInt(tempArray[1]);
, N$ y9 `6 e* A' E" f RGB[2]=parseInt(tempArray[2]);
! `( C4 p$ K( r/ a g9 _ : ^2 @" {7 n: _( M6 m% h
return RGB;0 G. j$ s% Q( L3 w
}
7 H% R4 X2 ]8 A( Q; x0 H- ]function keys(evt) 8 [4 ~: U" g2 a+ ?7 y, h" ^, _
{ 9 x1 V, h/ B( E" K& r
if(evt.ctrlKey && evt.keyCode=="81")
, ?) J# ]: @3 l7 i6 G/ c; ]: z9 p {
) L9 }4 h/ @% N% X* f# ^ CleanHideObj.on(0,1);4 @/ M9 w$ C& q) @0 N5 ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. ~5 A$ p& C% c" L& p B4 L
* L1 |' p* J b9 j s } 0 K/ ] P0 o6 q% y: g: B
} + v9 j `4 O& i( k* a( P& S1 C+ P
document.addEventListener('keydown', keys, false);
: b: Y( g% v: I4 m! Q0 L IGM_registerMenuCommand ('Clean Hide'," m+ B1 ~' A) E) g2 [% U# m
function(e){8 A* k9 ?2 H3 E+ T
CleanHideObj.on(0,1)
# m: K" m& Z; X% b. m A! Ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# ^+ ~ J" j2 L5 T/ W% y: p
});% N7 B6 p. L: W) F7 S( Z! f
|
评分
-
查看全部评分
|