|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; }4 Q9 G) | M
. h; w+ i) Z0 }, B8 n. n8 z6 K火狐插件,用猴子
* l5 d' t: Q- t: X4 \8 ~& ?
* S3 T+ a/ [2 \( E# Uvar debug=false;
1 A* E) s+ Z: D3 lvar CleanHideObj=new CleanHideClass();$ _( G2 _. z; i
# u+ e4 k* e4 K- q& p
function CleanHideClass()
4 s1 P+ g; n$ j9 F, g{ ' y9 U9 y! ~0 v! g
* }" F+ h* F! a1 e
this.on=function(id,bMZ)1 _* ^: ]' b8 n& w8 p: ^( Q. j
{
5 ]0 l' e2 Z) X7 K4 k
8 d y/ p# I. g3 V Q if(id == 0)& @$ ]; j5 S3 N) q% }
{5 n5 y1 k$ n9 n1 D
var page=/* document.getElementById("content").contentDocument */document; ) p( \' i$ c7 ]4 }
this.RemoveHide(page,"span");
4 h! m V! T6 g& }! ~! A# W) P; E this.RemoveHide(page,"font");
, f) _ P. I+ F; O this.RemoveHide(page,"div");
8 y s* M( R6 b( n8 L% c this.RemoveHide(page,"p");3 U" w6 \3 J$ F! w) L" p
2 K, [1 S. S) L0 Y, ]/ {. m( o+ Z }
. C7 t3 P3 {1 p5 r' r! q* f
& i* ^7 n% {$ o9 x, j. } }5 j" }+ K- I' ~4 W. `# ~0 o
this.getobjstyle=function(node,prop)
- r0 F0 ^+ O+ h. z {
& {* n0 Q' M; Q$ n$ l0 I, s try! u! i1 p" d# h2 `
{8 S2 z6 t% N9 a) e6 Z3 I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 N, J, w4 U, e7 G }5 d! ~ t9 l8 @- O6 |$ Q
catch(e): |' o- [: ]+ M: v
{
: V* k3 `1 D, j `0 b; _1 V/ U if(debug)
+ j# y- L I6 j3 g/ p {
( J/ n$ R# v* ^, O2 Y. W$ l! t" s; k0 s alert(e.message);
, B. h. F; x! n' t# G! a2 l }* d( {$ Z' L- Y q$ l
; D) P9 l; H; _+ D2 L
return "200";
X4 h' E( q. Y" e- Z/ v }
- z4 l/ q8 B( X& w }, T& s: Q8 D' w3 c' |
6 T- v. Y# _' Y4 e this.RemoveHide=function(page,objname)5 |# b! p) F6 c# o
{$ }: u- m% J. n( J& i. u0 X
try
9 E# j1 k9 j9 X {7 m# m; {8 _3 t* ~5 b% @
var minValue=15;
/ |0 l U2 |. b, S var objs=page.getElementsByTagName(objname); : w# J& ?( T+ a" S
8 f; S) n% E e. U" F
if(objs.length == 0) ; H) S: d q5 E7 k! `9 @ I4 D/ u
{
$ P! O o7 O% [' z) a if(debug)" l6 e3 B" U. R9 e) G
{* o: y5 ?% a+ t6 R% O& A, {1 m# [: b$ h
alert("no object found!:"+objname);
; \* A* [ V X# w& n2 Z4 y }) ]7 I& t' E* {) }! R, u3 ]5 p6 h3 o
}/ q9 ~6 i2 k1 Z: [
else
+ C3 w9 ]7 C% Y6 g: d- D {( A# v; V- k5 E1 A0 {
" p0 t+ J3 h& R$ l( ]) V
for(var i=objs.length-1;i>=0;i--)
4 Z# A( t1 @* [' q. t% |$ B8 V! M {
8 L+ d4 d! D( { C2 j5 R var node=objs.item(i); ( U/ }8 t" x9 `3 H8 p
6 r# @% ~* d1 c & b. j3 ~ W# e; k1 ?& J
if(this.getobjstyle(node,"display") == "none" ||
9 \5 C; l9 Z( ?& R6 R! A this.getobjstyle(node,"visibility") =="hidden" ||8 Y+ i h$ o# M# O4 F
parseInt(this.getobjstyle(node,"font-size")) == 0) " M0 @7 D7 ?7 H {
{
5 h- H/ }, r' w: M8 `) o) x% v if(debug)+ l; z8 J$ f4 B K6 g
{0 t' N; f, S. U5 Y( F# u
alert("remove invisiable!");
! g" t R4 q* D. k3 h" l }
" l' Z) `) I9 _$ X3 ~! x8 p) B: z node.parentNode.removeChild(node);/ c R) U& V/ k0 X8 _6 N0 T5 x
1 b0 d: i3 t5 Z0 O; k: s
}+ ^4 Z: q" a8 ]3 N, p! N5 _) }5 N
else ( d! m% B' k: \. c3 ~4 B* u
{1 I9 d3 w2 I) _/ T! x
if(node.parentNode)
( n1 B9 l' E4 h c# S- S {
7 l l) T' ~$ o P+ F var orgNode=node;
% @9 a! }4 C" ~ var orgColor=this.getobjstyle(orgNode,"color")! E1 r' d4 M E6 B6 v5 }* L9 n: N
var orgRGB=getRGB(orgColor);
' @8 k9 u% ^2 q" E/ O, E2 H
( J" V# u; m4 O+ K var parentNode=node.parentNode9 x1 V' K( }/ Y" n4 Y$ n* T- T
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# P6 g0 W% P! K! m6 j / @: T: c& i- I
var isLast=false;0 S7 `7 y+ X; w ?
, ^( g, ?4 Z# n. [+ [: g4 r while(parentBgColor == "transparent")
a, Z _3 }3 o8 M6 q% h8 z* U {
7 I3 r% @. X. p3 j% g g- ]1 G% j, B
3 Q: X$ q! |' K5 f
if(parentNode.parentNode == null)
, D# C. s: a* L+ e/ f( p) x% `' L {2 a1 o5 R7 k3 ]/ p/ j
isLast=true;! d Z# } u$ W" X; B& `6 @
break;
& O5 K* ^8 ^! t0 ~& C }+ I6 Y& T# m, ~: A& ~( Z5 y9 {$ W
parentNode=parentNode.parentNode;
; s/ b, ]% `7 L parentBgColor=this.getobjstyle(parentNode,"background-color");
! R4 U: R+ }+ Y6 U( ^' H) K1 L- ^+ l
if(parentBgColor != "transparent") , D2 W! d* V% S6 @& N- O5 i" L( h
{
9 L( ]3 I7 Z% i' F break;
$ D- \2 V8 ~. H" F }
# S# w8 X! O$ p: Y/ H& j }
7 F0 Z4 `1 g8 y$ v+ s+ F if(isLast)
$ q8 v7 s8 j* F3 w$ q" c/ } {/ S( d r$ N) j$ [& x
if(debug), Y5 g& `8 a+ G$ u3 r
{" h6 L/ i/ T. p8 G% m z
alert("last!!");
4 j R* O9 C/ I }" Z) w! ?. ]8 B! A3 d, m! r4 U
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 v8 C' a, X; P* P# q& Y& j {
M. ]# Q% Z" t5 A* S. T orgNode.parentNode.removeChild(orgNode); & u5 z h- F: ^! u0 R3 G1 x1 B
}
% C m7 T2 ]; e4 p/ C: l, L; z7 f }
8 l& z) G; }0 U" n- f' H1 _ else
2 Q# r4 G0 i* v2 [; M9 j( {! ^ {# Z& X8 L6 B2 y u
if(debug)' t5 a# D% y% n& |7 }. B
{
}* Z$ d3 \7 J, H) S, {( a alert("compare color and parent bgcolor!");9 B1 q1 o% t" |" x8 O( d
}1 @4 j G8 Q0 x9 g H9 N) ^( R
parentBgRGB=getRGB(parentBgColor);8 o# K% v: `5 G, a1 y0 P: z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 M4 z$ }+ U$ A8 h/ M. g {$ Y0 J- u; D; Z1 R% W3 `9 M, t
orgNode.parentNode.removeChild(orgNode);
# u, q- G- L9 m& ~0 K }
) V3 E% i. S9 d# {5 R2 Y5 @ }2 F0 Z: x% V7 s$ q* z' j4 \
}
1 S# m# r! b' I# C' j' J9 V }* p& Q. e& t: }- v; C
}- k; C; C* I. I$ ^9 @: `: b1 }
}
1 {1 ? ~7 X( ~5 } 8 Y# R* U% G3 N! M
! r! w+ k5 D. n8 J0 h% D0 ~
var itemFrames = page.getElementsByTagName("frame");
& P7 y, l% l0 p! E# D var itemiFrames = page.getElementsByTagName("iframe");
; a! [. s. c. k* `; R4 n
# a- p# r' U+ }& W% M var frame, iframe;
( K/ v+ l+ G6 U$ M, r6 g if (itemFrames.length > 0)1 |" `% p% D l" G, j8 O1 A- C
{
. U W/ {; f# K% r( l2 d for (var i = 0 ; i< itemFrames.length ; i++)
1 h( N3 r/ u+ o$ e7 F: M {# w8 o2 J! H3 x5 L5 r8 o
frame = itemFrames.contentDocument;! V3 p, n$ z4 s& o+ g
this.RemoveHide(frame,objname); 6 Y9 E; u; G4 h$ e% Q! [$ M: j
}
" p J/ `: O; o* L }2 z6 {+ q( _# a, E8 ~
if (itemiFrames.length > 0)
* Q+ o: H- x" r1 C {" ]3 y2 O( S* w% }# w6 Q; V( j2 G# e% {0 p
for (var i = 0 ; i < itemiFrames.length ; i++) ; c8 v( t8 l. L4 c
{
1 o6 `2 W7 }0 F- c iframe = itemiFrames.contentDocument;0 n3 s5 E/ D) ]
this.RemoveHide(iframe,objname);
8 w" z' e0 X! \4 W' p1 } }
/ F0 |; F% p# B/ R# s6 `: W }
& z) e6 {- Y# d' Q b! a3 m }* @4 S5 U8 p6 U6 R8 e2 W# C' U7 y
catch(e)7 e% v/ z( [: J+ r/ c
{8 |4 y5 b4 Z# F9 I N; Y1 U. a
if(debug)5 Q4 B& w7 G p" A3 s- o
{
* w5 O5 f- F6 |. m/ I8 ] alert(e.message);
3 V$ l/ D% P G; E }
4 O# {1 t( z) t( w9 C6 p: q1 v }; T1 x" G* R; @1 N3 q" a# t1 ~9 a
}
/ A' W# u) ^7 G, l& E, ` 4 I4 l4 S5 j% ]- u+ U! q* I
}" h9 Q: v; A. g8 w
% [2 G: g. p0 d
function getRGB(colorString)
2 x) X$ |) ~( m2 {$ D{: o) `' x3 Q( V/ {; A6 t! [! h" |
var RGB = new Array;# m3 G) W4 o- ^
var tempSting=colorString.substring(4,colorString.length-1);7 f: Y( k) n) H# O6 k) F6 S! ~( \
var tempArray=tempSting.split(",");# T/ b5 I/ z& j" \) q9 [0 g; e5 o
0 D$ ^* k- r4 v5 p
RGB[0]=parseInt(tempArray[0]);3 e. w6 Q( Y9 _3 J' m( ^
RGB[1]=parseInt(tempArray[1]);
" g7 ]8 B* Z* {6 G6 y" b; e& m# N RGB[2]=parseInt(tempArray[2]);
0 y% Z# v9 O, p! g$ K : [; K) @; \4 o& q3 p# I5 W" s
return RGB;) L" f2 P8 L/ H% V( k4 j
}9 |# ]. s0 k; Y" w) B
function keys(evt)
2 A' U! n+ J- D' [ {
2 x+ n1 }8 j0 L; _' v if(evt.ctrlKey && evt.keyCode=="81") P I* D; z3 W
{ 7 c( g P8 U' z K
CleanHideObj.on(0,1);
- P; Q8 Q) J9 o% ?0 \6 f alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 y' _/ G$ y1 y4 q% H
5 v; N. ^5 }7 m5 u( k- }/ a; X
}
, w8 ]0 F. d1 c- M7 ] t! A/ P t- v } 7 h I3 {' `2 x2 Z, c
document.addEventListener('keydown', keys, false);
% d# h m! q9 U3 ^4 N2 n' X6 NGM_registerMenuCommand ('Clean Hide',3 k' m3 s: j& B& P6 l0 K
function(e){
7 y* m& @1 X0 r; ]0 y* S' y+ d/ n( HCleanHideObj.on(0,1)+ o% v! ^% a2 f W, ?) X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ t/ | X# y9 U- J6 V) u, j
});
! N. s9 M. a% q6 d |
评分
-
查看全部评分
|