|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 t& I% ^# W; o
& Y. z1 ^) ?8 K火狐插件,用猴子5 y. M# n8 F0 a5 E* V& f
3 g0 M7 Q* Q" {8 W9 D# _" r9 Wvar debug=false;
$ L, r4 ^3 v2 L& D L/ y3 svar CleanHideObj=new CleanHideClass();) i k- _, V/ x" w
# B( X* e1 M$ @2 _8 P6 {function CleanHideClass() 7 |, `( N% E( g/ [6 z
{
& J8 z9 v" |" ]5 {3 F3 W
/ x- `6 M- _' B4 w this.on=function(id,bMZ)
& q5 C" a4 ~6 { {
/ Q% G' ^5 {. u$ c1 v
" c2 H' L. P. G/ F5 Y4 P if(id == 0)
! v. k& O+ z! q6 W: p0 K- e {
* U1 ^9 I$ ]1 E1 c var page=/* document.getElementById("content").contentDocument */document; 0 O& K* ]; L9 x* c* I' p7 o* K) l
this.RemoveHide(page,"span");
s: Y0 }- a2 M- S6 [4 k6 Y3 O this.RemoveHide(page,"font");
: Y& S& @/ f8 b# w7 Q& d2 z this.RemoveHide(page,"div");! M' c8 `8 s; ^; F( M
this.RemoveHide(page,"p");
! {7 `, c! C4 R
" t3 {4 Y7 I$ [' q }
$ N" B, L# F) H% C2 X l, L
6 d3 w1 J' y, t" i1 r, q6 h }
, o( Q2 q! w+ { c this.getobjstyle=function(node,prop)* H4 O! N0 W ^" Y
{
1 Z& u8 e% p# v" \3 v% A try
/ S* O$ U7 ]5 j' j# a2 p9 S {
3 V# @% C$ x9 j, z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* i" I' n/ |0 D7 P% |" C: F' P }$ a5 S; K! y- V
catch(e)) _: u4 S: Q# G% A3 P* @" {3 \$ _7 _
{" Y5 l2 a1 a' g1 k
if(debug)7 ?% G5 G9 |8 b1 ^; b
{" i) L: ~5 Z5 o% \
alert(e.message);- `1 F3 g4 [1 p. P. K# B
}0 k& l, u' e- ?8 f# O0 `+ Z* H
. A" `9 P( _+ _& f4 R return "200";4 C& S' V5 ~8 N% P2 ^2 k
}+ p* w. f7 c* |8 T* E
}4 o1 e0 G- F5 `5 L& r; Y3 q7 v
& ?" r j* p! T& }7 f. { this.RemoveHide=function(page,objname)* {& f3 R' {5 [
{
* e# `0 o6 y$ o# O( z try
2 ^* `7 v; ]6 g {
! W- `# a/ f3 a b8 D var minValue=15;! G/ X( e* q8 P) k
var objs=page.getElementsByTagName(objname);
( R: y+ N/ ?! ~. e( n* s Z7 j, a. ]" r4 H* G1 S" b
if(objs.length == 0)
+ Z. a; F5 c ?5 ~3 U. ~ {
# G/ b% w& l5 c4 N9 I if(debug)- X0 a- Q; e* n( m
{# g! }( W$ j" o- V2 `" z# L; }% v
alert("no object found!:"+objname);
/ a b4 q5 q7 E6 ? }% g6 V! C4 p6 x; t. }7 o8 |
}9 k7 k5 q- P( {6 O0 i2 G0 l1 v) w4 ^
else
6 p+ t5 t; S3 V6 _, z Q {; K+ j! y: K+ L( [* O0 {
' y7 j0 q5 Q1 y0 R4 Z, Z
for(var i=objs.length-1;i>=0;i--) + J& S6 ?( D _( x0 m6 w, m
{2 v# ^/ k" `2 n( G" P
var node=objs.item(i); & {' x8 C- `4 J0 G8 V: n& B5 @
! w9 n. L; ?, ?7 x }$ E
; j+ Z( }7 v! V+ K1 Z if(this.getobjstyle(node,"display") == "none" ||
8 t; J; j$ _# v5 W this.getobjstyle(node,"visibility") =="hidden" ||
/ E( D$ P& o: L# I; i parseInt(this.getobjstyle(node,"font-size")) == 0)
. o' e6 q/ ^- w( u5 I4 t {
( I! a" s0 h0 h7 t, W7 e) H if(debug)
% g4 I# q! ?/ Z' }/ A {& H5 k5 k- Q3 M% P( x+ R
alert("remove invisiable!");5 a C$ Y3 |; z/ H F
}
9 J3 L9 L9 {& e) W x node.parentNode.removeChild(node);7 _2 t9 G( L0 o2 E
( K' V# w+ `) c( A Z
}
7 I% x8 f/ c" |/ \' O else % E) O9 [8 p! x7 e+ S% ^5 Z
{
1 S7 w8 A8 T/ b' @ if(node.parentNode)
# `5 V1 P p U. e0 h {1 N0 G1 t, h5 E
var orgNode=node;3 U; f6 |; F& U9 R
var orgColor=this.getobjstyle(orgNode,"color")
1 D% F' h) F/ R7 Y# B var orgRGB=getRGB(orgColor); ( p$ y# H: ` H- ?$ E; s
: e+ [3 B9 @: h' k" z- A
var parentNode=node.parentNode8 C* O' s9 {5 L$ U1 `
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ x% d4 W8 [0 G; ?; \ Z
; r$ `+ e3 n6 |( q5 G( m' C var isLast=false;
7 V& }8 S' N5 j% C0 N: O s& g% s
' v6 ]& g, h V6 y- e$ z while(parentBgColor == "transparent") M; O& ~: L u. g: d1 f# n
{, [8 W/ l4 R# B
+ p4 ]8 q3 b! o" X6 Q2 P, Q
% o6 ~& O" F9 w2 k6 }* f! m6 c
if(parentNode.parentNode == null)
# p% g( s q) `& k {
1 ^# p V1 Q" n. |+ V isLast=true;& B7 f9 W$ A" u) I* w
break;
9 `$ l" L" t# B/ P }6 V( Y* J# l/ y: E, T6 Q' q
parentNode=parentNode.parentNode;
( I+ s$ S: h, O9 G! e4 r parentBgColor=this.getobjstyle(parentNode,"background-color");
3 |+ x4 f* ~' W% s' }
6 i7 x# L7 ^0 n! M if(parentBgColor != "transparent")
: R. c5 x& _: [, w1 u+ {% P {; H Q2 M$ Y: H6 @$ ?
break;& Z6 A2 M- u+ L0 `) D( J; D
}
6 [6 I' ~6 ^( V: d6 U5 ` }
3 o; I0 I/ P3 M1 S1 g8 u if(isLast) 7 G8 K9 l# S3 G% H
{
0 j2 O1 L( j, ~& `0 J if(debug)- q! D7 s# m# |! L1 l
{
* G) ~! |& z! f: R alert("last!!");# p4 [ r$ u7 |3 I) O4 Q
}
1 v; z) [6 g5 _9 N9 \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ F8 ~- a# v+ Q: L; r5 p$ N {
5 ?& |. ^$ Z" E$ S8 l" S6 y% ` orgNode.parentNode.removeChild(orgNode);
' o% e+ T9 u7 _# H3 C; r* K }
3 N( `- j4 O2 L }9 d! |7 {9 e7 a0 V/ [) I/ n
else9 X4 i0 B6 R: J$ P5 G$ e
{: j9 d3 Z6 z% [$ N5 ^
if(debug)6 r! [8 g5 x1 Y1 g0 M& |5 \& p! Z
{
2 ~6 t0 }- H/ e alert("compare color and parent bgcolor!");6 S* ~7 h3 e4 {2 H" Q
}
; S% ?* f* e% X6 v9 u5 e% A) } parentBgRGB=getRGB(parentBgColor);4 h, Q3 Z5 \6 ^. \4 H: J
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 s, O3 c6 j6 h' h {* p# `% f/ g8 ]+ ^% `5 i- d/ b9 ?
orgNode.parentNode.removeChild(orgNode); " P0 B; y- I! l3 t
}
1 w, u2 f7 D. n) U( z }
% ?6 j( A- } Q {' I9 q }
( `# m k4 _1 R7 D9 R l W+ _ }8 u+ o6 A( T4 a( @
}
5 H7 _ [( s+ O/ J- J }
* T( p) i+ g. V g
; ^, P1 N+ l& O! i- `# K) T 6 N% ^; @9 z9 G9 { |1 y
var itemFrames = page.getElementsByTagName("frame");
3 b3 }$ z: {. h/ Q* E var itemiFrames = page.getElementsByTagName("iframe");
5 o0 s6 b- y+ i- M; @, U
) C, \# }4 l4 e" E: U3 M var frame, iframe;
% g% B' s o1 a; z if (itemFrames.length > 0)
. u/ d, s; J( e- b, I) o {4 u8 q5 ]' [! {8 ?! d6 J5 t
for (var i = 0 ; i< itemFrames.length ; i++)
. i7 J5 G6 a# X3 B4 _1 _* _ ]/ O {$ V* s0 X4 F8 j" F" p
frame = itemFrames.contentDocument;
* r. r. Q6 A" z7 k) a6 m" e* z% v this.RemoveHide(frame,objname); , [1 @6 u( T; s) w7 e* j
}' c2 l _: N/ V4 ^
}
% A' T" X6 B% a' }% P1 e6 J if (itemiFrames.length > 0)6 u" T: @- y" d; r% r
{
& J" l; R I S! A9 V+ S for (var i = 0 ; i < itemiFrames.length ; i++) 2 u- B& y! j( `# {: g% G t+ G0 e5 {
{
: w# |" e$ m' k; o. V iframe = itemiFrames.contentDocument;
) ?2 n- R5 J8 R0 @7 z) ]- _; G this.RemoveHide(iframe,objname); " l# P& S. z4 L, W4 A& K+ L
}7 G- D9 d) b" [7 r; t/ F% X" b ]; M
}6 q, A4 Y6 [+ f
}
( S+ y4 c) }$ L4 {. q catch(e)
/ A; O( x) A- A+ } {
1 h0 T" J3 r x) e9 p0 l! j if(debug)
; ]) K. ~: H' a6 w {
) \" P% A- a/ V: _8 j# H alert(e.message);; P7 ~8 F2 i$ F2 W) \
}
$ @% O ?, m. z+ v, O: Y }2 v' g* `' R4 b# i
}
) Q" i2 k' `1 p' e/ N8 p+ @+ j ! f1 ]. y8 f" `$ I' ^' X: H
}
! h3 z& U3 |" }
' B! N6 m% W( jfunction getRGB(colorString)' X5 \' G5 W( h2 i: N$ z: e5 I2 s
{6 X% b/ j6 h: v. O
var RGB = new Array; H( i( h& _; j4 S; X2 f
var tempSting=colorString.substring(4,colorString.length-1);
5 ~& B- L( o# r' d, _% g9 `/ | var tempArray=tempSting.split(",");! M* b1 P% g0 |2 U
% @* D, `2 d/ P3 _0 x RGB[0]=parseInt(tempArray[0]);" c* R* o0 ]. T
RGB[1]=parseInt(tempArray[1]);4 A6 P0 o5 H5 [7 W5 `9 S# c! ]0 p; l
RGB[2]=parseInt(tempArray[2]);* w( s, ]& r v+ l& j
, ^( R* v0 p- [: K
return RGB;8 o- s4 m# F K& V# ~% D& e; W& o
}
( E7 z2 i, f5 `+ r: N9 b# j6 k( Ifunction keys(evt)
. O a; G; K9 z) i { ! j6 t3 v" l1 _9 g) e V) h( ?
if(evt.ctrlKey && evt.keyCode=="81") . e2 |/ G* G9 A7 o+ G( O8 o# c0 G4 ?
{
: E- ?. F6 v+ l. L CleanHideObj.on(0,1); W5 i! L( m. r* ^( |$ N" V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - z( a3 k" M5 V8 U
4 h; L* K6 ?6 b1 K" `7 L } ! i7 d; t, V; j
} ( W) m6 Y, r3 s
document.addEventListener('keydown', keys, false);
* ]+ N3 w$ b4 b1 }7 Q( `GM_registerMenuCommand ('Clean Hide',
& \+ ^ P( @7 r! X7 B$ Xfunction(e){
. Y( ?" q+ o8 f; V( O' ~CleanHideObj.on(0,1)8 j" @; V) K' g+ f+ T# Z8 x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 S, `- U' i! A. n/ g6 h* L});
. v/ w0 V% k" K, y1 m+ g% H \" ?2 N4 r2 A |
评分
-
查看全部评分
|