|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) i) j! [( r3 c0 W6 }" q6 Y0 B( ?' ~2 C
火狐插件,用猴子
) C$ [$ K: A7 T1 G6 h' P5 S/ n; {% P" \" M, N" Y
var debug=false;
: G2 y0 I2 K+ t e) Z5 P6 R1 Lvar CleanHideObj=new CleanHideClass();; O* E3 _* S i! ^, b- P
8 m* |* J. M9 [. C' J, D) a
function CleanHideClass() h" a. F3 S: l
{ - A$ u% l a; Z5 q. d6 b$ [- J
7 b. J; b( s3 h# T% T
this.on=function(id,bMZ)
4 F! E0 B% u% i: x5 @4 B+ B0 G {
- S3 d' Q& V4 w1 g , x/ y1 m$ x! k E" s
if(id == 0)
; t- D# N; T( c5 A* Y4 \6 d) R {* L+ k' M& }& \" {* k) K
var page=/* document.getElementById("content").contentDocument */document;
. U; R0 i9 S/ L `. h& ~ this.RemoveHide(page,"span");9 ]) D# `( n7 p+ K' j& a
this.RemoveHide(page,"font");
7 O, ^; |/ X* ?2 C+ L, \ this.RemoveHide(page,"div");
7 l+ E5 H; l: h: W this.RemoveHide(page,"p");
, W5 m) E6 ~$ [1 `# T1 C0 q 0 }/ R3 x$ D" G+ z3 H
}
4 j0 x0 k9 `' j1 a 6 \0 M% \1 g2 \
}% j: O, [; t! e" x
this.getobjstyle=function(node,prop)
- L+ e" _0 S4 V1 v0 y) t. W {
5 J# A6 D9 S4 e" k4 E+ [( n4 L try
* k$ h& \. A1 y1 a {
# h, a! K H( x1 W" L; d! J' \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- e* a# [" q, o1 f: P# H2 g3 D
}
) t" b) q/ D5 x- E2 U" l catch(e); P4 _0 D h, t7 U1 `- I5 Y/ I
{
) ?! y: q W! a- k! A9 M if(debug), u$ w* Z) [7 Y# r8 U& z8 M
{7 z2 W. l4 P! D! h& J s- s
alert(e.message);
) a% S5 |! Y% I! `# O }/ B" }% J& G: N5 P; h
) p/ ^, H" u2 H' e( _ return "200";
+ h$ |, M" z! h" a }
2 j* ?0 T7 J0 O( B" H2 u. e }/ N( o- a6 U" Z' E( A
/ q' B% b& R7 e6 o- _* M$ D! q( X this.RemoveHide=function(page,objname)
$ s: q7 i0 j4 l- p3 O {1 T, ]" g& z0 U, W
try
1 ~& V% G3 n8 n) N {! W7 }9 O8 G: E6 o+ K6 o8 l$ \
var minValue=15;
j% U( |- T5 |8 [0 |" u) f# e var objs=page.getElementsByTagName(objname);
& c7 K- e4 z- ?9 Z# q* a' J, y7 Z8 |7 D7 k$ U( T" N
if(objs.length == 0)
; G6 k) j* q* o; l: O {3 j2 Z' ?/ N8 o, Y8 F; b8 D
if(debug), y4 h9 l7 t' r5 `
{
: m. x, r3 T5 i: o alert("no object found!:"+objname);! c/ ~: l9 I& ?2 t7 x1 z, X
}
% s9 B$ v# X: I" s0 l }
% B1 j; ^% |- R: ` else
% }( Q$ p# w1 b# h: ^3 D {
1 v$ {3 }) _* I2 c" `5 K# ?( {; [3 o2 { , k+ n# H2 L' n8 P" e
for(var i=objs.length-1;i>=0;i--) ' E5 S% Y+ w9 @1 `2 N
{3 u+ R7 X8 ^, g9 w( V, k
var node=objs.item(i);
- k& \# c) M( a: w ; R! e& i7 z& j
, k, t1 O; t: D! ^( A: [
if(this.getobjstyle(node,"display") == "none" ||
. e( E2 J* Z7 a L6 V this.getobjstyle(node,"visibility") =="hidden" ||8 A+ X' M& e8 K. F6 A' H
parseInt(this.getobjstyle(node,"font-size")) == 0)
+ a9 ?1 I: e$ X0 N. L {& l) z4 w1 G7 p7 R1 Q. I
if(debug)
# Q/ F- u0 q! l- a {
2 t* l2 M4 H1 M( }1 i alert("remove invisiable!");3 D: ^0 l% {7 p3 ?& h1 O
}
$ x g* H/ h$ z2 F6 f node.parentNode.removeChild(node);2 x) _7 i V# S e- B! V- C
+ r) q- U( z( ]* v } ~) h5 M) @0 b5 ^$ @; P6 O) P: z
else & c) C1 g) [0 F5 s
{' I. P" `. g7 T& X) Y5 i
if(node.parentNode)
: N) n4 |" r' _# u {% ^* n4 w. n( H' q2 \% m
var orgNode=node;2 e+ B, ]# X; p3 Y+ e/ b
var orgColor=this.getobjstyle(orgNode,"color")
1 H. i: p2 U9 V6 H7 V var orgRGB=getRGB(orgColor);
3 H2 E/ T+ F5 G% R: t
" m7 \! u* O; q- ~2 n+ T* M var parentNode=node.parentNode; c4 ^! d3 i: @! F
var parentBgColor=this.getobjstyle(parentNode,"background-color");! l7 F6 [ O: d* J
! s2 c' j' A+ G
var isLast=false;: x" M# i6 }: F- z# b$ T
% V6 h. Z1 C8 ]5 c8 l* u) x! w7 C& d while(parentBgColor == "transparent")
; ^9 H( M* E8 t( {, m {
: u. v4 E1 g% T7 c. [2 Z3 A$ j. y 9 W% S- P- s$ }# I2 o. o; y2 b
8 U' K% R3 O1 o; J! \& i if(parentNode.parentNode == null) w% U' i( V& i+ V2 ?4 F, z/ k
{, ?: o# b0 ?8 u8 [! L
isLast=true;
* x& b+ G1 J( U0 V9 F break;. Z+ ^( _: @ G0 o# Y: I ~$ E
}
. F, o' H9 S4 i9 D- K parentNode=parentNode.parentNode;- X h5 i' V& q8 _) k
parentBgColor=this.getobjstyle(parentNode,"background-color");0 P; {6 P1 y7 \, J( G9 T
! V3 l3 z* r9 q- ?; t if(parentBgColor != "transparent")
- g1 c) e/ u2 c8 ~1 e {
0 w/ F4 e; O- x9 o, r5 Z break;
) \) {. m( ^# ~1 x* k }8 Q' ?( f& k+ k7 z8 t
}9 G- p0 `: w% H% m" b
if(isLast) : O( x" J, O" ^6 `4 G5 K
{
6 s" Q; g1 a3 V* V if(debug)4 G; R* T7 }5 W5 C& d+ z; r
{- L s7 n3 }" S' Q+ t, k; n
alert("last!!");
3 l8 J# K3 m: G3 z o1 n) k- k }
% N& B* O' o' j& @/ @8 H! j) t if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) u4 q1 a% c( F: e& @8 c- k( ], A {, n% | A4 ^5 S* n9 V8 U) T/ |! Z; \
orgNode.parentNode.removeChild(orgNode);
0 s3 f7 x+ b' J P }
5 l9 C c/ q. m0 d1 G }
" f9 F1 S" Q; z/ L z3 ^ else
1 H H8 X, P' y$ C2 y: `" f {9 o D8 J% D/ r+ `' X' J' r
if(debug)4 n2 \; g8 w6 S- N; o5 l; ^! {
{9 q+ O$ P$ |7 |2 q
alert("compare color and parent bgcolor!");: h" A3 j" h1 `7 e
}! r; k) n$ r g& c0 A: L6 |
parentBgRGB=getRGB(parentBgColor);2 U! v$ m4 ]0 A" @" G9 k- ~, T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; N1 s# A* m `! r0 ~3 J* T& ?* l( Y {
/ C8 [( n) \. N+ B I7 y0 q+ M orgNode.parentNode.removeChild(orgNode);
( g5 @9 z N4 K, Q1 m2 i# m8 X1 s }( h3 \6 [0 n/ `' d% N
}
+ q1 E; G& w8 @% a5 E; W0 F }4 ~" |5 D: O$ c4 r* U
}4 W2 B) X2 S1 E$ o
}
8 W, ]# t' r/ @" L; P }
5 Q6 _! ~2 l: L. J & z9 x$ ?8 C) f; R. t4 T% V
. x H, ]+ ]2 ]1 Z4 V5 }9 s
var itemFrames = page.getElementsByTagName("frame");
; _) R. Y4 N' x5 C$ s var itemiFrames = page.getElementsByTagName("iframe");7 F' d$ C' Y/ q; h
4 W: x* ]- [4 O$ v& ~0 u: o( O% X! W var frame, iframe;$ i! @$ p$ X6 ^$ C c" ?6 M6 b2 ]
if (itemFrames.length > 0)
+ J% H; ~5 R" n/ Z/ L, f! x/ F% _+ R! B$ Z {
9 C: [& k( }8 m for (var i = 0 ; i< itemFrames.length ; i++) / |' g, N/ ^* e) ~# Y
{
4 a: _! t% ~9 z7 A frame = itemFrames.contentDocument;
" }" Z/ s% E O8 @$ Z0 ^9 d F) W1 V this.RemoveHide(frame,objname); / G" C% h0 y3 H7 K1 P, G! O
}
; A6 H0 U. K* H A( q$ V }
: P3 e1 l' H! b& i7 [ if (itemiFrames.length > 0)$ U, X: m6 \9 G; o4 \4 x1 h) Z
{; I* z; a. g# u; j
for (var i = 0 ; i < itemiFrames.length ; i++) $ x& p, k' ]0 H- h& U
{& W: z- |9 Y% Q2 [! R- z9 j
iframe = itemiFrames.contentDocument;$ h, [6 o m+ I$ b1 k
this.RemoveHide(iframe,objname);
+ p7 E) E9 J; j( S+ ]0 u }" Q. A; d; C6 p5 [
}, d) W5 t4 C" i5 h# |
}) u# h; l7 ^$ c7 T ~+ ~. i
catch(e)( {( E! o( C+ r, ]+ n; H* p
{
5 t1 e; Q6 K( I6 _3 U if(debug)
2 n3 W7 _: I8 `1 ~$ J {. v2 L8 n# [ R8 P, q6 Z
alert(e.message);
, H1 o( z& q- e0 C }
! {' L: t& g) e' o6 b7 ` }1 s) i* ?% D: z% e2 f
}
' f/ _; g# b7 @/ M( u' F ' U# w1 I% _5 D: `4 X+ G
}
9 J4 b' n: y( m. v' {; p$ m/ [& _
8 K& {4 P. b2 L- D- n6 U" zfunction getRGB(colorString)
$ h" j9 c0 d) O: m/ b6 H2 ?{
( [% z5 g1 e0 | var RGB = new Array;
* E, j. G; u# Y' \ var tempSting=colorString.substring(4,colorString.length-1);
# R: m' g/ C$ q3 ~ var tempArray=tempSting.split(",");; s& F- s$ q. {
2 E" a/ H w% X% e8 j) F( S
RGB[0]=parseInt(tempArray[0]);
- a+ j# i/ z4 I4 G" B- v2 u! K9 z RGB[1]=parseInt(tempArray[1]);
7 b& ~2 N- J$ O! ?: V$ F ~) C RGB[2]=parseInt(tempArray[2]);
. h9 U7 x2 Z2 Q 0 F% N- Y8 W' _# c; l6 l% c/ n
return RGB;4 h4 u, g3 ~: q6 }. l
} S7 I+ r6 P& s
function keys(evt) 1 K+ h; X O: o
{ $ E" K( L7 F. ^ V: q0 U
if(evt.ctrlKey && evt.keyCode=="81") 5 H" D+ U( L& R; y) S
{ $ A" {( d. d$ O; Y; z
CleanHideObj.on(0,1);8 V# P1 m- g3 f' S0 H( d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) E2 e- s; S% b( C " f9 K8 T) l3 t' R4 u6 [3 M
}
5 O8 _4 l, E5 r7 @# }, U0 G$ t- G } 8 y) e0 Q: g/ s9 U$ o8 J
document.addEventListener('keydown', keys, false);
# {% \3 i' s- A5 Z! s( {& cGM_registerMenuCommand ('Clean Hide',$ J' m8 q: N8 _ U- z4 c
function(e){5 N2 \8 g6 P6 }0 b
CleanHideObj.on(0,1)
+ d: K2 x3 }8 H7 @' E, O- ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. u7 c! o6 U. _# U! ^});
* r2 d3 K1 \/ C7 J |
评分
-
查看全部评分
|