|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + y$ p8 e, M- i+ [1 a& G3 H
0 I `1 V6 [" _" ?6 H
火狐插件,用猴子8 F) e* z$ U' P! N% J( p
9 }7 C( f9 y/ \" Qvar debug=false;
. M; c: V( @7 b- v- pvar CleanHideObj=new CleanHideClass();3 Z4 p4 v$ A" t
* c4 j1 e0 K5 b, v( S( _% J5 _function CleanHideClass()
- |7 n2 U6 Z# _1 E" v4 \{ ' H ?6 k: E E9 T5 J0 y
' o. b T$ S4 H2 J9 U/ a4 i, p4 _
this.on=function(id,bMZ)
: {$ P9 E0 }5 t. o {' f6 v0 `: j2 c% L( r Q
3 g. @+ X" v0 v% \" z) A1 \
if(id == 0)3 W1 M) I9 i) L* [* H G2 B" k
{
$ c# {' w0 N# t! [5 a2 u var page=/* document.getElementById("content").contentDocument */document; & W; Z) U! B: C9 B8 n
this.RemoveHide(page,"span");
8 Q4 T3 m( D( s! P7 v! K this.RemoveHide(page,"font");
( a0 t Z) ^0 l0 x' r' ` this.RemoveHide(page,"div");
+ F+ f- M8 Y0 o: z" @7 u T4 N this.RemoveHide(page,"p");
7 \" a0 J9 p% ^" {; |* z2 V 9 M" M G2 x+ s5 W* M6 S
}
& E) ?: w6 B+ H* W
9 @6 `! W) q4 Y, l6 |/ o }
3 ], b- n9 H5 x4 `! M9 D this.getobjstyle=function(node,prop)# d$ f" P5 z+ U( M9 l+ D
{1 F( p% a6 F2 A4 K4 g1 W% R
try
" F+ W0 q8 a0 V {) \4 Q& F! h9 j. d* x! O/ D' M
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& ~8 q6 X! D3 E; U1 g4 h
}
. X$ f( t, B9 C catch(e)6 X" Q) }4 }0 h5 M1 C+ s
{
4 ^& y* `; N9 X: F if(debug) r; v5 P I* ~: ]
{0 W2 x z. k9 z, j! d2 v
alert(e.message);1 B2 c' s7 e8 B! |5 b
}
& i6 Z# ~5 w+ U2 e: V. I$ \/ A: c 2 f/ Z8 D7 w+ |
return "200";
3 @7 p8 ]$ T5 O }
7 Y1 x3 l$ z0 W# S, L }* x( p* |9 g) O* V6 ^
. y# U" @( K5 i this.RemoveHide=function(page,objname)
+ L6 ~6 |; M, J# j. n" J1 B* _ {
, G1 {, h6 c* l" A3 ~ try5 P" A. r0 ?1 O1 `
{
4 Y; k6 h# p, N2 \7 U+ Z& C. t var minValue=15;
4 v5 x- Q- Z0 A3 y$ T; r9 \1 b4 r6 b0 S var objs=page.getElementsByTagName(objname); 2 x0 L n3 I9 |7 C; E% y+ O( @
1 p4 R4 |8 v2 W) x" }
if(objs.length == 0) : Y; f q9 o$ z: Y) M! I* z
{
: E* C7 S' [* b' F" [' a- L if(debug)
% V% w# m L4 `1 }2 t5 R9 r T( R9 z {/ D! N: M% k/ ^0 w' z
alert("no object found!:"+objname);
9 B/ K) @" i- z+ t( }) o }
' J1 c; E; G6 s9 T+ X" ^ }
' v" P( E' c4 A* I! N else' @4 r- O- M% L! B+ {. K
{- X6 ` e3 l5 ~5 c2 C# j2 S+ I
& B, e. x# K4 H! z for(var i=objs.length-1;i>=0;i--) ) I- G+ z _* |' t! T
{: x. B: `" s/ J
var node=objs.item(i); " T+ n7 r3 r2 H8 p
4 S) Q4 @/ j' Z* N |0 J
2 ~, f( B8 r9 W, Z; @
if(this.getobjstyle(node,"display") == "none" ||
+ F! V0 w1 c* B) |" ] this.getobjstyle(node,"visibility") =="hidden" ||0 W% Z1 }5 t9 \+ X9 h( ^0 e
parseInt(this.getobjstyle(node,"font-size")) == 0) ! t) ?& x' r/ b7 ^
{( i9 Y6 d. G! j4 m; R
if(debug)
- M2 a) L6 _ P _9 T9 j/ E {
, _. j8 W8 [& a# E5 B* b alert("remove invisiable!");& g4 q- E2 b! J6 _% {# z
}
7 l5 d' Y* s# S! ] node.parentNode.removeChild(node);
+ v2 S; u' o" u 0 f/ ^* L2 W! ]6 d/ S
}
: s3 T% L0 \5 ^3 ^: Z5 @ else
% S6 X: q% R. I- j {
6 ?# y! R- k+ c9 E3 \ if(node.parentNode)
. l1 }' D5 G0 g% U& r {
7 ^5 h* a# T, d4 o6 r8 z# x, ?2 B var orgNode=node;7 f- ^5 v& F1 b" {$ Y1 @7 I
var orgColor=this.getobjstyle(orgNode,"color")
1 [+ O1 f) [$ K5 s0 g" P var orgRGB=getRGB(orgColor); 1 _0 I' L5 v' G# A
3 ]. o0 f- i; I' X, I
var parentNode=node.parentNode
9 r/ k8 R7 b' S9 Q var parentBgColor=this.getobjstyle(parentNode,"background-color");
; ?) J( R8 ?: ?$ N# K, P1 I - k: q' v) a. L) n2 Q* a
var isLast=false;% W" f' Z- N! z; u ?, R
* Q- Z/ x9 r2 s while(parentBgColor == "transparent")
# S$ R( l! ]! R( J2 e {. j! Q9 @7 l+ q/ }9 W% Q; ]/ F# k
0 Z1 C; S; u! J& ] & L" V* L l3 n& r( s! D
if(parentNode.parentNode == null)
, X* D& }: @7 S! I" R1 d# @$ X0 Z d {
1 Z/ q' Q. Z* r$ E5 S' t' {$ @ isLast=true;
1 d1 k W: R, D6 @ break;5 m- E- t; x8 _4 P2 e2 j9 Q% @( p# A
}
! P3 C0 }9 m" U$ } parentNode=parentNode.parentNode;
% x- D2 i4 ?- X& y! P: V# F parentBgColor=this.getobjstyle(parentNode,"background-color");) ~/ [9 o6 t6 v
* y" O9 t6 V' E# y7 T% P if(parentBgColor != "transparent") 8 _# P. F- X1 y/ M* h3 [
{
/ a4 Y* I1 u3 x7 K; C8 U; s break;: D. ~4 ?6 t( ]" e+ a, T
}% O. X, L% p n) w3 |4 E" Y. Y0 z
}. U. r, a) N( m9 n3 L2 R
if(isLast)
6 e/ I) \, a' ~6 q: c1 p+ A {5 D5 Z* t; r( M* U z# M" c. J. K, M
if(debug)
0 K, z; I: Y" F1 @9 S: ] {" @# l( X, `& Y t v
alert("last!!");
: d$ {2 c. [7 g; U3 @ }
6 A4 V5 U( A1 r- H* J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 n1 i! B g- N4 Y: W {
]8 Y/ ^1 W; |# }( ~6 m8 i orgNode.parentNode.removeChild(orgNode); 9 D1 ?7 g Z, O+ E2 u" V
}1 A4 Y+ R, K1 q: `1 t% v* Q
}
% C6 i" i8 w4 a3 S4 T; S2 R& q' u, X else0 }# ^2 H( `3 F v/ }" l
{5 q5 ~5 H* J+ {! C2 N C7 |
if(debug)
J+ @+ e9 Y# K$ l {5 i, D- G7 Z6 ^0 p+ ]1 ^/ A: `1 w. ~, U
alert("compare color and parent bgcolor!");
+ a- V; A# `" d& L4 U }) P# e6 U( u4 `$ V4 L
parentBgRGB=getRGB(parentBgColor);
' g, d8 }8 E5 Q n; k6 \/ a) [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 Z6 L' Q; Z( A+ P8 V
{
* g; A7 l S. H orgNode.parentNode.removeChild(orgNode);
' Z% Y0 F2 ]% R5 B: ]+ ^ }" l" s+ y( w4 }$ r- K! [9 r
}6 x: N# Q0 j: L5 @. u+ t
}
A, S( j- H4 ? }
! b& @) T' c# M) G }
8 W+ @3 k2 g2 W# A7 Q, h1 d0 r }# O4 q5 \$ f* V9 T" a/ t
+ q; Q# m3 Q0 n4 H) V
- ]; z0 @( ~ s6 _ var itemFrames = page.getElementsByTagName("frame");
& l+ d3 F5 ^8 \ var itemiFrames = page.getElementsByTagName("iframe"); K- l8 W$ s7 A5 c k/ \) l$ L
' [& y6 w/ }2 `) Q: b8 ` var frame, iframe;* l+ \/ R5 L) N$ `& q0 T
if (itemFrames.length > 0)& t* i$ s7 [8 A
{$ ?2 ~4 W& b: b& p- ^' X
for (var i = 0 ; i< itemFrames.length ; i++)
4 `' a& G7 {3 w0 b$ R6 @ {& [$ j) e5 L6 Q' s5 ?1 v1 B) ]
frame = itemFrames.contentDocument;2 R! W K: m- n( m d
this.RemoveHide(frame,objname); % z+ D) z+ B# A9 S2 b$ i0 U$ ?3 ]
}8 m* N& k% h( J! e! k0 r4 t
}
" P- m. R; o' S& |5 a1 i if (itemiFrames.length > 0)# T1 `1 ^ [; J, ?+ B
{
3 O1 J+ ~5 u# n; j2 Q for (var i = 0 ; i < itemiFrames.length ; i++) # b) N, l$ p( S& N6 ]. G
{
1 X8 D6 U, x9 y5 w- X+ a, c( l iframe = itemiFrames.contentDocument;7 g/ @5 w5 B! Q) s. P3 t0 {
this.RemoveHide(iframe,objname); 8 p& U7 v6 v* B! y
}
/ G0 @8 t& H @; F }( i3 v) E- @5 H
}& a; T5 p; E: I) h8 H
catch(e)3 N2 C9 r W6 l$ \# y0 \9 V( R
{
' j* F# T. K' J0 J9 V' I if(debug)' C6 G9 |. C. V; a# A0 U8 k: P
{* u N' J) a2 J% @) Q' R
alert(e.message);
- X) R; ]* y4 p' }$ e }% I* @# U& e2 m
}
1 _& I* s# c' P' e# I9 Y5 ] }
+ L7 W: ^. _& {* P6 K( Z
/ h$ t3 r! k+ o3 n1 O) E3 A}& g/ H; Q0 {- y$ Y/ d$ i
4 z$ D$ P6 o$ x1 H: w$ r) M8 S3 m. y3 x
function getRGB(colorString)
% R! Z6 J @! d8 {1 o+ ~{, F4 J' X3 k; _: t* y' t# s
var RGB = new Array;
4 |5 I8 X/ J9 M* e; \: |! \ var tempSting=colorString.substring(4,colorString.length-1);
: w, T( _6 z3 f- m var tempArray=tempSting.split(",");
5 n2 j m# X. i. Q& b/ d6 k$ {; h% M* N! l" v) m5 z" t# r
RGB[0]=parseInt(tempArray[0]);' N% x H ~; K) }' b
RGB[1]=parseInt(tempArray[1]);
0 {6 r" P, f2 z RGB[2]=parseInt(tempArray[2]);
2 N" O* g& `. g7 l
. i6 j6 e6 }. C return RGB;
" I3 R- N) ?- A- U- @+ c}
3 ~; w2 d/ Q m7 H! K) E. n6 r" Afunction keys(evt)
3 X4 r8 P! m/ {5 w- J1 V7 q2 \ { 9 I' F3 @6 K2 w5 t
if(evt.ctrlKey && evt.keyCode=="81")
$ e9 ?* |+ ~' s4 W- F: ? {
/ V/ l4 f5 d4 k CleanHideObj.on(0,1);) t+ `; ]) V T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 ?' V# i* s6 |) I( i8 N2 L4 \
2 v6 ~5 J% m1 N7 T* R8 y, Z }
: i+ C9 N/ p, s7 u$ J @ }
. n/ r( K- Q; p4 {- W$ s" Hdocument.addEventListener('keydown', keys, false);
- G1 ]3 U* l a) hGM_registerMenuCommand ('Clean Hide',# O9 U& g7 i1 m$ f9 I
function(e){
) B& o7 T x0 U6 j( }5 v# _( LCleanHideObj.on(0,1)# R) E8 S, y$ U& i* t3 Z- P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& |0 W3 o6 ] c0 k
});
0 I; O7 J8 N9 }3 h5 C7 M4 ^& k |
评分
-
查看全部评分
|