|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 V( \$ H+ P" n1 _' E3 K: A) u4 B
& a0 V+ S; j' Z) E% X0 {+ e+ u3 W火狐插件,用猴子
( e0 e2 }. j$ y
: Y6 O7 R1 G7 P) Svar debug=false;
4 ^6 Y% }- i D% Uvar CleanHideObj=new CleanHideClass();
( \: L. {4 n" Z+ `* U8 K; p: c# m. q+ L) l' j9 K
function CleanHideClass() 1 d3 x% C; @1 f) R# Q5 E0 k' A0 t
{ 5 A; M% L' c2 B; G
5 c. b T) N2 ]) z% \, l, \- W this.on=function(id,bMZ)
6 S7 a k Y$ h# \; e {6 S9 `" {7 ^$ V3 p) B$ A
0 P9 p# H9 g9 @1 T: ? if(id == 0)
2 K( C- q# p1 C% W {
* h. @$ P; Z7 x7 w var page=/* document.getElementById("content").contentDocument */document;
9 A4 g6 l' }9 Q; b7 g# A this.RemoveHide(page,"span");
. L8 L! d. L" }' f( z2 v this.RemoveHide(page,"font");
/ X4 o! ?# y% Z/ B* h3 t this.RemoveHide(page,"div");
0 m) a) G0 U2 A- @% x; | this.RemoveHide(page,"p");
" M& a# ]7 z# q; y
" L* W& |: U: L) R; u. k. ~ }! A( L# @7 U8 ?# x
/ F- G! ~2 x9 y9 S, X R/ \" d
}
+ ~* H% a, w- a8 x' X this.getobjstyle=function(node,prop)& H5 K5 O5 \- d) j( M% k
{4 H% W. {* ^2 M! L6 F* s8 _8 v& {
try! r" b; A3 k7 Y' }8 }
{# R" q$ V0 X. z. ~) m
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) Z1 L9 D4 T+ u
}
5 x+ C# q4 a1 \; E/ _) r catch(e)
6 Q' r! v) Q& W. u# V {7 z2 S* m* |# v& A
if(debug)2 b D: [) A- I' t/ G6 J
{3 ?5 _2 z% j* O( r1 A' h
alert(e.message);
u" z# @( e" R( I, D [4 P }! ?3 V9 A" e5 [% ?6 g
- ^; [# Q, R S! I% \6 n, [ return "200";' |, k" u% O- m- L
}
+ q; I/ X; |' h* v( [& o% j }, x5 ?: k" s5 K, P3 ^- @ _
% T$ j4 L2 x( w6 S; D this.RemoveHide=function(page,objname)
* ]! B* T( [( J' l6 Q( x9 A% Z, ~ {
5 q R W! F4 |& h try5 z' r- |$ c" G3 }5 B
{4 o& Q0 c, p. [! ^7 U# S
var minValue=15; j! _% K: D' J2 A: ]
var objs=page.getElementsByTagName(objname); " m6 G8 j k, J8 y
2 M6 N0 j0 C2 r$ k6 m8 t if(objs.length == 0) ( J" e7 n0 r5 s9 n+ ^
{. t5 {9 g- `8 e% ]
if(debug)
: G4 c9 ]$ Y! r4 w {6 C- h1 X3 @0 N6 w/ v: {
alert("no object found!:"+objname);2 z9 ?8 {+ t2 \5 {- A5 Q$ V, Z
}
: W) O% i' T L- U4 V/ M }
* X* L b3 L" z2 u2 ?, h7 r else2 {+ a' t1 P# A R* c0 |" |
{8 T7 c9 d( f( v5 S" B+ _" _
6 o! I) r7 r: _# b3 | for(var i=objs.length-1;i>=0;i--)
' \ H+ p) |9 j) Y2 w) u {
_$ ~% E" {: |$ ~$ _' \ var node=objs.item(i); : N) }- I# r; m+ J+ y( C ~9 q/ `
; C/ \7 `) R' t0 d
1 I" J5 u+ I0 _ u9 R# }5 k- V3 c
if(this.getobjstyle(node,"display") == "none" ||8 e! K" K5 Z( `/ q% H* ?' D$ F
this.getobjstyle(node,"visibility") =="hidden" ||7 @2 D r; P4 e/ k
parseInt(this.getobjstyle(node,"font-size")) == 0)
6 i& n5 X! o0 j& a D9 u {
5 k" u1 M; Z* H+ k& i- j5 a1 } if(debug)
1 Q f I4 i+ X# J$ a/ F. { {5 Q" Z: u4 }$ \2 T4 B" D% X
alert("remove invisiable!");. l( \. @+ C3 Z! `' J. f
}" r J" E& ~/ s! J0 C8 g9 G$ v
node.parentNode.removeChild(node);
6 m3 ?$ M, |+ a% t
+ S7 ~% k) a5 j7 r, i }
8 c1 C7 R: @& I6 R* D- {. [; j else
% x1 x4 c# X/ C" O {" L' i: z {" j; R
if(node.parentNode)
0 B& E' q6 b/ h {
3 m/ V0 K( k4 `1 l# _" m var orgNode=node;; W4 b0 @4 J" e
var orgColor=this.getobjstyle(orgNode,"color")
@ Z+ T5 T, P- i$ C8 U var orgRGB=getRGB(orgColor); ' F& o f0 o+ P# R
% e1 k! \& r" O, Z+ ]+ U8 M7 V' X
var parentNode=node.parentNode
. r, L3 Z3 s* l var parentBgColor=this.getobjstyle(parentNode,"background-color");6 m6 S4 o( x" t: s5 h
# H% Z T) ^4 D, E
var isLast=false;
) n5 O! I, b% L1 O7 n + i: H6 b+ w5 F& \3 x! y3 s
while(parentBgColor == "transparent") - w6 m5 p5 h- P9 R1 P% j% s4 l
{
7 v. j5 n# M0 |) M5 e h * V9 z) B: G4 I1 W7 s
# V* a$ o+ S; v) M
if(parentNode.parentNode == null)* m7 [! ] r' W- R" \ `2 ^
{
; K$ u- g0 J; I% n, o# j; l9 { isLast=true;& E8 g( @# y: i
break;9 v; K. |( ]$ g0 T! [
}
% ]* }! o. f* [( F% b parentNode=parentNode.parentNode;
6 k0 K1 {+ h% x( G0 o; F parentBgColor=this.getobjstyle(parentNode,"background-color");
' W* k J1 j8 H& W4 y# [1 p2 D, N6 C$ C8 @
if(parentBgColor != "transparent") , H$ E* @8 v* h. e- q9 k- J" h
{
; `. P: A9 Q" I: q' | break;
$ R1 s) e; r1 [0 f& W/ b- E7 j }; i: ^4 D0 o4 q$ u0 J
}
) L& t- J/ Q$ C1 e if(isLast) / J* b- t* c8 K( r' Y" K% {
{
9 Q' d! B0 V7 i if(debug)
' U: o0 i6 o2 K. Y {
4 E4 b' P i! O4 n; A alert("last!!");' N* u" c- D5 g. w2 s
}3 R3 V- s7 b+ i8 V0 E1 c
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- G R% C1 b# A
{
: A: y/ V+ L! x1 R2 ^ orgNode.parentNode.removeChild(orgNode);
, h3 R1 P/ A2 |& w) Y) Z1 D9 a9 a }* z5 S6 D# y( P( _. m) _3 E* u
}( v% K6 W3 P! E' V7 J% @
else% \0 ^$ T0 d5 Z7 f, u
{
1 ^0 D1 C6 i5 _8 r. v; y if(debug)$ T' u7 A- O/ N {8 ~* P3 J. R, U
{# l% n6 f* ?! q+ p$ E6 X
alert("compare color and parent bgcolor!");
9 z" P t8 d+ L0 I }, ?) p' t, ^7 @* O4 m* [
parentBgRGB=getRGB(parentBgColor);
, y" A# U. f5 J if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ c3 X( d5 v H# M# R {4 ?9 f# ~( H! o- I$ k
orgNode.parentNode.removeChild(orgNode);
/ e) [* [) g8 h- _6 O }
5 P0 C# n- E Q/ r d }
6 P; _4 U/ o4 N) v4 y }
# A% \! f. X p, f }: E5 t# k! c$ w ]3 M
}1 |2 f" W* `! f% T
}* u) v7 g+ S% Q+ k5 W5 [
* v- Q: ^5 Z; e2 ?
! K; }4 m* G0 J2 F' Q
var itemFrames = page.getElementsByTagName("frame");$ x: H- o4 d5 [2 Z
var itemiFrames = page.getElementsByTagName("iframe");
$ T- U' R4 {2 M
" n) M5 s7 w; k) O+ g$ e( { R var frame, iframe;% x1 S! l+ X4 T+ `, u/ N
if (itemFrames.length > 0)9 e1 } D( X+ \' r
{
( a6 n' x8 `. r" G2 D3 h+ J for (var i = 0 ; i< itemFrames.length ; i++) 8 N/ ? I4 P* a# G* n% r4 ]
{
2 c( Z# o1 J" Q frame = itemFrames.contentDocument;
) m9 D5 E4 M8 D- u2 _& [; X7 B7 W this.RemoveHide(frame,objname); d7 } u9 Y6 \
}- p+ X) G3 {* k/ I7 ^% ^- j6 F( M
}! Q/ ]4 }( B4 T
if (itemiFrames.length > 0)
( @" z5 d7 F% s9 k. t {
( s: ]# S5 W1 {3 A: h- d# \+ e for (var i = 0 ; i < itemiFrames.length ; i++) - f- {! L$ A" N/ K$ S; Z! Z
{$ b5 T( o$ C' c
iframe = itemiFrames.contentDocument;7 x& @6 f# x+ N, N
this.RemoveHide(iframe,objname); , C2 N/ @4 h+ U) D9 C( @9 A$ R
}; w) Y2 {/ A% D* ?
}
( s8 k w; _( c; U1 |7 p3 J; q }
0 k$ K, d: g. z; g catch(e)+ J3 E4 J! M8 C! b' ^, Z3 Z
{7 @9 j( a @& y8 [" m+ q5 L% s, d! s" s
if(debug)
k' z/ Q3 u3 W, P! z( W {4 @# n% s, }0 G& C/ H$ m) r& P
alert(e.message);8 z& ?) r9 P! D+ k
}
b9 v) f+ b! I! A }
( M/ w2 `3 }8 r' L }
, I5 _) w! ], g) Q1 U 0 ?$ J0 A+ D! k+ C
}7 O( ?. X% a2 I( z& q9 } I0 g
6 `0 B0 c5 f/ R( Z4 x7 H) J
function getRGB(colorString)
7 X4 N3 k$ N8 s{7 {. ?: L4 W3 Q+ h7 T O7 Q
var RGB = new Array;; O* H$ y1 B9 j; ?5 K* r0 e/ D* b$ t
var tempSting=colorString.substring(4,colorString.length-1);
3 P% Q+ y7 l! p- `& p var tempArray=tempSting.split(",");
$ ~. e: i9 ]; K- o! k# ~1 T
$ o- N- V2 G2 r) ~ RGB[0]=parseInt(tempArray[0]);
5 W- {1 o9 C4 A9 l* W RGB[1]=parseInt(tempArray[1]);
N8 u$ [. k% k9 a: L$ O2 b RGB[2]=parseInt(tempArray[2]);3 d8 \0 Q0 N- {' f4 R r6 D) z# F' c
4 }+ h: }; _ w! p3 X return RGB;
0 z: n2 ~/ U8 A9 H* I) o}+ N1 S- C+ u) E+ Q2 M6 n# }
function keys(evt)
; |& a7 q1 W7 t7 t& L {
+ {) T) [4 V7 I3 n0 |- b if(evt.ctrlKey && evt.keyCode=="81") ( i& J& [4 ]3 C9 [7 R8 N
{ 1 t- J6 H" l% i' {# J
CleanHideObj.on(0,1);% n8 D; Q9 s$ V9 D* p O @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; ^7 s+ W9 o' r5 S/ R+ z$ e
3 D" u0 Z- V* R- j+ A! s } 4 z, u& Y! k3 F5 m
}
! M3 k# p7 N1 g3 U8 M" adocument.addEventListener('keydown', keys, false); N) T- X# h8 f2 E8 ]( F% Y
GM_registerMenuCommand ('Clean Hide',
. I( u; a. Y0 g% ^function(e){
; v$ @5 P5 d: o; V' V6 ICleanHideObj.on(0,1)
# X0 m- E" h3 p! ~5 d' nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); K/ K; p9 I7 ]/ I3 m
}); O! R2 G' `9 J* P, g% H3 q& ^
|
评分
-
查看全部评分
|