|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 D- `6 V9 H$ Q. U
9 { x% \' ?1 O5 T1 n% _6 U火狐插件,用猴子& a! V. z% {* b
! ^" ` g* b; B5 }1 e# E Z( _
var debug=false;
3 v0 Y# r/ ^3 d( @( bvar CleanHideObj=new CleanHideClass();
. S8 {' j( [0 [. C
$ J4 x" F' [8 n! f3 Pfunction CleanHideClass()
$ n$ e i" w$ x$ k$ p% M! i{
% p, F) [2 c' b$ @# w6 c! d7 S
1 c" U X( c+ t1 Z this.on=function(id,bMZ)8 d4 R9 B3 @( z/ K
{
4 J3 V& s" P( K; W9 w6 E* w
7 q4 I/ i6 d/ n if(id == 0)
9 E/ V9 p# R% X( c( p% } {( S+ O* t. l M( n3 O; d
var page=/* document.getElementById("content").contentDocument */document; 8 B0 n0 g/ E5 F7 {8 _ P) a
this.RemoveHide(page,"span");7 s0 y, B3 x, v0 L
this.RemoveHide(page,"font");
1 j* f9 n2 S8 k this.RemoveHide(page,"div");
# @( c5 Y+ `( {" d this.RemoveHide(page,"p");
) R; z- F8 p4 I8 U5 p& Q
b& m4 e7 U9 }4 G }
5 ]! Q; z% l. {* P B$ C! T W2 A1 }/ N y; A" s( J/ k
}/ D- T/ e9 [. l4 x' p! q
this.getobjstyle=function(node,prop)
3 m. U' {+ j$ p( }( ]6 o {! G( ^- w+ r2 e2 `8 b2 {- C
try7 f; D# y/ G# N
{9 m& n5 U# t1 z- U) u; F* s( v0 m' q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" C* M n! o3 k. Z- v
}4 H% Q) \" w. z# P6 V, [+ V* a
catch(e)
1 [1 D6 O2 h- j1 \+ r {
1 L5 v6 O. ?1 x" p! M( E$ u" \ if(debug)
5 }9 q7 ]4 M+ A {: P$ l) a: T3 S" A; _
alert(e.message);: G; ]7 V( V! m
}
" O& \) ` s3 f1 l+ j" h5 t
; C$ a" p6 P h. K return "200";
5 o: x" N) B1 Q }0 X" M2 P8 o( r7 f7 g
}6 C% C1 ]% m! f8 p3 l
: X; R2 a: [ i( d5 v. P; U
this.RemoveHide=function(page,objname)( }9 V6 f$ @$ ]
{
6 V$ ^+ ?1 I; u: v2 y8 M try
/ C% ^" G# w5 R( Y {* i1 Z/ Z. J6 {
var minValue=15;
6 c8 Z T/ d+ _; y1 h var objs=page.getElementsByTagName(objname);
( |6 u- x% R r/ P5 B3 \" H2 M
if(objs.length == 0) * G; J% O$ x6 R* d8 w
{
! G- E; |8 x% D9 U# j0 ? G if(debug)# J5 p" Z: g. \. z. M
{' ?* c; ^# p4 @5 ^/ b# O
alert("no object found!:"+objname);4 X D* q2 ~8 ~! {7 O/ U3 r
}
( |* F2 x$ {' O3 q: _+ U }/ }7 U7 I) k5 ]! I
else
& S% R( i& k- } {! z/ p3 O$ n# m* z4 K/ u
$ n: o4 i, w. _+ d: J/ E$ n
for(var i=objs.length-1;i>=0;i--) ' v$ ~: A% ]' W2 \
{- B- k4 s: X4 p8 I' @2 g
var node=objs.item(i); H. e" c( [: _5 k9 a# N- E
7 O7 n& d& N: B" G0 R' j' w 6 P9 r" k( k8 n
if(this.getobjstyle(node,"display") == "none" ||
* t' @7 g/ x: O7 d, Z' N this.getobjstyle(node,"visibility") =="hidden" ||5 t t) R" E& X
parseInt(this.getobjstyle(node,"font-size")) == 0)
- Q4 q& b/ I) O! j' |/ I {# b9 a" z- e' G4 E) z9 H" k2 _1 y
if(debug)# g) I2 {7 n% L! r# |8 l
{7 K# ]6 i% Q' Z" s" _; \# ~$ D/ [
alert("remove invisiable!");
0 E8 [7 X' f& \) @1 W* h: I }
* P; i) ^* p: _* O @ node.parentNode.removeChild(node);$ b2 I1 i& N* E& R4 W. w& P! ~" Y
3 a, f: b8 z: b% {! T+ z7 a }7 W2 J9 g. M% m0 X5 }6 ]$ {8 Z) U; d
else # |1 a8 E9 b# w S1 X1 h
{; {. S. T d$ L# ^( B. M0 Q2 a
if(node.parentNode) ! Z% W- V- p( ?! N
{: z8 ?6 c; V5 x4 }4 T
var orgNode=node;7 M7 d# m/ U! q+ o+ B: b
var orgColor=this.getobjstyle(orgNode,"color")
$ ~# b$ @& a. x- q- P var orgRGB=getRGB(orgColor); 4 w* t% I8 v9 P( w9 D, O7 p0 E. t9 E
8 e+ \( Z" S7 e$ F7 R; ~6 X var parentNode=node.parentNode" Y: L4 ?9 ], D, n
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 M+ ?% V$ _6 g6 V8 z$ N0 F
( V- a! f- ~' W" h2 h2 P1 e: g var isLast=false;# U% R8 [' S: M {6 M/ W
l2 m- s; V. o
while(parentBgColor == "transparent") - u) x6 b* M/ v9 T
{4 G F* ~# ~9 m+ [5 u% G* x6 t& u
5 x* @8 G) L+ h% y
% ~3 X1 O2 {3 s- J8 t if(parentNode.parentNode == null)
$ w- s; Z7 ?/ n' z# Z {
- E g* T/ V9 M1 y+ X isLast=true;
% b5 U _& z5 G/ b: C& `1 k7 q break;
- f, E) A6 O7 L( H }
3 q- h/ ?* C( d8 h1 x& M; N4 A parentNode=parentNode.parentNode;
3 q( V, k9 U% b" [( Z0 G& T parentBgColor=this.getobjstyle(parentNode,"background-color");
/ X) O8 ?- x6 G2 R+ K9 z7 J x8 K. _
if(parentBgColor != "transparent") . P1 @$ X! Z( e% d% w
{1 P' i+ N% b: M
break;+ ~/ n M$ W: f% t9 ^" i0 |) I
}
9 ?6 o6 g) ~/ F }0 s1 n' u+ o' ]* g, S0 l- p0 `, G
if(isLast)
7 f9 A5 Q$ F- `5 {+ s8 l; e+ N0 m+ A: V {
H" P; `& \% v- s6 r9 e: F if(debug)* s4 b# H! ?' U4 ~% u4 m5 {. W
{
8 O2 b- A, ?" c- z: G8 s- g alert("last!!");
4 O4 x. f+ Y/ e. n }
2 i( {8 ~& U; y$ x, R, K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 K8 t5 R8 r Y! n
{1 S8 l+ Q- Z0 w7 ?% S( ?% _- Y* H
orgNode.parentNode.removeChild(orgNode); 9 v& c/ X- W& O9 ^
}
, R' S/ X, V* x Z c$ Q( |- C/ }- o }
! k! W* ?" ]: z M3 G7 E: u, G! ? else1 i8 A+ ` r( Z. K2 g5 f
{
7 u* s" P, R. z' X/ g if(debug)
; ?% a& O0 u6 p) |/ n# D) c! p3 K {
2 Q5 y9 B! p- o4 t alert("compare color and parent bgcolor!");2 o. Q. d5 [, Y& C3 B: x' F
}& m+ z* r: f( t' O, N
parentBgRGB=getRGB(parentBgColor);- Y' C5 h* o4 x) E8 M1 w
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" v) {7 s4 O' y* p3 Z$ t1 G {4 U7 _* q# C. Y9 q$ h7 W
orgNode.parentNode.removeChild(orgNode); % Z8 G8 q* G' W" z) X7 f9 }
}! |7 u3 o ~5 z4 Y; g5 P9 }
}
% H4 l' o! U4 y2 d: |, \- W+ j }; O A2 W- J* r" A8 K9 B
}
5 I$ t4 T* O" D `# `$ _ }
0 N2 v) K& o" U3 Y3 d5 {. g8 | }* b9 U& o, N. E* J- q( M
% j# U- W! [( } L# c/ `
2 W! f7 N w# x8 o8 O var itemFrames = page.getElementsByTagName("frame");& m5 h5 {7 I. Y$ s+ i' Y6 n7 Z1 \: O
var itemiFrames = page.getElementsByTagName("iframe");
# F$ j* e: Z. e( T7 N8 {: r: {$ Q
6 E8 ~: x6 Z0 U* C var frame, iframe;; L$ ~7 x- t# g' s/ p
if (itemFrames.length > 0)& Y" t8 `! O+ g: z
{! b# ~ E! J* A" m5 W
for (var i = 0 ; i< itemFrames.length ; i++) . [, c ?3 ]/ s$ {) Y
{
6 _( N) W- J5 q6 t1 B% L' r frame = itemFrames.contentDocument;" K5 @2 w5 ?9 a; E1 w# ^
this.RemoveHide(frame,objname);
) A3 J7 r+ {& a- ?. M- X }* T. h9 r3 n; S
}
! a6 B6 i# t6 R* O2 C( L$ x if (itemiFrames.length > 0), b* Y0 W. }0 R. T' ?' F* o
{
1 w$ y& |3 w3 X for (var i = 0 ; i < itemiFrames.length ; i++) : ]- `* X+ I6 N( M
{
w* r) n) P. I" P/ | iframe = itemiFrames.contentDocument;$ l' G1 f: l* _2 H/ W/ K, _4 }
this.RemoveHide(iframe,objname); 2 _+ v( s* v* Z- y2 F/ ~
}
, J: Y; v P& i5 x* {, r }7 b/ d* | M: L. L8 l
}
0 g9 d1 w% [% l5 A1 V catch(e)1 D% q; M3 y! a
{6 N/ G( M+ F) t) q3 T6 E
if(debug)
4 Q3 J: P; z' N6 ~ {
* W0 R: e. d; @! h) }% d2 U alert(e.message);
' k7 ?" Z' O; M5 ? }
' o. M7 \* e6 L; l }% \* @5 u8 A; _: Z3 m
}
6 K, }" _! ?! w8 Y6 d% I) B1 G & n0 W/ ~9 z; `( L. y" Z
}
+ N$ V0 Q/ T8 J. u2 J, U8 R
! o5 F3 n/ P9 Y) P1 P* E. gfunction getRGB(colorString)
' s0 m0 f2 l7 Q8 y8 I/ l0 N; z{
. z D5 C0 d* v- H( ~) y( g var RGB = new Array;+ @5 t; j- n: P/ T% A6 X: V
var tempSting=colorString.substring(4,colorString.length-1);
9 [6 l3 ~: x9 n K; M- G% A* j, ? var tempArray=tempSting.split(",");# d. Q m: Z1 Q4 Q6 E# m
0 i% ~8 A! J6 `1 Q
RGB[0]=parseInt(tempArray[0]);+ B8 C. a+ x# {2 i
RGB[1]=parseInt(tempArray[1]);
; n8 v1 a2 H5 W RGB[2]=parseInt(tempArray[2]);
7 G# z" F/ K3 W
5 _4 t, t# j# F# c4 j4 V+ [ return RGB;
/ p/ l) x9 N# X2 z}
# _: `' L; ^) \6 T$ A1 b$ Ffunction keys(evt) ) {; U w* W* w
{ ) ~& W( b6 E0 }' c6 y4 Z
if(evt.ctrlKey && evt.keyCode=="81") " I( M3 s! P% M# }5 G# u# @
{ 0 h, y% i( [6 A
CleanHideObj.on(0,1);
8 s9 d. |: R4 C/ b; T2 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - j1 g! k0 [& c }+ X1 s1 M* P# Q- y
0 F2 x6 u! [' P5 M6 v }
' b1 s% r q; T' g }
, W+ B9 `3 [/ H6 \+ Wdocument.addEventListener('keydown', keys, false);
; N+ R( J9 w* X2 T0 GGM_registerMenuCommand ('Clean Hide',& ?$ G, l1 P3 f9 o- s$ { c& o
function(e){
1 R5 ?, G1 D3 |7 d' NCleanHideObj.on(0,1)
; z9 ~5 y* q5 G% j& ^' Y, [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; l! p# G) \7 Z* t3 A J
});
9 C3 w+ O+ Z8 T( _* b d |
评分
-
查看全部评分
|