|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* f0 R6 S" A! |4 w$ V }
% |- T; S/ L1 N0 [8 C火狐插件,用猴子* J% Q+ U& }5 b& y, N
c& J9 \9 s8 D" d
var debug=false; " e+ k- h7 c& c3 o; ^
var CleanHideObj=new CleanHideClass();" J" i; C! ~+ R5 d5 H9 T
# P- [* A5 r# W# F- ~& lfunction CleanHideClass()
! X- T2 ~ e. u# J% b{ 4 s, m5 H4 p9 u" d3 l; _
! ]- b/ G0 p) a! p! n
this.on=function(id,bMZ); m/ X' P$ Q# s4 P9 o3 o2 C) h6 R
{
# ]3 u4 x! w9 p4 Z! m" x( O+ s3 g ' Y u* V$ p$ P, h9 L) i
if(id == 0)$ Z" l) ]4 _& B& q" @
{0 f1 Q7 f4 g% R7 i- O# o
var page=/* document.getElementById("content").contentDocument */document; * q( W1 z. u# ]9 s, ?
this.RemoveHide(page,"span");: L: ~# P1 {/ v$ w3 Y) |3 J; a
this.RemoveHide(page,"font");
$ W3 a5 T; Z6 u this.RemoveHide(page,"div");; a1 `2 ~1 Z g' }
this.RemoveHide(page,"p");, v, B1 M9 P2 x( f' ?2 }) M
( X+ Y% { G6 K. }* D v/ [ }
! C5 p4 i: Q& }! _ + f. B+ R N* T4 A. P3 U+ L! x
}. O8 f+ G2 B" m ~ N+ W4 o& Z7 L
this.getobjstyle=function(node,prop)
+ ?; R5 R6 L0 p. S* K7 R {" y9 z3 S1 y+ b
try8 f% J' k; q7 c+ M# \
{
) m% \: v# E8 _6 u! X# ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ P/ j4 t- S# e ^; ^9 m. _ }7 `, ^- q+ ?0 I6 x7 U% @
catch(e)8 S8 J" f7 U' R: i$ v# P- @
{( ` g/ n+ f" p: o/ L0 C- n- Q
if(debug)0 I- B3 Y. f: I3 u: Y& _
{
! w8 F0 P) R2 @ alert(e.message);/ G( z4 a8 t; W5 k) E
}- f8 R* ]. e* _7 ]3 ?' o
9 {! D. n, C+ d$ X
return "200";
& G: _ u! B( z; s }& y+ p" z& N# e( x9 S" N. n
}! A* {3 u( w& l
5 a: B" O' O/ W% h
this.RemoveHide=function(page,objname)9 i& @+ r5 [- g) z$ n, J4 s
{6 [! Q) a- Z- D2 H
try* P. F1 x+ W/ r8 L' Q
{
) o! [5 R4 a1 O3 u5 H" d5 x' o var minValue=15;
0 W0 r3 `% _! Q5 @/ j* X% | var objs=page.getElementsByTagName(objname); 1 r& y+ z4 }- \/ q; O
: e r/ D! F. V- o, U6 G+ i) _ if(objs.length == 0) 2 h. ?2 G) g2 r% v" C+ F
{
! c8 b+ @0 H5 M) m z0 j% r* G0 G if(debug)+ j F7 S8 u( d# j# u- d
{
9 _/ a) o6 g- @. G, R4 w alert("no object found!:"+objname);
$ H( M+ H4 q! ^; j9 D' C# u3 r8 N2 o }7 g6 s" u; D$ r
}
" w a4 `7 v; `% D, U else
( @! r5 I# ]0 X6 n! y, D {! O; I3 N0 ~. F! R4 l
$ @4 V. C3 w, I1 t' I for(var i=objs.length-1;i>=0;i--)
) N5 V2 b0 m. C! H8 V2 ^5 A* j0 T- e {
+ k5 Y3 Z" ?7 q( M0 U f3 b var node=objs.item(i); " b9 K3 p( _, h ~7 L0 T
2 L4 z! Y9 O) N7 A& g
+ j& f$ }) V& [8 ` J7 [
if(this.getobjstyle(node,"display") == "none" ||
( Y9 T% A! f+ M$ z. y8 l9 S this.getobjstyle(node,"visibility") =="hidden" ||
8 k4 ]) T" t" N; q parseInt(this.getobjstyle(node,"font-size")) == 0) " [2 k5 o0 p8 p, f
{( u4 D" q0 c h7 P, E
if(debug)3 b6 Y0 ]- Z q" [' q& M, L6 Z
{
) a+ L9 A0 {! |. e alert("remove invisiable!");
) L V% P; t, ~( T }1 ^% R" H: t# S* g4 R6 b$ U" N( c& G
node.parentNode.removeChild(node);
2 E6 h. {5 H3 e( c; X 5 ^# u, u& z) S
}
" _, @7 F4 ~ y else 8 m' T( N% f; L# s0 C
{
' y5 z R' a: r$ \" \ if(node.parentNode)
7 o- z2 f, h; {9 G6 P: g {3 C5 U! {1 r! _( x& ^' I/ T
var orgNode=node;* {6 z _- N+ G' l/ \: U
var orgColor=this.getobjstyle(orgNode,"color")
# ^3 f2 `) P. n3 a' `3 |* n7 l. M var orgRGB=getRGB(orgColor); & p9 x" y3 n% o7 J9 A
5 o- o6 u$ ]) |# C) Z! `
var parentNode=node.parentNode! ~+ y7 _) p" d4 W) |
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) U) c# `# \8 ~* {
& a# J9 P( Z6 G7 Q var isLast=false;
" I' E; f! q' ~" O 9 p4 d' O) _0 \, t0 Q0 Y
while(parentBgColor == "transparent")
0 a* v( z& B. X7 c1 c& `2 R' M {
; |7 Z1 R: D5 q8 b0 Z! j: X4 Z
5 R! O9 K5 ?' Q- b+ j ( m; h: c$ I: c$ }) y3 O8 ~+ P
if(parentNode.parentNode == null)
6 T* l' t" v5 H! k" K2 @; |; {9 l( D/ W {- a( {; G' J# {. K3 n4 H* K/ y
isLast=true;
- O7 L6 [: G. t3 g1 S8 N2 t9 N. D" s break;
6 G4 f( t) D( @ }
6 [* d8 F+ @1 ~9 _9 W; F" ~7 t9 B parentNode=parentNode.parentNode;0 ]+ A) `) ^; n* y8 o3 y
parentBgColor=this.getobjstyle(parentNode,"background-color");
; R2 w3 c! Z% @$ o* |; u0 w& D& R" c& Y* R0 y' r5 w
if(parentBgColor != "transparent") ( e! T O/ [2 y( b ^
{
# X) r& H* R$ B+ T" @! f2 D4 q break;
! |7 o6 y, m. Y1 s }3 x2 {2 M, \; M) b$ d+ Q
}8 }4 p8 e; q' L4 v6 j# O5 ?- ]
if(isLast)
2 i F- ?; Q* u: T { a$ L! Y; f# m; w ^' S- o+ J' s
if(debug)6 H- n# j' V2 E3 }1 c, b V% Z' n
{5 @" \' i, J4 O0 Z/ j4 F
alert("last!!");: {6 n( L/ `. S1 k( J
}6 C) P" Q$ s) o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ F2 L$ f# B4 s+ m' T1 B
{
. ]. L! s, T! W orgNode.parentNode.removeChild(orgNode); . @8 B+ B/ p/ @# r6 o9 X, R
}, Q2 [& [9 j- ?- L- r/ s- a5 F
}. u! x0 m% \8 Q/ ?
else5 \1 O ~; ^& b7 _2 k4 K
{
5 m' C0 h* P4 U, j. [ g! ] if(debug)1 l/ L9 B6 F" e: w- m
{" I; X( V8 J. n& h; M' t- G) f
alert("compare color and parent bgcolor!");
2 `4 t) z Y9 L8 q3 d& s }
8 n& h4 y3 _0 u; W1 ?, K1 N5 u parentBgRGB=getRGB(parentBgColor);
. W4 h$ h6 V8 N) z; R0 G" q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* G- U/ @7 ^( Q" t4 G7 A1 b/ S: P {; }: }+ z1 A! g' E7 ?3 E e4 b
orgNode.parentNode.removeChild(orgNode);
3 l# W2 I8 w( U5 W* b4 `0 w& ~( b }& B7 x# q5 W* U5 o; i
}
5 X) U' x+ i w9 {& b }
( B9 r \& [$ x% i! C* } }
4 M# f* ~8 R1 L( m8 x" Y3 r }4 x/ Y) ?0 }7 H" g% U
}2 e; e& Z, S3 Q2 Z! N; [7 h4 L9 k
) k* _/ E6 h& v: f. v
# v) b, n- N/ F3 I" x- h2 E var itemFrames = page.getElementsByTagName("frame"); Y* o% l, {7 N
var itemiFrames = page.getElementsByTagName("iframe");
& O# Q; y( n. y4 w8 ^
$ d! p" r s; v9 m1 L8 p var frame, iframe;
. p4 Y" x" S- b5 y6 J4 D if (itemFrames.length > 0)" x! G! E& c" v% R
{
q$ }) e1 u0 U2 a/ n: s for (var i = 0 ; i< itemFrames.length ; i++) j" d5 f, P# a' E" k
{
1 q' P: u( ?9 y2 k$ l- I% { frame = itemFrames.contentDocument;4 s! B2 B9 _! K3 v# o
this.RemoveHide(frame,objname); 0 i. t' {+ H. W# N/ H4 x+ M
} y5 D, i0 J* A9 N9 A
}
- C& `0 @# N' t1 }3 {7 y if (itemiFrames.length > 0)7 U T4 R* f5 M; h0 R" }
{
, C( z ~- s! ~" C: { for (var i = 0 ; i < itemiFrames.length ; i++) ) W0 D* Z c8 E* C0 B1 H" g& R
{- q& E! g4 H# Y
iframe = itemiFrames.contentDocument;* A/ n6 \7 H( @8 h J
this.RemoveHide(iframe,objname);
' N: U9 \& p+ F9 z n }
6 Z+ T* f9 q7 Z% W( U; F }
: Q( ^( }3 i/ U' @% N" {0 b& r' X }
+ k- o& E7 [: h/ S9 r; H catch(e)
( V- d+ [9 D, @# B {
+ u3 W' q( W0 h4 M) u" g* ]- ] if(debug)
9 @7 [8 s5 Q0 I5 W7 D# m3 b. D ~ {, o0 J; l& u# x
alert(e.message);
, i5 D( ^ i5 v7 G& a/ A, z- X* I+ ` }5 A3 Y9 [" }& ~
}+ e; A1 n$ p$ a W
}
, A1 @* G/ _7 x8 B' Z i2 b6 w8 u: E
}
- X/ l+ b2 F4 x
3 u+ }1 a/ I2 X8 M3 o$ z$ Z4 k* ifunction getRGB(colorString)
5 q" r3 i U% z9 d R: d{- A; j- ~' R4 ]2 I
var RGB = new Array;
6 q- [; c+ [ {* \2 b0 u var tempSting=colorString.substring(4,colorString.length-1);
* D: Q4 l0 J! M5 r var tempArray=tempSting.split(",");
: N( w4 w" v# T* L( W" D
" o* K0 ]* I0 Y RGB[0]=parseInt(tempArray[0]);3 r4 \; q& ~) W5 {, P
RGB[1]=parseInt(tempArray[1]);
5 j/ o, i: A& L) c; @- W" k RGB[2]=parseInt(tempArray[2]);, N1 A, I1 `+ D' B! J
' o5 ~0 f; n: W1 J3 f- x" W return RGB;
% d3 ^) |7 H! e6 y( j n}
8 q; J+ P: {6 d, k4 zfunction keys(evt) 9 {" P* ~2 j' }" G% w( [& t
{
0 X: @# Z& d! K; `; k if(evt.ctrlKey && evt.keyCode=="81")
1 y, A: F; w: i# D F! j {
0 O* n' g8 | t" t. S; H CleanHideObj.on(0,1);3 T0 I( V$ U7 s) ~* I; y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 A9 I7 w; s. m/ ?
9 r1 G( |5 [0 S0 _' O, N } 5 V3 L3 t& u( \6 X, s
} + t" F+ q' T1 b
document.addEventListener('keydown', keys, false); ' D3 ^5 N; X! V0 y# _" ^
GM_registerMenuCommand ('Clean Hide',
4 {6 Q& ^1 m' F7 S1 Y* \function(e){
/ h& J+ x* Y6 h$ H/ o, @CleanHideObj.on(0,1)
- F% \9 s. c( N u) }7 Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 S$ ?# k2 E' n9 L3 ]: u2 h, `, d9 _: i
});4 U- F- [' r" m& `
|
评分
-
查看全部评分
|