|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 ?2 }8 v! Z" _# r
- z* @/ @. e$ g
火狐插件,用猴子
. r' {, K( V8 ]; j% j- J& m7 ?. ]
var debug=false;
/ G/ @6 a" t: t9 r; k; w6 H$ |var CleanHideObj=new CleanHideClass();! u( ?. R! X. V# X+ `
! b! z% z% ~+ T( e) \ [- Afunction CleanHideClass()
f- P: `3 L5 C! Q2 L* F4 z{ # a* T" C" y7 x# R9 \
" X+ ]0 N8 I8 S& w8 k C8 W! r this.on=function(id,bMZ)
6 p/ z3 A& u# ~- `* ~ {
# ~0 m0 f7 w7 `+ D6 x9 f
& W) X' t; l6 ]$ ]# w if(id == 0)
1 p% [+ l! \" {/ ]7 G0 q- o9 G {
6 w' d" s6 [/ a. |: B$ b var page=/* document.getElementById("content").contentDocument */document; 9 X/ F& N6 H1 |1 d7 V
this.RemoveHide(page,"span");
r' v: R( J) O& K# N& @ this.RemoveHide(page,"font");
# n% f% U6 t) [ c& z this.RemoveHide(page,"div");, L. `7 u0 T, L# h0 ?6 W( r% k
this.RemoveHide(page,"p");
) R. x! \7 Y9 s
7 C3 T. H* C/ b }$ m7 U/ {/ @( @8 S( C, }* z! a
2 ]% o% B. B, w; r/ [ }
* R, ?2 `# L, W) T" ]/ I M& B this.getobjstyle=function(node,prop)
$ }$ u* A- ]# K# r( s$ e {
* y) o6 i- |" `: |8 w& Y try* `* d$ a: e4 w/ N
{5 Y9 ^/ ]7 D3 P' z) ^1 {& L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 v$ g6 [4 a W/ F) t
}3 \" P, N. d( ]: |5 ~
catch(e)6 L$ h1 m% [- o1 k0 Q
{
4 m6 b0 q2 a6 r$ `- |2 E if(debug)3 C6 J- u, T, ~ u& N, `. j
{
8 m M) I3 a4 \3 Q alert(e.message);
$ ]( [+ n+ W$ E6 z* ? }
9 `9 a. I1 a( f" w5 T% u: U) @
" C3 N+ M; p \8 }5 x& K4 M4 P return "200";
$ \. w* T* F/ i$ m" H0 M/ k }6 w4 v3 T/ P. D/ l
}* i) Z8 E- t: l: L. y1 M+ H! D
- }. `; j a+ g. c
this.RemoveHide=function(page,objname)3 t8 c2 ~0 m" w( ?8 q$ n4 \& B
{3 x$ x1 J' |6 L
try
* D8 e5 ]( ~8 d. A, d3 [ {
; R7 ^; w! ^: h var minValue=15;: ]0 X! _ u6 E4 g1 V
var objs=page.getElementsByTagName(objname); $ h% |7 A# Z* v8 \5 c
9 A# w! p% {6 e( p$ f9 `
if(objs.length == 0) ! m. N& g J4 B( H: B: w
{, G" ^6 h( W, m* \* A+ \+ G
if(debug)
. e. j, |/ ~: p5 A6 ~4 \! i' Z" Q {
5 J5 \$ H9 d) n7 I1 G alert("no object found!:"+objname);0 r$ B0 n3 l6 M( e" T
}
8 l) @$ P. `3 V2 h5 f- ` }
3 E% z% U+ z, {1 V* e9 m) P else
& H% n: u/ W% A, `5 l% c) ] { t* {: s8 x* y" Z
+ d/ J# J/ `5 s7 k! g6 y for(var i=objs.length-1;i>=0;i--) # @' V7 U h. |1 C& z: t5 |" C/ d
{
% d& w% e5 x- [; E" p- q4 Q1 v var node=objs.item(i);
* |8 f D% A* w/ k2 w4 I" k- n" d Z7 q + U& B4 Q& M, e# C! c
8 p3 G0 |# Y$ h! I if(this.getobjstyle(node,"display") == "none" ||
& G+ \! Y6 v2 _/ I this.getobjstyle(node,"visibility") =="hidden" ||
9 a$ @$ H% V, L7 y. Q! w parseInt(this.getobjstyle(node,"font-size")) == 0)
! V8 L3 u' f7 y( \: E1 n {
% f. Y- [- w8 h' `0 h# ]6 W if(debug) U1 A' Q+ ^' ^7 C3 W
{* h9 E. x* F9 ~6 v% y6 u4 t
alert("remove invisiable!");
) g+ ]. H. r }0 G }8 V; R7 t0 @) j+ d( q$ y8 ~
node.parentNode.removeChild(node);
7 H- e7 Y5 |( I" B # u8 m) Q s% {1 M6 R. I- J! y- x
}
, T" A( t' C' {: N* \ else
% z' w" U: E" ?+ T! I {) {/ z E" U/ J. o. X A6 V
if(node.parentNode)
2 i" ~9 n* j% v" X" | {
5 H6 y* |& y$ w% D var orgNode=node;3 k, ^* D% o# D) v4 B
var orgColor=this.getobjstyle(orgNode,"color")
" a% D7 }6 D( B" |6 O var orgRGB=getRGB(orgColor);
; P. a; X& E2 {; [! H
; x6 q5 { {6 X# e2 Z5 k, G- P var parentNode=node.parentNode
' T, D5 }6 A2 F S var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 T6 n1 l8 a& A+ `8 ` % b/ A! _$ g( _- J
var isLast=false;
6 E! Q* A$ ?" Z
3 b4 R3 J- Q- P while(parentBgColor == "transparent")
, {7 h+ z3 H( v, d+ r {: k0 M W& j( Y
; M' B) z3 A2 T( l- O
5 Q( }* ~8 W ?" [ if(parentNode.parentNode == null)7 k) t0 k, G6 S9 n5 d3 x
{
+ F" J% q8 e. Y# b0 `' h, P isLast=true;
# R/ P$ i7 g( K" T break;" H1 X- W, b6 ^5 R% |
}
# Y! i8 k* @- r) {) H parentNode=parentNode.parentNode;; K" e/ x+ [7 E Z" V
parentBgColor=this.getobjstyle(parentNode,"background-color");
- A: w" \3 q c( A* S: f1 V
+ K5 v, k- b7 |- v9 T7 M9 [1 v: l if(parentBgColor != "transparent")
i* A B0 M! n3 [5 P {7 k3 z8 T" h. U6 z# N! p
break;
& l% c6 y0 T% y2 v7 W }
j7 v9 o6 C( |4 v$ S }
# a; \) W' k) h$ o4 D7 A if(isLast) 4 P* \& D! h% [! @7 B
{
- l7 z) G0 v# }/ Y2 T if(debug). `0 V. }2 X$ {7 m" w
{
) F- Z2 g: r3 ?& Q9 {. m. @( q- w alert("last!!");
6 T i% |& {# g* W8 L }$ a" ^- Z, b2 j( f7 l" N! I! x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) E4 w z4 s% k4 R4 p" o
{
3 @% ` ?3 e4 G8 a, c orgNode.parentNode.removeChild(orgNode);
/ v3 k4 a& w8 L# Q8 g% u }
) H0 |9 g% G& z$ F! P }, R# _: g' [) {
else
, a7 N# d2 l# V! t2 o {3 d; l, ^$ Y, u; v5 S
if(debug)
6 Q7 I% L' ^: l) U {7 i; {9 Y$ ~- x* G! O3 r4 f
alert("compare color and parent bgcolor!");
8 v2 P% _/ B: {& v. T5 t6 ? }
: q+ X! ]5 s. H parentBgRGB=getRGB(parentBgColor);1 k' U$ e: ?7 u. U: x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). t+ B7 @! _; o; _% j6 Z: x1 Y2 j% ^
{2 [* E, L6 i5 `6 o- }% d$ P7 Y3 v
orgNode.parentNode.removeChild(orgNode);
" {, c. a" {' @' P: \ }
7 @3 z$ b5 T. k; }9 ^ q; o0 R }' z5 t. H4 V! ^
}
- h5 P4 r# N. Q1 y9 ` }
& X! ?$ K% I% S' u+ R2 h }
0 Y+ b' K5 H9 i' m) L* a }$ d# m I6 C Q
7 l( X9 P# D5 @% ]. b3 n
- x6 d; B& |8 n8 T. Z' E: D2 T0 l3 y
var itemFrames = page.getElementsByTagName("frame");" D- Q1 Z4 ~ K! X K
var itemiFrames = page.getElementsByTagName("iframe");
% c$ ^* \; l) I. [) ?: u/ X$ x 4 ]6 o# f2 `" U- c" ?0 d
var frame, iframe;
# j% X q# J3 O2 ~ if (itemFrames.length > 0)
" |) ?: X1 W& Z+ Q) [ {& g, Z9 f0 d# I( @
for (var i = 0 ; i< itemFrames.length ; i++)
& ?- h6 U% w" W8 J) I K4 b3 q {
0 S1 o2 t, w& }$ G# o1 o8 {* s frame = itemFrames.contentDocument;: W; b6 G5 Q2 \7 G) ^' H
this.RemoveHide(frame,objname); 6 w5 z9 _% `/ U
}
/ V* R/ R) j6 K }
$ r q0 W* `( l" I if (itemiFrames.length > 0)
% K8 t% |- P( |, S) H5 r9 J: H P {4 @0 X/ T7 W$ q; x" h
for (var i = 0 ; i < itemiFrames.length ; i++)
" @% D, g+ F# A, R {$ _$ \4 {; a" T! ]& V
iframe = itemiFrames.contentDocument;0 O4 @5 t W5 G; t' e$ n
this.RemoveHide(iframe,objname);
5 M' `# X3 E: X } A( N) X7 I: A* c/ F2 M+ ^
}
$ }$ m1 \* N: Y$ l }
1 L9 H$ Y: y. h' g# U) k catch(e)
* u# n% r5 J0 [ {6 q/ {/ Q7 M0 w* Y# S. F
if(debug)) j4 m* m' F( ]- y5 f; c
{) Z3 m \+ C* `: x3 p% a7 P: E* h
alert(e.message);
6 A2 ?* P9 P: L' S }
( F3 X' G! W% W }
3 m2 J' x3 o$ X/ @ }8 }) t) R" h! G3 v
- U/ A0 D: t j
}
5 x: G+ K$ g/ i5 j* W" r
' V' i x6 G; ^' @- f$ ]- Ifunction getRGB(colorString)7 w) n+ h2 V3 ?
{0 o$ F+ a, k5 Z) s9 ~
var RGB = new Array;
+ K$ F" N/ w" c' ~/ a8 ]- F6 p var tempSting=colorString.substring(4,colorString.length-1);& O7 w* c j3 a, C T( U1 ?
var tempArray=tempSting.split(",");
* s1 k2 L) |( A; K1 Z3 ]: y# ~
& z5 r$ A# n0 N; [* ? RGB[0]=parseInt(tempArray[0]);5 `) }8 L! ?$ v+ @- H
RGB[1]=parseInt(tempArray[1]);* L, D# o3 B7 M( _. c
RGB[2]=parseInt(tempArray[2]);& M9 K. P3 U2 o8 U. b. T* h
. B; `; b6 ?* D% X3 b& W" V# B return RGB;
- t+ A F3 x3 ^9 K) g1 C8 d}: y o% h! Q; _1 z4 b% q
function keys(evt)
! e( Y( K6 @/ q+ c. S+ w {
8 N9 [% g! x6 }/ g; M! a if(evt.ctrlKey && evt.keyCode=="81") 6 ] e1 h% Z4 a, w3 U9 \2 l
{
T9 O l" \1 ? CleanHideObj.on(0,1);9 X7 l0 l& l. D" v7 J* U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # y; B6 S# j- ^7 o. C l3 l
% N9 {0 \4 ?4 D. z. \2 _* Y } M! Q+ M# A7 Y) W; A; k
}
7 U' l0 y7 O" F8 y4 Qdocument.addEventListener('keydown', keys, false);
$ B- ~; u7 f% }7 uGM_registerMenuCommand ('Clean Hide',1 F2 p( u) ?5 v. S
function(e){& y/ y8 G2 [* o. ]( ?3 ?
CleanHideObj.on(0,1)6 R5 e9 l o7 Z$ p) \4 w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); I$ X# c% E! i$ e; {3 [! s
});
$ R# u! X& n" _ |
评分
-
查看全部评分
|