|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ S. I* C8 S8 X
3 Q; d* N5 _+ S/ {! f火狐插件,用猴子" M$ y# G3 M5 S! E+ c1 w
* h$ }. V% b( N0 r, | g
var debug=false;
8 h1 _7 c* G4 l& L( E# evar CleanHideObj=new CleanHideClass();7 f4 Q" d3 m; s8 z
. O- o" V9 p) `% C4 h
function CleanHideClass() ) G! u3 r" h) t% H
{
( r) r7 g4 O: }, u [" f/ ~% W ( |! K- r: B# S" ?& v" H; Y; n
this.on=function(id,bMZ)
1 C# R0 ^) O( E K7 s* _ {+ S1 W: z/ B- ]6 B7 q
5 ]) d; {0 \! Y/ ?
if(id == 0)4 S6 k7 ?) ^" \! w
{
9 ~9 Y0 j9 R) F" X var page=/* document.getElementById("content").contentDocument */document; 4 i/ i' b6 s$ \9 K1 P. ?* I
this.RemoveHide(page,"span");
6 U7 e- a% N# Z8 ` this.RemoveHide(page,"font");, m) [' z; a4 R4 {
this.RemoveHide(page,"div");2 I. k' ?$ U. @* j% h L
this.RemoveHide(page,"p");
; X: b# \1 z! q
" J9 [% E, k( o7 J& R* q }
) n# ]) m7 a: k7 P% [* a$ s 8 Z0 p9 u I5 q V: a/ H
}+ j. d2 P( j$ F. Y" X# Q
this.getobjstyle=function(node,prop)
% S- N1 L* N; E4 D6 _0 E" Z& g {
- N- L$ m5 T* F) f) M7 @3 } try
6 N3 j/ O4 d/ x# S; ~! i {
( A: [9 H" O) w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: C" Q# ^, ^! T8 w; }7 h
}
6 ~+ _$ V/ V' z8 D, M$ @ catch(e)
! V, i ?+ Y& M4 N" a9 b; }8 H {4 `$ L$ A0 N+ u b
if(debug)
) k+ x6 E1 o$ ^; V {
+ ]8 d7 {: G3 f" N2 ]% d alert(e.message);- X* R/ q8 t; _; T' ^5 V2 }+ o
}3 f+ x1 d7 ]; y k
; D: R* j: V: O- q: r& F L8 ^ return "200";
E/ C- X- R% c# o }$ \0 a4 T6 ~1 \8 ^, |/ [
}
* `: ?8 }$ g5 C
9 |% G; J3 v A9 w this.RemoveHide=function(page,objname)
/ b) Q$ I. c% F) n {+ X1 s) k {, O1 s5 @9 }3 @2 b4 K
try6 A a3 H: n9 a5 o4 C1 _# r
{
; L* u! J" n* q& w var minValue=15;5 X: z* k d1 l6 z7 V4 B& w i6 s
var objs=page.getElementsByTagName(objname);
( d3 s( P6 c* w
4 Y9 p' n) O# ] if(objs.length == 0) ' e) ~) F+ Z) K0 ?1 K" m
{
' P2 W% \6 C3 `8 _) D2 f if(debug)
1 c" p! m9 b" y6 q1 l$ a, B( V {. e2 ?! m2 F5 {1 C0 Y C
alert("no object found!:"+objname);
$ F+ J m6 i/ b s3 l; i3 C }
5 f h/ V- P; d6 [ c }
4 r3 E$ @+ c4 f; J else9 ^; K' i# [( m( z) f7 D
{1 }5 m0 M: ?+ l
) F c- A/ N/ P9 P+ _4 @( E0 t( j for(var i=objs.length-1;i>=0;i--)
! X8 A* _* E% [, L- v {
1 B* i* C1 @: Y var node=objs.item(i);
/ s8 A5 ?6 j/ s M- [% C # q4 X$ P0 ?: ?% I t. ] [6 y
5 m( i/ g1 ]* H; H3 T* T
if(this.getobjstyle(node,"display") == "none" ||' E" E/ `: b+ I3 h& K" {# E
this.getobjstyle(node,"visibility") =="hidden" ||
: ]6 J/ \5 }' I3 C; k; z parseInt(this.getobjstyle(node,"font-size")) == 0) % j" c2 @- _0 L
{) v* h; Y' L( ~6 O
if(debug)
" G0 v0 M+ q0 O& w6 o6 Q. l/ }' [$ r {
# l3 O* N' Q: o" X. S; I alert("remove invisiable!");
, G' W L7 F* L5 k; G }$ D% a3 X( F! R
node.parentNode.removeChild(node);
/ n i; x0 v0 m) `7 c/ `) n
8 U9 q) u7 g$ `; j5 w }
2 a c) P1 M, H else 8 @$ F2 O2 g- f- J. x6 j( A
{6 n1 X6 w2 i: i& f1 ], g4 _# s
if(node.parentNode) * |9 s; i" f( R
{
7 f) p) B+ q1 x8 e var orgNode=node;
2 t1 R# Z" A9 h+ m, `( d var orgColor=this.getobjstyle(orgNode,"color")* p5 m. K( {$ s) S4 P5 R; v7 l
var orgRGB=getRGB(orgColor);
, z4 {7 i1 s9 C$ c J " @3 T8 \& T- j
var parentNode=node.parentNode. x. `- D( k5 D! K& ^+ b, ~' X- j
var parentBgColor=this.getobjstyle(parentNode,"background-color");" p# j5 i/ M" @, U4 \
- l' D4 g' Z3 H1 n, P- z- r var isLast=false;8 x0 l7 f' ~5 N) J q3 V) u
+ S! P5 \! x o( W3 v4 z
while(parentBgColor == "transparent") & _6 ^% _- [/ g$ u% {$ X) G$ [
{
. Z) ]% M1 K$ n& P, e' F) O. y; s # }) i0 `3 V+ O, w) f$ p8 t8 k& I* R
/ h% f3 _" u- N if(parentNode.parentNode == null) Q: {- m) F% o9 X' m
{
: P& B' c: F3 L3 [3 m; I isLast=true;
! G8 U3 b: R8 v5 m% R1 B2 h break;
/ v4 W; @3 e9 ~. d4 C: h* d! i }
: U7 X( E% ~# U# E3 _ parentNode=parentNode.parentNode;
/ F- E2 m, f# p- ^' M8 V2 t! r parentBgColor=this.getobjstyle(parentNode,"background-color");
8 g. U" d b3 L: J# B7 M" A
1 _# D9 G2 P1 P+ d' x! d" h; z if(parentBgColor != "transparent")
* a) f2 M& U# ^ x2 F3 V {' H- j5 w! N' |% J+ t) a
break;9 B0 z3 j( l$ T6 n6 }; R6 g
}3 J# ^; D4 V1 t& k5 n
}
9 S6 U4 o' p" t. b* L if(isLast)
5 y4 ^! g* b1 ~" E8 n9 u, _3 | m {
2 I P' r; C3 D0 K6 b3 I2 h6 r s, @ if(debug); B2 L* U6 D6 `4 H9 I$ a& Q' ]8 `
{# t1 p6 b1 e6 o+ v, s% s& D
alert("last!!");
' Y! C/ I( `! y }# U1 c# [" ^5 P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! N% q2 E d9 a4 j0 ]" z$ V { U/ H1 y6 ~) D7 ~; j9 @6 a5 y0 ^
orgNode.parentNode.removeChild(orgNode);
7 o$ Z6 p7 Y7 g }" N$ x* ?0 _7 y" E6 S$ b/ w: K
}
) V0 M2 J. N% N else: Z" Z# p# u$ S* h" s' R/ D
{
2 M3 [" I' M9 g! M ` if(debug)% o: F) g6 l6 l
{! `% B# p' B8 ~% Z% u. c6 o
alert("compare color and parent bgcolor!");: T5 ^# m% p$ [/ [% j1 {
}
/ l; ?2 Q) g0 v' ^: Z* d; K) s parentBgRGB=getRGB(parentBgColor);
r3 e5 `: W) |- A* [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 O- M- y7 l$ j8 h
{) R- b# G3 e$ `9 ~! j& c. S0 j& ?
orgNode.parentNode.removeChild(orgNode);
) C& v, f9 X. a, X. C6 G }
- d& z# Y0 U ^# H& | }, v8 b5 I4 x1 R e: i
}! e2 C- ^) m8 m; i. b
}% Q3 A# b8 ? R1 s4 j2 Z+ a
}; ]) s6 i3 E4 _( s
}
I3 I0 k! {0 ~" z
9 D- ~- B1 n( h8 L1 H4 J' w6 y5 Y
" o5 k/ Z9 x% n var itemFrames = page.getElementsByTagName("frame");" l5 }8 P ]6 a( r& L6 @
var itemiFrames = page.getElementsByTagName("iframe");
* l, ?( S1 M( I
# U0 t% ]4 B' v5 u var frame, iframe;
$ C P# q8 F" R; X, y7 x p if (itemFrames.length > 0)
8 ~8 K9 f1 r5 J+ g, B- ?( W {( K2 |- Y3 h0 t: H: }0 b% N
for (var i = 0 ; i< itemFrames.length ; i++)
7 \) `4 S. ]7 l {
) W, I t2 G9 r6 ?$ S8 m7 ?3 n frame = itemFrames.contentDocument;. \5 ~- a/ j# `3 I6 |
this.RemoveHide(frame,objname);
3 W! Y# q, U$ D* }9 u( a; V }
2 N# p7 z' K7 A' s }9 E# g E8 h% n; w" n
if (itemiFrames.length > 0)" F2 A I% A0 y% r5 v) U. e5 |0 @) l8 O
{
" O$ T- G+ W; i7 ^& G. d0 v for (var i = 0 ; i < itemiFrames.length ; i++)
) Y( c+ J; O3 B. W {& X3 @7 d6 R3 c
iframe = itemiFrames.contentDocument;
% h# i- H3 a9 ~1 C' V3 {5 o" ` this.RemoveHide(iframe,objname);
8 _0 d7 V5 ~3 e, }) Q) | }8 n' d5 E. p" L2 a
}
# |, }" d7 v# X }
0 T' R* j3 h0 S. {+ Q/ p k catch(e)
+ g" ~4 ^- K+ U# { {/ [. M% ?0 B/ S8 {$ @
if(debug)- I. R- F8 a' t/ G8 ~2 p
{8 D) X8 u9 i* R. ^
alert(e.message);4 U, c: Q H: J& W. v5 Z
}3 B/ F7 V# o% n4 t- K( I. g* O+ b
}- G* t+ {1 y6 v, F" v3 Z
}
4 L2 z7 k$ L' D. l" `; }3 \
' N/ R8 I' v5 ?1 k- q}
) J$ X; v2 P, l* m. o) _ g' c# @* d6 ~. O% g# l4 L9 G
function getRGB(colorString)9 E3 q( ~2 L9 f1 p. }
{# u o$ c0 D# R/ s7 E
var RGB = new Array;/ B% J% b. v: t; W' \- W- O! M1 d# s* [
var tempSting=colorString.substring(4,colorString.length-1);8 W! S0 i0 K6 b6 W0 t
var tempArray=tempSting.split(",");
9 B, v+ B* _ [0 e# g1 r
2 k. q4 g9 [$ S$ F o' I5 m8 Y! F' _ RGB[0]=parseInt(tempArray[0]);
0 d/ D0 {5 }! \& j9 A RGB[1]=parseInt(tempArray[1]);1 c* o. M6 q# Z
RGB[2]=parseInt(tempArray[2]);
0 Q2 {1 _5 ~( N
0 \& k# k( L' o2 R return RGB;
& q8 {8 L7 o/ M% N' ]# {" M; v5 j; }}# a" b: _+ U0 e0 S6 H& T
function keys(evt) $ S# T0 r! @, G+ D8 S9 X+ f
{ 2 x. O" U( B- H
if(evt.ctrlKey && evt.keyCode=="81") , J5 X( x) d G' f' Q/ O, U7 v
{ 7 v p* f6 I) r* Y6 j1 y* m; s( ?
CleanHideObj.on(0,1);
0 a4 M6 u4 F- N' h( `+ c4 V$ E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) f L9 D. T1 E# z) K' H
; h; t. [! L6 S1 H% J3 D. ?
} : n. U$ Q8 g0 c5 q# L- Y$ |
}
3 J; Y' z5 a, }document.addEventListener('keydown', keys, false); 4 m' ]" q8 b1 n( H7 B
GM_registerMenuCommand ('Clean Hide',) m" e: @' g `3 K* L- C
function(e){5 O+ K3 B' h2 \$ \* e, U0 E7 f5 d
CleanHideObj.on(0,1)% f: Y3 H [0 o2 c4 w3 X# A- g( e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 X7 }0 g: M/ E& {1 m, k});6 n) v) \( B! ^
|
评分
-
查看全部评分
|