|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, r& f2 H7 |# Z
$ ]7 U6 ^: Z2 H' a火狐插件,用猴子9 O+ v2 [3 l" y& W% |
' Y" J- J- U* u% N; {5 D
var debug=false; $ E9 V8 [6 }# z5 ?& h
var CleanHideObj=new CleanHideClass();% C* q1 j$ H1 q
" J# d4 i+ z% [. p& Q' ]
function CleanHideClass() * z3 w! ^( n, f
{ % r: c0 E: n( u* c$ f
% u' ?- K$ c9 m5 C5 Y
this.on=function(id,bMZ)
' G7 M: X2 S* N {
6 X5 E" p6 D! Z- d % Q# h m( v j1 |+ ~6 Q
if(id == 0)+ h& y9 s, ]. s8 U7 \
{) H, P ?7 m u% D& n+ d9 |! j. Y
var page=/* document.getElementById("content").contentDocument */document;
, M# N! t" A3 s this.RemoveHide(page,"span");- y5 c9 `0 l; W/ X6 T' Z
this.RemoveHide(page,"font");
$ a. M" O e' Z2 F9 E8 U. s this.RemoveHide(page,"div");3 j: V) i3 N" F; m2 a8 H3 q
this.RemoveHide(page,"p");( J6 F9 Y; L% y' y$ b
6 ]/ }; M0 T; A6 u' w/ F }
) ^) }% T4 x* E7 v: _- G9 I: s$ W , ^1 e2 }# r- M+ M0 L3 P! f
}- x& t) [* Z1 r# e6 A# W
this.getobjstyle=function(node,prop)% t2 W Q+ i! E+ @* a0 r7 D
{
$ f h: T. V$ |: ]& R0 q8 g& I try, K0 C- }" q2 @( ^" I
{
+ v* c" ~; v/ v9 S3 A9 b4 Y* g6 c3 z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 E+ ~$ M9 l$ a- l) \ }! j y! ?+ s- |
catch(e)7 s/ y3 U+ v# I. n) k6 f7 @' Y
{6 @- a2 j! v1 s; q$ j% D5 E ]
if(debug)
3 v- \1 `9 H5 j% @6 g, O {
; F" Z$ ]' Y6 |2 ]* V# U0 C7 g" B alert(e.message);
2 x8 z1 W9 h: o, @7 X* M }
0 A2 s5 n9 D9 q% ^5 N" U X
% p$ s& E9 `- L5 f- K return "200";
0 `$ M e$ r* j6 s; ? }% e7 k. i) S9 z! m$ J- D, M2 ^4 f
}# j* K, ^! Y# E% h: _( X
( Y2 b/ T1 `* m! K
this.RemoveHide=function(page,objname)
7 ~4 ^* r7 o% ?; N- k! v {$ q8 H7 Y& C) d+ D
try) |( c A- P# V
{
5 Z( H- s8 m5 S/ `$ F) | var minValue=15;" {& W Q6 d+ u4 L. B, [
var objs=page.getElementsByTagName(objname); 9 X3 U/ H6 L2 W" w# m5 c5 n$ a
, e0 G# M& T+ n if(objs.length == 0)
! V! |& b* C ~6 Z& Y {4 Y. o+ v/ y9 u, E, h
if(debug)
/ I4 F7 V8 C2 s% r/ l2 b {; t/ o. @% \$ A
alert("no object found!:"+objname);- b) v) a4 u9 v3 \6 H. `4 ^
}
3 P& U( O9 V. _ }
! ~, w+ O8 s# c8 {: z6 ?; Q* V else( [- O" ?0 l, X: n
{
: G% g2 Y/ a6 G9 t' T 4 M; l, I2 o- [5 c
for(var i=objs.length-1;i>=0;i--)
; [2 K6 D0 t$ w0 C {
8 u: x! G# e9 Q. `2 J1 o1 { var node=objs.item(i);
2 g. Y, @* {+ y: l: y" h" V( e % B8 N% }7 V \ [* Q
/ m( ~! b% T7 d' k- m
if(this.getobjstyle(node,"display") == "none" ||3 L5 y# ^. Z% [; N0 l! ?. H5 a
this.getobjstyle(node,"visibility") =="hidden" ||
5 z# \/ u0 o; q$ j parseInt(this.getobjstyle(node,"font-size")) == 0) " r, V3 A8 G# [1 J2 l
{
! m. A' d6 W+ `0 T if(debug)
S) B" r$ @5 b3 |: k- k r5 K0 u {
% ~5 f. a! o2 @' Z7 O& J: l alert("remove invisiable!");) |9 v: `7 X; n a/ b
}
# S; h! g1 D# [0 P, X4 |, N7 d B% \ node.parentNode.removeChild(node);
8 y3 Z. E. Q7 l3 J+ b% u 9 h/ u9 q9 W9 ~4 J
}; R% Z# G4 |* _. w& `2 U
else
5 D% r) c% F# @/ C. r {- l5 S, ~$ b# o+ F
if(node.parentNode) l7 d3 A' M. J4 b \
{1 o! O9 R- G4 m7 \) Q- }& F
var orgNode=node;
, L4 T( {: I* h7 h var orgColor=this.getobjstyle(orgNode,"color")5 ~- j- A t; L1 _
var orgRGB=getRGB(orgColor);
0 M8 R( z2 H Q. D6 w. G& I & N1 d, u* @* E2 D
var parentNode=node.parentNode$ i9 \. y1 P% a
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 T" g& k+ n" v1 w/ Z
. }( D! H" f2 G1 m2 B var isLast=false;2 u' j9 S0 s5 l* S& \" J4 G
9 o. n) E8 p: q2 w while(parentBgColor == "transparent")
_3 {( `4 B4 g. D( g. u3 W {0 t }# D! H" c0 n9 S
) o/ g+ p0 q( }
. I% ~1 q+ _* C& K( \* @1 I3 U& x
if(parentNode.parentNode == null)6 w, Z+ j3 W8 }7 F/ m6 ]
{
0 N4 w- i& e; m8 y: Y isLast=true;
9 \. B+ A( V" b break;
4 q+ p' A9 p. [, a }
w0 J; ?, {+ S' j) m [ parentNode=parentNode.parentNode;3 b' E; _7 C8 U0 B. B0 f
parentBgColor=this.getobjstyle(parentNode,"background-color");) f* ?4 E1 n2 e: z2 {0 v: ~ ?9 ?# _
$ ~- k1 K: O3 H
if(parentBgColor != "transparent") ( @# u# w. ^; w1 w0 E
{
4 M( o# Y2 A) X$ ]& S& E break;
$ l# ]; v' X' k4 S# n }
$ {% h2 z8 N, T! i* m' f2 Z }7 R% S) \) _9 H
if(isLast) 6 y! W* j9 B9 ^1 M- R
{
) R, @6 f1 X$ D if(debug)
, I# }) d2 b. Z0 i {
( o9 ?0 _, ^, ] alert("last!!");
1 E" Q" @! ~0 r4 m5 {% w }6 _2 H4 M, n W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& u& Y7 o0 D+ g( n$ D" T+ b) O8 Z {
* |4 I. u, \$ [/ r0 c1 N6 @ orgNode.parentNode.removeChild(orgNode); % R( `7 Q! x: J6 ?3 o( W
}) W4 ~/ ]; N5 p" w% ^: [1 H" J
}
, M' F' p" {: k- y; T( t else
5 l$ M a9 \! \8 |2 S# n {
/ m' O) x9 W' Z$ R9 i if(debug)
' Z' r1 T0 C6 A: |9 O: Q0 d: D {
% ?7 H4 H- e" B$ X0 g2 i/ }& R$ x alert("compare color and parent bgcolor!");
) k* p7 s) Y. P5 n: {# y }
. _8 C. }; s3 G2 m8 a parentBgRGB=getRGB(parentBgColor);; Q4 x; o5 O+ S5 \# \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 b% m2 _: E# |$ m+ S* W! G
{3 Z3 j9 z5 h8 G- {7 N, ]
orgNode.parentNode.removeChild(orgNode);
+ G5 w* m C# {" A }- R+ V: ^# H4 F# Q0 L
}
% l6 o1 I; `, [8 x8 X- |: R, d }" A/ t; c: S; c9 \0 P4 k# {
}, t' H$ N& y9 J! W; ?) n
}
5 ^5 p! a$ H) S# L }
! G. P( r; `$ S) k& v8 i. v% B
# L8 b6 ~& ?, i# N
6 Y( t' k1 d1 n var itemFrames = page.getElementsByTagName("frame");7 r) T! z6 u- g) F* U1 M, d
var itemiFrames = page.getElementsByTagName("iframe");4 a& a: h7 V9 _) t
B% a, w4 k& n* D1 b var frame, iframe;5 h* D$ h' ]/ n% s# S4 V2 T
if (itemFrames.length > 0), Y* R- u, Z$ s# C) W0 u
{
1 c* {, ~/ e$ U, f0 R for (var i = 0 ; i< itemFrames.length ; i++)
) m" \9 j3 s- L4 b {! y$ k! w" S& n( S9 Z1 o- q
frame = itemFrames.contentDocument;+ I4 P' ? q4 q/ O: J
this.RemoveHide(frame,objname);
" G5 r4 |" A4 [+ c# ~1 G }
2 a) ~2 U+ m8 Q- m* s1 o& M9 M }9 S$ H, @9 t8 a; ~/ o
if (itemiFrames.length > 0)3 b3 f4 u1 M. g0 M( }" n
{
% l4 C) g5 }: s: j: p, f for (var i = 0 ; i < itemiFrames.length ; i++) - H6 r8 { I3 Y* E
{
: N7 y2 }) h, q7 I" Z iframe = itemiFrames.contentDocument;
& D' i( t2 T5 l this.RemoveHide(iframe,objname);
; p' P. k+ e$ j0 m: d! E }' c& S) M A! G6 W+ U, T- M
}
: ~# X$ g. x3 k/ u2 }# e }: ~ Q# y5 l- v3 G/ O$ x1 V9 N
catch(e)0 l1 K% h9 }+ m1 y. k
{
5 w: `: Q3 z* m4 _/ j if(debug)
( K i0 M* J& X5 i8 R8 \ {
7 U1 g) ^9 |! O) \3 t alert(e.message);3 ^' Z4 Y! g5 u9 j( S
}
7 |$ O& d9 [% L) J% X }$ x7 m6 p/ Y: w' x4 B5 O
}
+ b7 Z- B8 E- h o # E4 u4 V) G/ g7 I' ^( H
}
+ @5 I3 X) |, `! i, P
' r+ x8 o/ q/ l7 d6 ffunction getRGB(colorString)' h' s4 [+ U0 k2 X- ^2 ]* M
{
5 o- }6 f! j1 V2 W/ h var RGB = new Array;1 ]5 l C0 x$ y8 a: g
var tempSting=colorString.substring(4,colorString.length-1);% {1 g; c) b& `6 _
var tempArray=tempSting.split(",");
' b" H. o8 q; B, T4 L
' i0 p3 y% R% N' e. C! j! V- h RGB[0]=parseInt(tempArray[0]);
% s' I) q" `. s r RGB[1]=parseInt(tempArray[1]);) c# g. w2 G/ o9 ]. y
RGB[2]=parseInt(tempArray[2]);
9 u. V0 P) e0 ^/ x7 x( m
0 k; T) [" j+ n5 ]! m! s return RGB;
/ _; @& q. O, X, Q( y& L' n}( L$ z/ b8 ?, ^. n6 G
function keys(evt) 9 y8 Y b K. @" @5 V
{
6 {4 f0 h2 f# [+ z' ^$ { if(evt.ctrlKey && evt.keyCode=="81") # T, g8 ^, S2 _; [( o: w" m) M
{ * O' U" ]4 |$ i; u$ I! W
CleanHideObj.on(0,1);
0 ^# {; p( q( g- Q) i+ X1 V. t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 }& ?; E3 H( o$ D6 @, T" C2 [0 G
$ e A" w- x/ m' r8 G4 o }
+ _; A7 I9 b; G2 V- M } 9 i& q% X- U) b+ F; @$ T y2 k
document.addEventListener('keydown', keys, false); 4 M" s& r! x# x* i% \. k& V) |* I% F! J
GM_registerMenuCommand ('Clean Hide',
n" z' I9 c, j- i% m3 n! F# mfunction(e){; Y c! ~; ^# ~" r' B I
CleanHideObj.on(0,1)2 c5 f$ k+ O4 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 Q5 \" l! O2 l! {) X/ e
});: F4 c: r% ~' F9 g% ?5 l0 \9 E5 z$ n \3 a
|
评分
-
查看全部评分
|