|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 m1 y# a# M3 O) I) f: j- k) W$ a- k/ V
火狐插件,用猴子' O' n9 B0 ^+ Q. u+ E) J
& H0 v7 R/ v# k: m
var debug=false;
" @* k' d9 i3 v# I, hvar CleanHideObj=new CleanHideClass();
0 l! r/ I# x) {4 X7 d+ ]' n& U9 y1 _' ~5 K8 e
function CleanHideClass()
8 b5 z. B: e% a; J1 @{
' k1 a1 c, T- f! T! o: T' D
) \0 C+ ~! f. ~& B. Q; y! Y& Y this.on=function(id,bMZ). S$ r7 F9 n! j
{
* P0 `% s& k0 k' X 2 o! w- ~ W: I, N' x8 [# S7 q0 t, Y
if(id == 0), w1 x7 o5 n, x4 }7 J
{* x- y, M0 @& ~8 k" E5 C( N/ y
var page=/* document.getElementById("content").contentDocument */document;
5 Y$ h+ s2 q2 f, m: P ^ this.RemoveHide(page,"span");& r9 v4 k4 W' Y/ E
this.RemoveHide(page,"font");, \( o9 ]% W( N3 r0 n* ~* T
this.RemoveHide(page,"div");
0 r+ f+ ]# z, x5 ] this.RemoveHide(page,"p");" G7 Y+ D8 W! a8 ]. [
2 j n" z; W* u3 J) ]8 i$ O) R }
5 \+ F" V6 G a" a- G$ H ( E2 s: g3 l9 Z1 |: [# {( |0 G
}* Q9 Q2 r% D5 v0 A! B
this.getobjstyle=function(node,prop)
: I' a) o2 z5 Z/ Z; e3 G3 i$ ` {
* Y+ ~# K1 w p# t0 {, H9 c$ u try
: u4 I8 @, n; a i- x0 B; E {
2 l& _3 ~3 c3 U0 E" N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' {& C" b+ K8 }6 r* y/ H& P
}2 U g* T7 n8 ~) b+ N
catch(e)
& D" Z5 N9 h, G J {) P/ s1 B c, c
if(debug)
( |# q9 l5 s# R {7 x4 Z" r$ ]1 I, a1 r1 A+ X+ Z( ^
alert(e.message);
' z1 ?% M z# d0 ^. b }8 y+ M! i. d/ ^0 X0 m8 T7 o
& J( \; R9 c; A" v3 E$ Y& S return "200";
. ^. w& z7 k# x2 y; R& W }* V* W2 ~/ J* Q( z# G7 f
}
! y. g0 M: C0 B! F( X; j. D
% b$ C5 z8 C" @9 O! ]& T this.RemoveHide=function(page,objname)
# G: @& l R6 N; h3 `3 j {1 G# Z+ R+ b3 U8 F
try0 _) P+ m3 J, |% p" N
{9 u, J, e4 X; o8 q8 U
var minValue=15;
% j& ~8 k4 H8 r2 F8 o var objs=page.getElementsByTagName(objname);
/ k) \1 J8 A: v$ n# a o9 H1 F$ K, _1 ^
if(objs.length == 0)
1 m, U5 D! s! H7 p {# b& C1 I5 @ G z
if(debug)
% J" W3 ` l* e) e* z/ }+ S0 ] {
7 n+ C* B* \" c0 _+ ~ alert("no object found!:"+objname);: n/ g0 e" \+ h/ D2 k
}# `# Z9 \& I/ ~ I `5 s: }2 D
}; R( ]6 F5 ^0 c. [6 Z
else
+ D1 K7 q: V' R* _, Q r {6 Z; B- @- _' T3 F; O+ w( t
5 s& O% N5 |- @1 P! v( R for(var i=objs.length-1;i>=0;i--) ) l- i# o4 g- I$ }1 x
{
5 m4 F0 k. y. u# z var node=objs.item(i);
( R6 K ^( R& I1 N% ?$ L2 T, ?6 i
' g: v0 \2 d5 `6 r* F, j8 j. b 2 z; K: m. K5 w' ]( j7 a
if(this.getobjstyle(node,"display") == "none" ||4 \- F7 U1 E K Q
this.getobjstyle(node,"visibility") =="hidden" ||/ ]) P$ F& O- I
parseInt(this.getobjstyle(node,"font-size")) == 0) ' s7 c: U4 n. V! v5 i$ ^9 n, N# m1 B
{
3 R' w/ k$ Z2 M; C if(debug)' h8 V7 c' t( `/ e+ g( I+ @
{
3 H' L9 C2 F/ j7 m6 i" f' i2 M7 R& M alert("remove invisiable!");
J6 z& T3 r% l6 \, E2 x7 g }4 I' G" ^- Y9 n- F( Q& j: V# V$ L
node.parentNode.removeChild(node);# e/ r$ |6 l! v8 T$ K( A6 s
2 P w+ x! J6 G
}
, m, u' a, ~( X) f else ( f- n, I$ |( ?" M
{$ d% {' ~7 i: { K1 v; A
if(node.parentNode) 8 p9 w, q, X. x/ M$ N& \6 w
{
+ V- e2 |' \( S% N$ T var orgNode=node;" A; q4 M5 t7 C j" B
var orgColor=this.getobjstyle(orgNode,"color")
* H" `3 ~6 q/ K+ \* l }/ o* S; S var orgRGB=getRGB(orgColor); * o' C/ x+ m+ ^' |
, e2 u% t. {5 d0 l; h7 _4 S, F3 \ var parentNode=node.parentNode
7 s( y3 o$ _0 K7 ] var parentBgColor=this.getobjstyle(parentNode,"background-color");
- J. {5 o$ B0 d z- T
9 {8 X% ]' o7 L8 W var isLast=false;
- S7 p, J$ I5 z6 i. m
, |7 m. T& b" o, b- m7 l6 S while(parentBgColor == "transparent") L1 [- j# ^4 m
{5 Y7 f! Y+ }8 s! A: G) Z8 T4 \! n. r
( k, Y5 q) h* v U
0 P0 }8 S) k* f- G3 |1 K if(parentNode.parentNode == null)* q' \1 V, C3 E7 G8 `
{
& z4 N# O% } \ isLast=true;
: D8 I, d* \: C: w& K3 X break;
5 m& H* K+ A$ |1 y G& w* f }
2 |* i2 g2 x5 v parentNode=parentNode.parentNode;
& ^1 D% i: ?7 F) | parentBgColor=this.getobjstyle(parentNode,"background-color");
$ N& q C9 \/ r4 g
+ |) v5 y" ? f; p# f- Z# B6 X5 m1 z if(parentBgColor != "transparent")
. \% o4 ^) ^4 o {5 v. U2 W( H( W) n& E
break;( w0 M* G8 D. L5 _
}$ L6 U! P8 d' l( B
}6 j3 h8 q+ w8 k! e& r
if(isLast)
1 v0 {# r. c; S* T$ i4 i( J. Y {! L. M! x/ S# x
if(debug)
% o6 k, A* O/ N# X5 u% J {
- d) G2 x; G$ A! T& U; X B4 c alert("last!!");
: ~: e, ^1 ~" X0 Z2 R" o% F }2 P) P3 j6 k+ q9 s0 Q- l/ X4 M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( G! y' J& J! E( h* s& T
{
2 k' e4 Q1 J& `0 l3 {. ^, A orgNode.parentNode.removeChild(orgNode);
; }9 W& H5 v' `' w$ E }4 @: y9 C" g9 ]+ I: i
}
# R" Y2 P7 P8 i- g+ Y else( }, v" Q2 U5 d3 ~. L6 H3 ?" L/ D
{
2 T2 G( ~, F2 a- M: W0 N if(debug)& }* G1 ]3 y4 ~
{( ?+ p/ q. q- X& \! u% f
alert("compare color and parent bgcolor!");+ r9 r" T( n' b+ g
}5 X/ u9 h6 E) A! ]( J
parentBgRGB=getRGB(parentBgColor);; E. F6 Z! G/ e3 I& F* R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 s! E7 B* f+ r7 B5 A {
, Y3 X1 H, B, ~( v% d" _( { orgNode.parentNode.removeChild(orgNode); , T) T3 l8 ^. M% `8 d
}
* P/ {2 Q/ E/ o2 i }# a9 n; y. P/ c6 X! ~5 i6 P- Z
}% A( Y2 `$ A$ X" ?+ C5 N
}1 x+ m" ?9 c; |7 f
} b( t# k- p' m. X2 v
}
3 s* \5 p! B* W) O& w5 C
2 s( k* @/ A- X6 K0 d
5 b( s9 k- U1 W8 O var itemFrames = page.getElementsByTagName("frame");5 U. M, H* a* ?" @5 Q( H
var itemiFrames = page.getElementsByTagName("iframe");9 F. {5 K; o5 Y
6 n$ j( N( R( u# n5 T5 d
var frame, iframe;
1 q4 H6 L# P0 a1 Y; y7 E2 _ if (itemFrames.length > 0)
8 t7 ?! q% ?( L8 m$ b+ O) T8 O7 ~ {
" ~, e; R" x# n4 c for (var i = 0 ; i< itemFrames.length ; i++) " e4 b* v1 `4 l3 F4 Q0 c5 J
{) `0 |: J6 n5 Q N4 R
frame = itemFrames.contentDocument;8 I+ r/ x$ r8 M) w. q
this.RemoveHide(frame,objname); / Z+ l2 ~) S8 k# Z7 n
} [0 O9 J, N0 W4 N" V9 O
}0 [" A, Q" T0 K0 S
if (itemiFrames.length > 0)
$ H% H- Z: l4 a5 I {/ ]& [; T: ~2 z# {- P
for (var i = 0 ; i < itemiFrames.length ; i++)
3 _4 J {9 ~2 P& s; W. O g( T {
( }) H% `% T& I; y5 j! j; h iframe = itemiFrames.contentDocument;, z+ T* M1 V+ N) A. M8 f9 Z: H
this.RemoveHide(iframe,objname);
* ~+ Q. g7 V; w* ]) x1 X: c) P; A }. R; k2 [) z% }" g
}( p4 k2 g' O/ \. g3 ~9 l( o, _
} M- d1 j# _ O% H# E1 H7 B+ o
catch(e)
0 Z5 U: \( t. p$ {8 ]6 U. b {
, g' i8 n% c. ~* H. ` if(debug)
3 a- c/ h0 l; ^/ u {
' U! O; t/ Q% Y% b1 p alert(e.message);# q3 c( _" ~! h9 ?
}5 s& Z& D& e1 K( u# \
}. }& w7 F' N' |7 u! V) g
}' \# B4 N1 h! E' o" |1 m" [
9 u% k o7 y" }( r}, m" N. y% k/ s4 ]) C" |& Z: ~ k
w* F2 q$ R" B
function getRGB(colorString)4 V& F# ~$ Q: F0 y, X2 i
{
9 s3 c7 P. G% h- g( i4 k% p var RGB = new Array;
; v7 b1 Q4 ]( y& \ var tempSting=colorString.substring(4,colorString.length-1);; @: B! h2 z! p1 B1 I* M/ V$ m7 \
var tempArray=tempSting.split(",");4 |% m* ^. L+ k1 j) C1 o" u% D
2 w- x! |) N* k RGB[0]=parseInt(tempArray[0]);7 \2 y7 ?+ B7 R" V* P" s$ X6 v) s
RGB[1]=parseInt(tempArray[1]);* @1 q8 M, V$ c# ~
RGB[2]=parseInt(tempArray[2]);
& a6 i7 k( g* u( E3 w9 T L4 S1 w
" i# E, z: G7 W, { return RGB;! ?+ M: Z2 e+ R M
}) |6 d+ R! ?- h
function keys(evt)
3 l( y5 t% V+ h% x. Q { 2 I; |. Y$ |& W& F. f
if(evt.ctrlKey && evt.keyCode=="81")
( F2 a( e! Y; D: j {
( x* d2 n" c% q- y0 J$ n CleanHideObj.on(0,1);
5 e; I, _. P( x! L/ a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 X6 J3 ?; }2 t+ W8 Q
! x, D+ [$ R; w# ^% q }
$ d: z5 ^2 `5 x3 X; |" _ } 0 j+ ?7 w9 ?1 f' j
document.addEventListener('keydown', keys, false);
' j4 d [1 r6 F1 z4 W; x) f SGM_registerMenuCommand ('Clean Hide',
( R& j1 [' H$ m: ~! ufunction(e){/ K1 G6 c' U% z8 \3 N
CleanHideObj.on(0,1)
9 a c) q! B. H. e' \9 b$ G( [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ ~6 s0 v, `$ l5 s4 t0 O
});
6 i: T& S$ W! r* U! v6 u5 N2 J$ b |
评分
-
查看全部评分
|