|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 z' s& ]/ d: S) c
2 d) _% M- k+ M6 u/ F: U6 \' ^火狐插件,用猴子
# q4 L! g$ A! {3 I. Q" x
b h" s! Y1 A6 x9 Q7 W+ Z" zvar debug=false; ( y- J7 G! s0 t K( e! m1 B
var CleanHideObj=new CleanHideClass();
. g& ~6 L/ ]6 t4 S; R, w. ]3 n& j: J& e2 O. ^ M
function CleanHideClass() 1 H9 r+ R: z0 N
{
* t( V! g/ J( F$ m( L
. m0 [# Z, G% S' s this.on=function(id,bMZ). v0 k, W5 P) s' Z E' t0 u+ ^
{9 X& M8 i7 u3 d7 S. T
# Y( ?5 R6 y0 A: ?4 k4 E
if(id == 0)
6 u/ C3 ]' O* m4 F! |+ M2 P& v {
& T. `7 k# S/ w var page=/* document.getElementById("content").contentDocument */document; 1 Z8 K2 u c" _ J+ i/ D
this.RemoveHide(page,"span");
3 [( n" J7 Z' P3 V) }. {3 {& u" ]6 m this.RemoveHide(page,"font");# y9 S. _( J, J; |3 _6 U- {
this.RemoveHide(page,"div");6 p/ K9 T, k! H* c) S3 j, E
this.RemoveHide(page,"p");/ U6 h- D2 S- A+ r
* ^) |, N" [0 t4 I% Y }
* Z1 j( j' O1 p+ D3 v1 ~5 l$ p
% ?$ b* X& W6 p! H! J- \, d }
. o' A2 X; o( `- j D) r0 I this.getobjstyle=function(node,prop)/ {. F0 `8 ]$ Y3 _+ c$ _
{
* b0 W ~- I' [# n7 D+ B3 g try
% V* v! z$ l4 g- r' d) H {
: I5 w n2 Y0 B' B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 V# f/ Y2 u& n( m: p& B
}: j, @9 o2 J/ v) {4 P3 D, h* H
catch(e)
+ T6 Q* w1 y; q0 n- E {" U8 M1 H3 _" A- X! N
if(debug)8 z8 }2 G7 h$ ]) D2 U& ~& x
{
' t; x: V9 M& Q. E$ k, _ j alert(e.message);7 s; i) z% `! |! _1 I9 T
}
, }( g* o0 f3 b6 H
9 E; [6 F- Y) z- L return "200";; r0 f# I5 m, Y) m0 L1 U) g
}
/ Y1 g6 _, v4 @* \ }
$ v, @9 m% u e5 @# L 7 E4 Q9 a5 e/ |* Q5 h9 g
this.RemoveHide=function(page,objname)+ h$ `9 h9 H+ H. z
{
+ s3 }" p: e8 `4 ^) T try2 P0 Z4 A7 Q& A+ a% G }
{1 \. _0 v& Q( w, o& q* }
var minValue=15;
$ X! U& f6 P0 U) j var objs=page.getElementsByTagName(objname);
/ q: N& l1 V2 }, ^* Z, a6 f( ]
" ]" C1 H. ^& [4 o! e" B" } if(objs.length == 0)
& m: I- J7 y3 ]$ N& x6 R, Z {
* K9 \( H3 N0 t6 P/ o! f p if(debug)8 K- j! J0 J; T5 h P
{
6 G w5 a2 A8 {* S0 W& Z alert("no object found!:"+objname);
7 z' W3 o5 ^) x% |9 i7 ^8 o+ F* u( p' L }
* ^, g m. ^4 G% @ }8 ^/ V: v: B5 D: B4 ]1 v
else
2 P( ]+ `5 R2 O5 Z) U {7 ? l: o8 [2 C
, n* @1 g+ s! y7 X9 g k- \
for(var i=objs.length-1;i>=0;i--)
2 R- c4 S# P) ? {
& X+ G1 p2 v: M0 Z var node=objs.item(i); ' n5 s! r: u$ F# P, A3 p; v0 K
# v, G9 E1 v g$ @
3 q( m/ N: Z; U0 f3 s6 X3 f# v- P if(this.getobjstyle(node,"display") == "none" ||0 j: V% X6 E- ]/ h9 {# [
this.getobjstyle(node,"visibility") =="hidden" ||+ Z g2 ~* w0 M/ A, h j0 ~$ Q
parseInt(this.getobjstyle(node,"font-size")) == 0)
, `0 j2 z" Q7 V1 o/ V {
+ W' [9 ]5 D5 U. i$ X) D! a if(debug)3 l8 }% k+ o1 {! U
{% m5 [- |* w, s9 k" K
alert("remove invisiable!");
' H x$ H; C# s. @ }
@$ t R: l% n# I$ ^8 k2 d node.parentNode.removeChild(node);
9 D' k0 b: e9 r1 [/ _
" N, k) j; B- j7 l6 T: D }
; z' M. |& E5 U2 k else
) B. i9 T/ P4 [$ g {
5 t ^$ M- o6 Q; O5 ] if(node.parentNode)
% \( P3 I7 u. {( I; N9 R {
9 _: C7 |# G$ { var orgNode=node;7 s, N* o4 `, l p2 Y4 H
var orgColor=this.getobjstyle(orgNode,"color"): b/ g7 Y4 L) J* n' S- {& Q3 Z
var orgRGB=getRGB(orgColor);
$ q# O/ K! i& f+ e! I3 S
, G4 K# v. m4 z2 V v3 B& Q var parentNode=node.parentNode5 u# e- H) v/ M$ |+ N) B3 ^
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* T, \% a7 D, X* A
' ^* C7 ] T8 r$ ] var isLast=false;4 Y9 a' {; D$ i3 l4 @- x* ]2 e
- C. J' J' g( O/ p- `+ c while(parentBgColor == "transparent")
; l& I2 C6 e1 B: T* f- n" @6 n$ K {
+ Q+ R; k8 o" t c* o) V# @
8 [; v" t+ S; e) V( S* [ + \% _& x9 ^6 {2 z5 ~
if(parentNode.parentNode == null)
; ^& @1 B- I# \3 a4 F1 S* I3 X4 h {" E( l. K- q X7 m) j* J G" w
isLast=true;
0 H0 U3 D" l: D* Y( l% ]8 @ break;0 f+ P3 v$ T$ B- u: F _& [
}; W- F$ X( T7 H# Q: p
parentNode=parentNode.parentNode;
! R% z7 l5 }) M8 J# N parentBgColor=this.getobjstyle(parentNode,"background-color");" F' p' f1 @9 S/ q* j
+ m7 r) Q# b) }% i4 H- ^ if(parentBgColor != "transparent") 2 Y; e6 R+ i8 ~ c. c
{
, [" p1 h8 t) j; I1 s' N3 @ break;
& M/ p. J" X4 I4 Y( t2 ] }% O, [ x1 |4 l0 |4 `9 I
}2 \* q# |: ^: n/ c/ A7 }
if(isLast) M. b: s& |% g1 R, s
{, m* d3 o- J: L- V4 a
if(debug)8 M- i4 ?; i5 R5 Q! ]
{4 V9 H% P1 { \+ L- l
alert("last!!");
x6 R6 D$ T$ @) z; o9 w }/ F, a/ E& x9 g& G8 s' b" g( _6 } G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
j$ K$ s' Z2 N1 c W8 M7 c {
" h" x6 g4 |8 Z* H3 g. l orgNode.parentNode.removeChild(orgNode); ! b9 D2 D% J4 i' V
}4 K. a3 R$ ?$ y- ~% N
}
0 F* y" x1 ^" ~) E7 B8 m else
6 Q& _$ m% d2 p( T2 m M, M/ g$ U1 S {
% S V) Q% N1 P: ]3 I$ B( S if(debug)
$ ?. H2 [# e# R3 s {7 p- i4 w3 N5 ]5 S. z$ T R6 D z
alert("compare color and parent bgcolor!");9 {' P0 G5 Z" U
}! L8 _' Y! D' p
parentBgRGB=getRGB(parentBgColor);1 }) ^8 V/ n4 x1 z5 K* Y& X' d* |
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- i) w0 B# Q! t: k0 p2 z
{
0 q' g! V4 C9 `+ o/ P) q orgNode.parentNode.removeChild(orgNode); $ [( _3 V: d# |; a; \$ d5 R5 G
}; @1 r! j( O, R/ ?
}
8 W! L3 a/ M7 w }
! H0 W3 T9 `9 _* \" ~# E# c6 D; l1 | }" O: U4 c( t% m! m/ a& L
}: n0 F7 K% ?" C B. Z+ J$ f
}
" _3 M1 y, d, [2 S: ?
) |$ O+ I7 c; O " N; s; P, J4 V' e# X- w
var itemFrames = page.getElementsByTagName("frame");* t3 r2 |! ^" Q
var itemiFrames = page.getElementsByTagName("iframe");
: l P2 v4 f7 w) a
/ h3 m8 _7 i2 E0 n/ W9 J/ i, w7 S var frame, iframe;
; G1 _7 A |. g if (itemFrames.length > 0)/ {7 O' p) T* ~$ O. _0 w
{) x* r$ W4 r6 k8 |3 W2 {; h2 K3 l' ~
for (var i = 0 ; i< itemFrames.length ; i++) ' }. p6 `% C+ e* n% N) k
{# I3 {. h' q6 b% [
frame = itemFrames.contentDocument;% p& B7 L2 W( @ Z
this.RemoveHide(frame,objname); , a5 Y& J; u, s7 N' o' ~0 Q
}
# O$ }) I `+ m- N }
0 q. K. Y( x9 @$ C" P if (itemiFrames.length > 0)
4 l) [7 N9 `5 d$ C, } {
4 A4 I$ Z* i/ u; w( G$ ^ for (var i = 0 ; i < itemiFrames.length ; i++) " N2 I* d( ]7 t& Z. M# h0 k. w2 Q
{* ~- I: L& m2 `/ `6 K, c* v/ ~
iframe = itemiFrames.contentDocument;' `5 E7 G- s/ n+ e- x; M5 B. U
this.RemoveHide(iframe,objname);
& v6 Q) \! ~8 [! Y0 g D% b4 h9 Z }7 w5 w; C+ C" |+ T4 J5 ]8 P
}: e* t4 Y8 l5 P* J5 L5 m) M- w
}4 w: M% _/ I4 c) J) \8 } _
catch(e)1 E0 E, Z0 U- c1 u. f
{
~& s7 C+ z9 p9 B3 }4 E if(debug)
5 w0 J+ H5 e6 v G( T; U9 A! b {, o% K6 F: ?. m; V' Y8 b
alert(e.message);% I2 C9 `" s4 k9 Q' c
}
Z! N T2 n6 m6 H' D+ H* B5 ` }
3 M. h+ I- O0 R4 @- Y5 [2 [/ a }
& f* y# G6 E5 o & `7 {. y* N* v' Y f
} l* E7 s' ` v8 p" a6 [, [
( P0 v' C7 k: j" [3 Pfunction getRGB(colorString)
g% m+ R9 O& P' L+ X{: g2 c4 c6 I6 Q% f
var RGB = new Array;
" H& K- t% s4 u; p var tempSting=colorString.substring(4,colorString.length-1);; P; u V; x Q8 c# i; }7 P2 K
var tempArray=tempSting.split(",");4 f9 J" x2 q+ F: F8 b# t* v$ L
* l6 f9 g" q Q; m# Q. g
RGB[0]=parseInt(tempArray[0]);
! H0 h$ {& E" @; e9 X+ G E' g0 R RGB[1]=parseInt(tempArray[1]);, b: Y; Q# q; ^' d
RGB[2]=parseInt(tempArray[2]);
4 s2 z3 m0 {; G' A5 o& ^& [% `4 R ) S. N$ P2 q4 M+ S5 \! ^7 ^
return RGB;
F: x9 f) w1 Y7 z+ m}
" S: ^- ^, h/ p- a4 g; g' `# q8 F2 vfunction keys(evt) 2 g# |! d1 y5 y& a; |
{ 8 a. Q4 X/ q7 Y* f( A( N
if(evt.ctrlKey && evt.keyCode=="81") : U* {$ v# j* m
{ 6 q* ~+ Y$ j$ \; F5 q( ]! o
CleanHideObj.on(0,1);- ]# B, q+ C+ F$ @# l) z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ V, s8 s" }! x5 U+ _2 e. J& D " d4 Q R6 M# o" D9 t( a, c; y
} " F( N3 n! w- o
}
4 A( c9 g; q) y4 Udocument.addEventListener('keydown', keys, false);
2 K0 i- v1 E% e0 s* v1 P% m3 W" `% F$ JGM_registerMenuCommand ('Clean Hide',8 V* I# ]5 \2 `9 j( ?* n
function(e){8 `! L' o: W1 Z; G7 D6 E
CleanHideObj.on(0,1), b" E6 i: N$ j" f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( {6 W) L" ^/ U; o+ T. C
});
6 `/ Z! t. ~0 B8 c |
评分
-
查看全部评分
|