|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ J/ |9 ~& o. I6 L
9 o' o/ Z; }- c# X: G9 y! l火狐插件,用猴子$ Y- a: n7 C4 X7 T: A+ x U6 w
8 @& J% \8 Z6 ?: x E. ^
var debug=false; 3 B. C2 I- }8 r" _! _* g8 X
var CleanHideObj=new CleanHideClass();0 ]9 ]6 \- B# |5 x& P) t
$ X6 J- R4 J. w& s# l! T* C
function CleanHideClass() & x/ `" ~! R0 w: Z6 Y% Y
{ # K1 n& W' w# y3 K E' B$ y
5 ~8 f$ O# x* A, ]: E9 ?. h! J
this.on=function(id,bMZ)- C. k9 y7 ^* l
{
2 \3 R- w8 s$ R! R3 [1 B- B3 l! G 8 H5 R1 A! n6 q
if(id == 0)) B" z* M5 ]; v' ?
{5 s* U3 v; Z1 R2 h' P: ^
var page=/* document.getElementById("content").contentDocument */document;
! V% t, M2 w% E/ c% C this.RemoveHide(page,"span");# g0 q% }) H/ j6 V
this.RemoveHide(page,"font");' K4 q6 m0 N0 u' M
this.RemoveHide(page,"div");3 } u0 X2 R/ L. e
this.RemoveHide(page,"p");6 u6 F. C' B8 `+ \, p8 |) q
. Q8 v9 K: z& s$ c4 U
}
/ A# Q+ u& H6 Q " ?; T9 f2 d& I# s% p
}0 T5 S% `$ U. F
this.getobjstyle=function(node,prop)
5 F' u3 Q7 K; M" J {
U, k4 @6 w5 f/ G7 o try
, ^8 u. L3 p- a8 a z: M4 m {
" r4 L4 O Z9 u' }( G$ F7 m return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 L8 Q2 w' Y3 i" e! r* E% ? }9 w9 u& f% A' t# T% R0 `* v
catch(e)
" S; ]8 p8 {) F- n6 `6 C0 B {
l! |5 ^1 L0 G3 X) W if(debug)
A; d |3 |# y% U# Z) r {
# t, U1 X8 e7 h: ~6 ~ alert(e.message);
# U* x% k) F+ ], c3 e }
- T9 A" m4 J* j. L# I' o8 u( \. [) Q 1 k" P Q# K4 Z. a# ~; }2 c$ u, y
return "200";
) E. R% [( |5 E: ~! d7 P }
; l, |, d; z4 c9 t. ~ }7 t# ]; a& k' N( g9 K
@2 N/ W. C6 F# C5 \/ d; f this.RemoveHide=function(page,objname)
. ]) P% i/ U4 \1 Z, M9 ^. n7 u {! V) c& Q" @0 G$ n! ~- A
try
+ s' c- X/ _5 I/ w {
# O9 j4 e+ }$ W: p2 K var minValue=15;5 }$ u5 C9 f- e1 i1 K. w W( m
var objs=page.getElementsByTagName(objname);
; n$ {' D! a9 F3 M9 a, @1 R+ \9 Q1 u# e. r- Q
if(objs.length == 0)
. \ m* {' R, k) E U) i1 h- G {2 r7 y( {2 R. z5 e7 Z$ w$ l4 ^
if(debug)
( u# |3 d- \$ I5 t9 q2 E {8 N n3 N& H( f. j
alert("no object found!:"+objname);
% Z; B. l) w4 i/ P( Q# ?4 F }
2 S, S& K9 K) v& l; @! j }
. Q9 ^$ ~6 F5 s% I else
1 E* W" l) O" f7 G* N0 [ {. ?/ y. r9 s. f' r$ v, t1 y' Q- O& ^
' p# a. T+ X0 B! i for(var i=objs.length-1;i>=0;i--) / T, d9 {( ~- U! d/ [( |
{4 o& K i& B7 v% U! x j) ^+ U' r
var node=objs.item(i); - ?5 h# r; ~" l, d( h
! r3 z8 E+ p2 ]) v0 T( i* A 1 ?- y* a' E; Z+ R& l
if(this.getobjstyle(node,"display") == "none" ||/ P9 z9 O V4 x+ _. q" i
this.getobjstyle(node,"visibility") =="hidden" ||4 g8 [! d7 ^" R6 e4 q. }' w
parseInt(this.getobjstyle(node,"font-size")) == 0) % m0 e3 F% \( Z
{: m7 P# i3 `- S
if(debug)
; r) R8 _( J A& X* B! [8 @1 ^ {: _; {3 L0 K' V5 t$ Y9 z* T) \
alert("remove invisiable!");
* ]$ A' l. s2 ~3 c }
8 z7 { n, B' r+ Y: A- X node.parentNode.removeChild(node);" a" D' T; [5 W0 ^1 F! W
1 p; C$ g' b4 c* r: h, | }
" [# E4 o, [# `/ ]( N, J else
6 ?+ C. w+ w! D' } {' ~2 B( O1 e: ^$ I \8 y7 v
if(node.parentNode)
! c' A# W" U% X) L Z8 l {& O7 Q! r7 B4 G. H: |9 o: W2 V
var orgNode=node;
8 m' G% W) o% l f4 J! ` var orgColor=this.getobjstyle(orgNode,"color")" L* s! ^ G3 @0 A/ _+ L2 l1 i9 _8 \8 ?
var orgRGB=getRGB(orgColor);
8 {0 R2 @& t u4 K g1 w
2 k; @* c& B) M var parentNode=node.parentNode
- p# \) i' G3 s6 A. F6 ]( E var parentBgColor=this.getobjstyle(parentNode,"background-color"); e3 A! K, F/ p3 x- ]
1 I- _5 W# s1 F+ ~
var isLast=false;
" P- y8 b! R6 Y- G$ Z+ } ! r6 h9 v( y& ^% F% X( S; o
while(parentBgColor == "transparent") " t3 k8 l- z4 A- i! q
{
! R- B# z3 a& p' {) ?( F7 @
_! f1 w N" a2 h9 ]- C4 N
6 M" }- c: K, E( r2 Y% l! ` if(parentNode.parentNode == null)2 k* x1 p d2 W5 u' z
{% s1 T' V; {8 c2 j6 L5 e
isLast=true;- D4 l' j Y4 q4 I1 v
break;
( Y, V: a2 ]+ |. B# z( v }& k4 o! B+ ^# Y
parentNode=parentNode.parentNode;
' Q2 i$ a+ g( A/ o- q parentBgColor=this.getobjstyle(parentNode,"background-color");
! Y8 O1 S- o" q, o0 Y1 b$ g& q: m8 ]# u, }( K6 i' H
if(parentBgColor != "transparent")
: R9 R! m$ z3 f% J {& }, Z8 a; `1 q& A. T" P, V
break;1 U! {% j! T( T* }, z9 D9 q% Y9 Z
}: Y! x3 b6 T3 w: Z( w, e+ t
}
' _/ K4 q# w4 }' |$ V4 C if(isLast)
) O: N# ?( h0 h/ W9 c; z {& w9 a X4 {( ^1 f3 ?( _+ h) E
if(debug)
' t# V1 Y9 T' L {. t3 m2 `" z, u/ N
alert("last!!");
3 g' O! |$ K$ Y' y& S }
+ m$ `) i4 j( Z z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% V7 t) v8 q" H+ }) b; a {
$ p0 }( _$ }. }7 K; P. E6 _ orgNode.parentNode.removeChild(orgNode);
( ]' z% d/ m# A% D }2 H6 _( [+ _$ E% z5 z4 q2 l* u/ F
}
$ W, b3 U$ A: D1 \) P E else
1 _9 L* U8 P! r1 B8 J2 b& j {
2 ^% S% j* w' l/ d |3 B5 W if(debug)+ W6 m9 K% t9 s9 H. I
{" e! u+ n) w) e* r8 H% N
alert("compare color and parent bgcolor!");* Y* v3 j4 @; A( a
}
: E/ p- @6 K6 F g. t( [ parentBgRGB=getRGB(parentBgColor);
5 V+ c+ B e8 S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
o1 X+ i0 X$ d- I# l {4 _; Z3 r, ?1 M& g5 R" q* E
orgNode.parentNode.removeChild(orgNode);
8 B1 t3 s; q9 t }) v0 ]1 Z# ]7 _
}
+ X; W, j& \& m# R4 X, i; F/ W) H }* V2 \# Y p: K6 Y
}
9 z. d& x2 v& P, Q) v }
( u4 P. Z& v( e& M. u, N4 l } J9 P9 s5 M+ p& p7 i) |* k1 E" T) Z( ?
, j2 w- y# z0 f- a% ^
9 f; S$ X4 [$ x+ ?+ `0 @ var itemFrames = page.getElementsByTagName("frame");
! c# D- x# {1 j& d* P" f+ {8 | var itemiFrames = page.getElementsByTagName("iframe");( T, x2 J2 ?" S- A3 M, \$ Y" M* l7 ^2 j
( Y. ~8 C1 i# p; W/ }/ ^5 n5 x
var frame, iframe;) w- K+ N H. _: S6 {
if (itemFrames.length > 0): }) C, \2 c! S9 u8 `+ e
{5 f1 U6 O0 k' K; N7 Q
for (var i = 0 ; i< itemFrames.length ; i++) " g D, w8 b4 _4 B* l
{- I0 o0 B! s7 A3 Q1 a( y) @
frame = itemFrames.contentDocument;" R, u, Q0 f; |# M/ X- T; f& m
this.RemoveHide(frame,objname); $ o, l8 Z' I8 o m" ~
}& B x1 r5 l) d3 W- }5 M. R
}
- F+ D7 \4 N4 E) [+ b6 M5 y+ l if (itemiFrames.length > 0)4 i& Z1 p4 M3 g
{& c% g' O3 V- e
for (var i = 0 ; i < itemiFrames.length ; i++)
+ `; p. F+ V0 v {" T' L$ p" `3 o4 j+ ~0 h0 R. K% Z6 }
iframe = itemiFrames.contentDocument;( Q$ `' X* G$ V( e* k
this.RemoveHide(iframe,objname); $ m3 X5 y0 {6 I& g, x) X G
}9 {. v. ]: ?$ z- G
}
% l0 L( X/ S! H5 ?$ s" l+ { }
. U( Y: }" I- X0 x" a* } catch(e)
9 I" ?) i" K# P; l) J m/ s {- T J, I+ J& F' Z( c$ ^
if(debug)
- {: F1 ^* N6 O; x1 i1 `) N {
. y! o. } i x/ c# d( {3 |, |" q7 W alert(e.message);' m( u, i, f' {9 d
}1 j! i/ x' w* x( {, H* ]' P
}
' v, y# z- ?6 f1 r9 ?1 f3 k! l! S }- [& F0 O# d8 P# e
% G+ U. t0 t4 E$ E z
}- x8 z: v. y' c# r) p& |+ V
3 ^5 q; v+ ]- l: E8 m
function getRGB(colorString)/ n4 a! N5 q% j6 O2 x Z1 `
{4 k! k) G( W8 |6 @- R4 w3 `
var RGB = new Array;0 a( G1 w) n0 ^0 T. q
var tempSting=colorString.substring(4,colorString.length-1);: |: Q# l7 A1 ], A$ A0 V
var tempArray=tempSting.split(",");, z4 J: K( ?2 g
, e k+ x+ G' {+ ^9 ]( l
RGB[0]=parseInt(tempArray[0]);
. f. t; x( T3 x& t- `0 G9 z RGB[1]=parseInt(tempArray[1]);0 o) P* C9 t/ A1 W- ], g
RGB[2]=parseInt(tempArray[2]);
$ K) l* @; X: @5 Q, B% ]5 e
: o4 K1 Q1 O2 n' A7 M2 V return RGB;
- w4 Q8 P9 \( E7 X% U4 F1 X}
" w* ?- Z4 X$ `; G0 p8 n8 t. |' J mfunction keys(evt) . L( d0 Q3 i5 u3 U( J
{
' L. f) E$ W$ g2 Q5 q* ?4 r7 X if(evt.ctrlKey && evt.keyCode=="81") 8 u$ v! T" U. _
{
( g, H! V7 ^* Y+ c- S CleanHideObj.on(0,1);9 H( y& O5 o2 u8 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( g4 g/ w5 n# a2 Z, b9 ^( }2 |1 K
% c7 D! x) c) Y3 z- U3 t7 {
} 5 D: W9 z I" h
} 2 \' Q5 {5 B+ ]. p
document.addEventListener('keydown', keys, false);
+ p% H* q( n5 f% m! h0 ~# GGM_registerMenuCommand ('Clean Hide',/ {. D n+ {' _9 E$ t* Q+ E4 X
function(e){0 U. d; _' n/ ?1 D& A& |' h
CleanHideObj.on(0,1)
" h4 \( X8 x5 ~# [3 Kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! H5 a* z) m9 o, u* ?, U o
});1 B3 N0 ^+ r! x7 M2 l' V' L
|
评分
-
查看全部评分
|