|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% M, j1 l1 I$ ^* q" }9 {
5 n# Z9 T4 p1 J! f/ f火狐插件,用猴子
# G0 w& b5 K7 r W9 k7 c y7 _5 }$ S5 t- P
var debug=false; 0 n4 U1 \: X; p5 A8 u8 k. n9 z# z
var CleanHideObj=new CleanHideClass();
2 U) N5 A" k$ Q+ N) O
; C# d7 D* \) u& B1 w; u6 F: k5 hfunction CleanHideClass() . M7 N# y( P7 @( e6 c- z; g
{
0 H/ t/ r# B! g1 V3 ~" ? 5 @9 T8 O9 Q, X% N" N
this.on=function(id,bMZ)
: c% \/ W# A7 a0 [ {* W# m/ G$ v# _
5 k) V% o3 K. G+ G( Q2 \
if(id == 0)
# H4 {; Q2 Z: x3 j {' E# K7 _; G' B9 q" `
var page=/* document.getElementById("content").contentDocument */document; % z& h! ~! o+ U" o. i" E% S
this.RemoveHide(page,"span");" M4 J1 L& A6 L) w
this.RemoveHide(page,"font");6 K) t! `) Z9 q* b
this.RemoveHide(page,"div");
5 G8 c+ j$ N/ p this.RemoveHide(page,"p");/ X5 J6 e* c+ s
- m, Y- B, l+ A+ L* h3 L }5 t X6 d8 j# T. Y4 h- @
7 w; A4 m+ T. d5 b5 u }
) K- u3 I* t9 i this.getobjstyle=function(node,prop)
2 [% F' H f0 f: C. ?* C% L, a( { {0 ^# u. m5 w g- S, i7 e
try! a" i# ~( R# \* r9 K2 o& G! z. l
{
+ _! s I; ^# m( S9 f$ e& R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 X7 H4 o5 L" ^$ R2 q* B
}) I/ d( y2 s$ u; d% x7 Z7 F" e1 E- [
catch(e)) t! E) i3 g; B- i
{7 V. S6 J+ i7 n4 Z! f
if(debug)
4 s) Z- Z+ S% [0 f9 f4 F' l {: M' I8 h. F9 p1 w" e- V
alert(e.message);0 Q l, Q) A- ]; p8 E3 D
}
; e5 Q' N% P" m5 K5 ~6 f+ O# A 3 D% G: n( A5 y- `
return "200";0 E. u5 n6 J1 v
}0 k3 [! F2 X$ I! i+ |
}1 K* p: `; k6 ^% d6 t0 J9 \
) f/ M6 A; e- L3 a; ~) R8 U+ h
this.RemoveHide=function(page,objname)
) Q8 c+ L' ]5 P8 e e, S9 D) y {3 p0 R3 a0 [+ h, r, ~
try
: ~7 g* C! i: J: T6 k# E( v- @ {
6 `' U3 u: C" o' n! `$ v" f8 \( W var minValue=15;8 G+ z/ H1 S+ s, R& E1 C4 F
var objs=page.getElementsByTagName(objname);
1 a! c+ ^/ q( [( G1 L8 f
0 m, P6 M* i0 D3 q- T. i, F, s2 } if(objs.length == 0) 5 `$ Y- m3 w2 a8 l6 ~, c2 P, t6 J/ B
{
. k" r Z) X/ \& {3 s8 o* Q: a, P if(debug)
* C1 d( m2 M1 Z6 U {6 f9 u4 E+ ]1 K
alert("no object found!:"+objname);
$ F# I! f3 [0 [$ g& R8 H }
' y7 [( o% m7 b% Q3 X' Y7 F, w }& W$ u. G, i* z3 g
else
4 }2 M7 Y% E. [' D {
5 U3 @ n7 v0 [( V) s7 v7 ^* e1 F* d
! F" N9 a) \2 |" o# x2 X for(var i=objs.length-1;i>=0;i--) 5 D' I5 Q! o @" Z( k) l7 X1 [0 A4 B
{
1 z) N4 A6 ^, X- t4 R) g var node=objs.item(i);
; P' ~) |3 `+ _' B& z0 v( M' h / n, E$ R2 g( @/ `% A
/ I6 b& u% b/ i% p4 M2 o7 B
if(this.getobjstyle(node,"display") == "none" ||
$ j& x& t! Z$ B# k2 T this.getobjstyle(node,"visibility") =="hidden" ||* G& C/ D8 Z2 E( |
parseInt(this.getobjstyle(node,"font-size")) == 0) ) s; f/ P+ G4 ^8 l, e
{* {; G9 c3 u' F% r3 o: ~2 h) I
if(debug): A, W% s# y( O' c6 i
{/ T+ j4 O7 i; A3 K
alert("remove invisiable!");2 \) e) q0 a. k+ _7 M' g ^; w9 v
}0 \- Q ~% V8 c c7 | o
node.parentNode.removeChild(node);
' y& z; O C# @, }7 A4 p
% U4 ~7 b) e. l6 F2 h }/ w6 B; q# l. a: T" f
else 0 H }9 g. C [! N2 @
{
2 O! H: y$ i* h, T if(node.parentNode)
. O* J6 r' y/ u) y( m {" v) a5 P; c3 ^3 G6 c; Z
var orgNode=node;
" J/ b' F4 F- }- o' I( m- ] var orgColor=this.getobjstyle(orgNode,"color")
! P! M* Q p1 j. `+ q! } var orgRGB=getRGB(orgColor); % w3 h) O- Q! D7 X' s3 c
" i7 R- t4 k2 q* P* [! @0 j var parentNode=node.parentNode
O) ~2 M1 Y! q* D& X% l5 f var parentBgColor=this.getobjstyle(parentNode,"background-color");
) G2 z4 ^5 d3 c! F* f* ?3 g , m3 T2 z, f9 t4 A" L! X4 B
var isLast=false;
# C' F3 L$ L/ t K* H( ]
: K' A; `, {; e1 k8 j% C- } while(parentBgColor == "transparent")
P5 @9 U4 D! D! A6 | {* y' ?( P6 f Y1 }0 Z6 }" {
) v" L* T h y, F& p; w ' W* A, v9 C; @8 p% [" b
if(parentNode.parentNode == null)4 o% o; ?: y/ n/ J$ O
{
+ _! u& E( y# k! I3 l4 O isLast=true;
* J' l$ q7 \3 W' C: F, A break;; |9 H- Z9 K M$ Z2 a" K
}
7 \/ d* h" m8 q' I b( l6 M5 h2 r4 M parentNode=parentNode.parentNode;
; y. n) R- b- P8 ~/ p; J parentBgColor=this.getobjstyle(parentNode,"background-color");
$ d3 \& J7 |: c5 f5 d/ q% B; Y* T: W/ m2 a
if(parentBgColor != "transparent")
" p$ x% x" V! F2 m9 t! i$ @9 u {2 z/ D6 x: i1 f \% \3 ]
break;
" x2 j# ~1 ~$ K1 }' } }' w* B$ Y$ Q8 K7 ]
}
$ g$ g4 m3 ^% B' v3 t if(isLast)
: m$ T6 `* ]0 `" J! M2 c8 t* ^ {
9 U0 h E6 [8 Y7 Y" }; _ if(debug)' j' f% U% x: |* d0 a
{3 E5 u. F1 O) J# i! Q
alert("last!!");9 v) X+ _3 R& r" q+ d0 K
}
) O2 F& m4 S* V( g* p W. s, s% ~' V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 ^( _& A3 Q' h+ x* Z! Q4 L
{
2 X" j! R3 ?) u5 d; ]) D7 @, ? orgNode.parentNode.removeChild(orgNode); ; ~5 J, H- ]9 h. h' K
}
# O' {* ]3 }% ? }, ~' n) `% K- X# @" U8 a* w
else( P: n, o8 M4 R" Z! m7 e1 ^, \
{
, e$ d/ j. ]* X if(debug)# ?' |; Y3 u+ O7 z: G
{1 g, N) z& q. T. e
alert("compare color and parent bgcolor!");
4 q6 ~ T. r: O, ~' y& z/ ]- k }' s3 O' \7 m8 J% e' w( L) H. |" l
parentBgRGB=getRGB(parentBgColor);3 X0 X: _( f- |) a! [' r" t/ ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) N6 Q" l5 P6 c
{2 L* V6 Z+ B, F- q) g
orgNode.parentNode.removeChild(orgNode); 4 t* h$ g2 a; u
}
+ M& c3 R+ C/ j- {7 ?" B }
Q. k! b- W# [1 \9 {; {4 A( { }5 W4 b$ _2 ^6 t! F% h& k
}& q7 N+ R1 D! M# F) {& m
}
4 \% X( B) O& q; c6 Z8 D+ h }
% P4 V/ h# @+ y- C% G/ V' ` ' J/ ~3 y/ d0 a& p
" T; ?+ ?+ m5 Y5 @
var itemFrames = page.getElementsByTagName("frame");
* H% l1 m; O6 g2 L) V6 L, I var itemiFrames = page.getElementsByTagName("iframe");
* b3 G, O! A* H# C ! w6 ~ ~' b4 m1 t7 \8 W$ _% \6 O) n
var frame, iframe;% {$ s9 d2 u! p' l& s
if (itemFrames.length > 0) e+ _( o- e' @6 Y6 ?
{
' c k, d* N3 I: V' g; @& N for (var i = 0 ; i< itemFrames.length ; i++) # `4 c& V$ Y! @8 t2 ~8 V
{
8 b/ F D5 {5 o" r# z frame = itemFrames.contentDocument;6 `8 ]% e, ]/ Y& M2 I
this.RemoveHide(frame,objname);
2 y9 p/ g3 O* Z1 N8 v' v/ f' P6 D$ G }
( ^. p; c! \% A' k' M, V+ Q }
9 D# b7 o5 g" a3 e4 r4 k if (itemiFrames.length > 0)
" U: m4 m2 Y. c& q& M {6 i$ W0 R7 k8 S
for (var i = 0 ; i < itemiFrames.length ; i++) - F0 S# @7 f. B5 ]
{' v' E$ N3 m2 b9 W% z
iframe = itemiFrames.contentDocument;: E1 P( U" i R1 C. S* k( j
this.RemoveHide(iframe,objname); * w l; V5 W4 \: V! B. A$ w8 [! r
}
& X4 {3 D, A, c/ F }) F1 D6 Z7 n: d4 s
}$ S( r1 r- g* Y- w
catch(e)0 j: R6 [0 D! q0 D' L; `
{' R( ^/ |7 Z9 }8 E" ]4 ~( r* E, ?
if(debug)
( X* B6 t9 N0 D) U7 d" b {
5 V( _; u8 j! d/ h7 X- Y. ^" g alert(e.message);
* `1 a8 U: E* M, u5 O3 l: q7 G$ F) T }1 ?- K9 G) B' w& ^, T
}
. {* O# Y0 g1 `4 w' C k. o }0 y/ K4 h' H7 [+ i. h1 |! s+ p
& V5 I9 ^4 ^: k3 \, ]
}3 a1 U) B* c/ ^4 F' P5 r
; m2 S% q- ~( ^) g" j0 hfunction getRGB(colorString)( h3 X1 m8 d8 A: C8 a/ a+ x5 Z
{
' u) {$ x' u6 U V b/ S; A var RGB = new Array;) \, J3 @( K$ C8 `; P& H
var tempSting=colorString.substring(4,colorString.length-1);
1 N& p4 s1 @; [' ^. y, V0 u5 q var tempArray=tempSting.split(",");# i) Y) ]2 _- t
! |# E _; s8 X- n4 Q. V0 B7 M! a
RGB[0]=parseInt(tempArray[0]);% x( s$ x" p+ Y) a
RGB[1]=parseInt(tempArray[1]);' l1 s3 A2 h0 ]4 J2 x3 S1 b
RGB[2]=parseInt(tempArray[2]);
! l2 H. e4 U; I9 k1 _
) |8 J& B: B; C7 b7 T5 p' \9 d/ Y return RGB;( q+ W% J- J( ~" v, n' z( @ o% U- ~/ i
}& n* H; s# I+ m6 s2 K
function keys(evt)
5 U ?/ z5 i" {+ s( W* |+ v { & x/ e' N5 c* |+ e, H
if(evt.ctrlKey && evt.keyCode=="81")
( d8 d: |0 @/ x; \: c { ( F: s9 `9 c7 g! [( a
CleanHideObj.on(0,1);
! Q" t. B: H9 y% h3 O% E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & p* d' J& ^) A
( }1 Q" l3 \5 x4 ^3 k: \! P- D }
, r7 m3 X# J( d4 w% a6 B. _# B }
& R: B, [2 ]* w" J% s# ^) W3 _document.addEventListener('keydown', keys, false);
% ~- M) m9 T: @8 y5 FGM_registerMenuCommand ('Clean Hide',6 E: `( c6 F- u& u2 T: d
function(e){
% h: g' j: {5 \/ gCleanHideObj.on(0,1)
* v* W- T$ D7 {7 C' e1 B. e, X6 balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 m: o- Y5 Y! Y});
+ G% u$ z/ k/ I; t. ^5 I |
评分
-
查看全部评分
|