|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ Q) s6 t6 u! y* Y
4 C1 w2 z& z1 y3 W( M( _火狐插件,用猴子2 L C7 ^; e( h
4 M f4 `- `# F# {7 j
var debug=false;
& D! s- x, C# j0 `, l/ R, xvar CleanHideObj=new CleanHideClass();- D+ X8 z4 B) O+ u
( P0 M7 H# c: u' ]! q; a1 A$ F
function CleanHideClass()
" u; E; W2 S9 X- S8 [4 O% d{
Y G! k6 o5 r0 Q" i2 \- {* l
8 `6 E) Q& B- k+ J this.on=function(id,bMZ)
' N" l$ x% w" H3 p {
% q8 G+ x, }) K7 T ) |4 c7 a; [2 w- J) H
if(id == 0)3 a+ E; m O* }3 M
{
% {% a2 z. T- C5 Y a var page=/* document.getElementById("content").contentDocument */document;
( Q' s; n/ {0 x this.RemoveHide(page,"span");
. B& s0 L; i3 o4 a8 T this.RemoveHide(page,"font");, U Y. w$ \# ?9 S1 R6 l. q% m
this.RemoveHide(page,"div");
) t4 r% ^% ?2 h this.RemoveHide(page,"p");
& j6 x* J' u0 T# w$ G! b Y& U
7 {( x! E5 P' R }2 `6 _' F. M! l
2 t+ ?' R4 I P& P }
. r, z' [' m. ^; \3 I this.getobjstyle=function(node,prop)
$ w! `. W" O& Z: c% p! q' ? {
9 b9 c3 t: s* v* A try& `& f, e/ {3 }: K! o
{
$ p& B9 F' U( E6 h( z7 Q) ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 I5 K( l, U0 p! W9 N }
) c. D6 {% ?+ ]+ y0 K+ o6 s# c- C catch(e)
[6 }. x& ^4 R. C2 j {+ ?& V2 q- h) ~0 O
if(debug)
) K8 I! _0 v* h- @ {% N0 P4 X4 i) h
alert(e.message);
; V a. i! y" P5 N7 ^$ W }7 R: f1 x8 E( z: {" S7 R
* P" y! Y7 C% R4 P: h6 r) A6 X$ f& ? return "200";% t9 ^& b& N, E# B* Z- A" `5 D7 E
}5 ^ y% p4 [6 P4 C
}. o+ j+ B% P; s% j/ D% m
0 D/ z" c8 r' j m. ]$ ^ this.RemoveHide=function(page,objname)* |3 v/ i' `& v* z' t5 W
{
* T# d& I) a! M$ }6 @0 j+ J0 } try
6 \: s1 Q& g, p& K. f6 c; t n {; e" v5 Q% k- Z, x6 x
var minValue=15;" C3 a3 p1 f& k) X f0 a. Q
var objs=page.getElementsByTagName(objname);
( i1 B- @6 X, c) L% }1 b
; a; F% |8 T' ]& P/ _9 K if(objs.length == 0) ! E" H& T$ y2 p1 n! K
{
6 n s! N3 {( z! F' c3 ?9 G if(debug)
& x& k7 c7 P) e {7 d) w$ U! r. C+ r* @
alert("no object found!:"+objname);
[0 Q9 ?3 A# a% P/ u }6 I9 [" C$ T0 j; d+ o1 X
}/ L2 D" x! [+ \5 g
else6 Y. r! X6 P" m. Y- ^
{
1 x8 d. s/ T$ C8 x# C
& r2 O" x9 x) W. H+ ~* h for(var i=objs.length-1;i>=0;i--) & [# u' ?" D- I3 j
{( ^ A5 n* [* d* e
var node=objs.item(i); . z& r4 i! y( W! E; v0 W4 ]
8 k5 q2 F$ U7 n) s; Q, a( [" w & l4 F6 R- h# W3 P! p# U( ]4 t
if(this.getobjstyle(node,"display") == "none" ||4 P4 F- ?8 F2 Q3 O8 p) a. M- x
this.getobjstyle(node,"visibility") =="hidden" ||7 B; I# L, Y, |0 ^- ^' ~
parseInt(this.getobjstyle(node,"font-size")) == 0)
' I, i% d; r# W, ^# y* S {+ ?& C1 y T2 f% e3 L+ ]
if(debug)
' r [& z7 V) f( I8 l0 v& y {
/ V# z# ~- |' B) ~9 [/ l alert("remove invisiable!");. j9 D; z( z4 w0 V) D: m; _
}
- ` x8 r$ x. @+ c& \5 U5 Q node.parentNode.removeChild(node);: G9 |! x# r6 J+ S2 g, P
% M3 A0 \ K( u/ B7 V, Z }
- f7 y5 J& a! s: E1 K else & k% t; |. \' `5 B! }( A
{
4 K( z4 q: q: \! [( K( @; ~* z8 K if(node.parentNode)
5 e/ ~$ U& e$ Y8 a# E2 n" C {
, M7 N5 b6 g7 ? }1 S var orgNode=node;
2 n& a/ n$ g* j$ l: L9 ]8 c3 U var orgColor=this.getobjstyle(orgNode,"color")$ L; E' e+ k7 E9 r
var orgRGB=getRGB(orgColor); , p7 s8 q3 p7 K- X
" @/ ~- J. _% n2 W
var parentNode=node.parentNode) C. w6 f. f. r+ u2 y9 \( J
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 {0 O! m- u* n6 d8 A: Z( R* C
% z5 @" v/ m0 {; f1 D var isLast=false;8 l7 U/ ~3 |1 e# P3 S3 Z
* v0 M0 Z! [) \, E" j
while(parentBgColor == "transparent") ' e/ u4 C8 _5 T# B
{* d4 l. V. v; J5 O+ c' A, z* _/ o
* _0 n) s$ B& n( N5 T
% r+ J; H! \# R" H# Q if(parentNode.parentNode == null)
7 Y% N+ a N/ @ ?& M {
5 G4 r& P* c2 J" A* @$ S6 P( v5 H isLast=true;$ o0 l. b. p" S( M. X; \. a
break;
% Y, f! L2 Z& z2 `- ^ }
. r9 e% ?) Y0 a4 ^" d2 i/ T# p3 R parentNode=parentNode.parentNode;9 U. {) R$ k- i
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 i; x! H8 _ n5 w# J4 u: n1 Z/ O3 C; v
if(parentBgColor != "transparent")
~% c/ P+ y) p4 i0 O {+ e6 O7 Q) |2 [
break;, G' O$ g9 ~ w! H3 v# i5 S) c6 A
}; ?3 s; d# B" c* z1 Q
}( [4 u$ ^1 ^( m" Q6 r$ W- i
if(isLast)
2 x' n* N6 N+ B: n! e {
* Z/ t/ i* V+ Z& _# n0 J if(debug)0 W- e3 S1 v# [
{0 D+ o7 s8 H# K
alert("last!!");
$ y/ c+ s- r/ \# j" p }; C0 s% h1 U& _' ?; l5 Y/ O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! m3 |% e7 }4 r! g
{
9 I7 ~, o1 ]8 I0 j k orgNode.parentNode.removeChild(orgNode); * w7 w* }! s. g _& V
}8 H% Q4 T2 C2 D8 s1 j7 l( C! J2 y' k! I
} v3 U9 a. I# j W; |
else( A( T" X3 ]- }: ^$ ?# T4 H( `
{
4 O9 u. Y. i2 c& v. a- s% O1 G if(debug)" z9 ^- G3 \8 J
{! @- f- p" u5 f; W3 J4 r
alert("compare color and parent bgcolor!");1 g0 M. W* N3 g5 F$ C
}
* c5 c7 h; f$ O* I- } parentBgRGB=getRGB(parentBgColor);
) r' H7 R8 ~% Z if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) J8 P% e2 b" E2 Q {
}% [& `2 \6 d# g( P0 Q ]- r orgNode.parentNode.removeChild(orgNode);
# |5 h; u3 L( T2 l- V, o( d }
$ ?# k) ~4 n i$ s; U }
$ e1 q9 D8 {1 t, c4 z3 o( w }
; e* h% a- M+ |' u9 s9 X+ C" @ }; F1 c" y: _- h: }7 V
} D8 @. a( g" J, @4 V
}4 W. @( b: _5 y7 P/ j( b2 B
0 ~/ a4 x- F9 n" e+ L8 _/ J: l
8 s& C) \! I, h. \/ t var itemFrames = page.getElementsByTagName("frame");2 {; T1 O- w$ \; z! B
var itemiFrames = page.getElementsByTagName("iframe");
7 M& M h* G5 o- y5 ^* n ) Q. N' r0 H9 R* c$ S! Z# |+ a
var frame, iframe;
! b. @! s) {( `) t- B# R6 p; h if (itemFrames.length > 0)% R" i' v& k7 E+ d3 E
{" T1 v6 n1 [7 W/ A9 R, i
for (var i = 0 ; i< itemFrames.length ; i++) : \* l0 y" b. I, W, P8 a( Z
{+ J$ Y4 ^. U( w3 f z
frame = itemFrames.contentDocument;
9 e) C( \9 D. C7 L B" \ this.RemoveHide(frame,objname); , ]$ I; G7 d! ]8 n
}' m0 o9 r$ l Q& s& ^* O8 }4 z5 f3 f; d
}
3 F) T6 V' X: w& ^3 f' c if (itemiFrames.length > 0)1 H% Q" h. b" v- |) h& I
{
* Y1 P( N& J3 w) `/ t2 p/ z7 P for (var i = 0 ; i < itemiFrames.length ; i++)
" M4 `! h* C' N* Z {
7 y% r: V5 b' U1 H+ W iframe = itemiFrames.contentDocument;
1 V6 I- |: T& b) a this.RemoveHide(iframe,objname);
8 E6 R3 X0 c% {& A0 i1 ^ }/ D; L5 h/ ]- B+ X7 }5 V7 u$ c
}; V- X9 t8 {% I# H+ \# S
}
) y- o! H6 A) D1 g; } catch(e)
& ~7 e4 R, I O! V& E {
1 \$ o5 o4 v; n if(debug)
: Q: M+ ^" K6 E {
& y. N. S6 U: x0 I _4 _: @ alert(e.message);
V _: v9 M- Y5 F( B }5 y* d: k6 F" K' P2 V7 Z) R
}
9 u% J& o% d% F3 e7 s. M, b }
1 @- o# p+ D+ n$ F5 s
- W+ J+ j9 f0 o! i% e4 z}
5 ]2 V7 | ^7 L& C) g L
p2 n1 W2 I7 Jfunction getRGB(colorString)6 ]# b- S# C# }8 r6 M
{; ~" Q3 ]3 R$ y( H( ]
var RGB = new Array;
2 V# z6 r) M6 s! n2 V var tempSting=colorString.substring(4,colorString.length-1);5 v" U8 W( D6 i6 |+ J
var tempArray=tempSting.split(",");! O9 l& O4 C: |" q! v" e
) t B7 \( E1 N, L' T j" e* r" @' @ RGB[0]=parseInt(tempArray[0]);' x. x( k* ]/ K
RGB[1]=parseInt(tempArray[1]);
. ?6 P8 W+ p, s7 n0 S3 } S, ? RGB[2]=parseInt(tempArray[2]);
) P$ Z' `/ G$ s: \4 y9 q* l & O4 x P! n }0 }5 D
return RGB;
0 @5 S8 @9 S3 Y}! Z( X. ?6 t" Z7 U# [# s
function keys(evt) 5 {2 d3 T2 C$ ], {" i
{ 7 o$ s7 D; n3 D8 x) J$ l( x# w
if(evt.ctrlKey && evt.keyCode=="81")
! u- G+ h0 E3 x" v( l { % T7 Z/ t9 q7 ^( ^
CleanHideObj.on(0,1);
a; y& x( E/ O) b5 } C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, g, K7 Z$ Q8 P& c. B$ I
4 f9 u3 c8 b3 k. Y8 Z7 E+ F2 ~' { }
) [, I% a( Y+ x) I } 4 N x2 U: P( \. @5 u
document.addEventListener('keydown', keys, false);
" J# z, g8 t0 x$ q0 M2 T6 n4 qGM_registerMenuCommand ('Clean Hide',4 F3 Z6 L' D7 i+ T k; g7 l
function(e){
7 n( A1 {) s8 U$ O( S# U# mCleanHideObj.on(0,1)
! c' j, g1 L3 E) Z* {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 j& n( K% h1 ~6 ~+ `2 \# p
});: h* ~/ N/ V; k( i! ~
|
评分
-
查看全部评分
|