|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; n3 S/ {. t- p: x) V; x0 b
2 M0 E; g& w/ {火狐插件,用猴子8 ~ @! `& u, _" N" D
/ j1 v. N4 j) j+ {4 B
var debug=false;
% p4 L. W# ^! X1 `0 xvar CleanHideObj=new CleanHideClass();4 \- O& A: A& ^
) J% Z, ~$ v) N [function CleanHideClass()
2 ]4 E, g6 L' m: ?! J5 s4 l{
" n. s, J) }/ O" k1 } : o2 q- b7 \& Q T8 e# h
this.on=function(id,bMZ)
* i# O! U& d Z* F) u: N7 }/ s {, ]6 k5 @# v: S o+ Q
: e6 q4 @# X6 q' Z+ w if(id == 0)
% @& s2 s$ w( ? {) v- [" ]' }8 l1 F u
var page=/* document.getElementById("content").contentDocument */document;
6 H8 C, i' Y F' I& X2 c2 ~; F this.RemoveHide(page,"span");
5 t0 T+ _" H) m4 k# { this.RemoveHide(page,"font");5 s6 c4 ]$ R v3 E& A. `* I0 ?' Y t
this.RemoveHide(page,"div");
: a0 W$ W6 ^" t6 o8 e; P1 B, Z this.RemoveHide(page,"p");1 P2 G9 a( E6 J- M; m' q3 G( l
4 S/ E# [" w& D& B4 r
}8 z9 x2 ?: }7 @! E( `( |5 j: y8 g
1 \; ~% i$ Y; L9 a" r6 \ }: H) a, d& [3 d* A, L" A
this.getobjstyle=function(node,prop)
! v% g% W7 Z) f: l6 ~+ F1 s3 l8 a {
/ M$ {, u( e }# c) n1 { Y5 c+ g try+ y9 J( D$ q* B4 v, m0 i+ S7 Y
{
5 A, B& M m9 M; ^' \4 r, v( k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 Q: e4 N' K! k# f* U }4 ~+ f/ u, a |' P0 Q: n4 y
catch(e) J9 c% r, {, c" y) z( p. K" [2 J
{& T8 @, Z/ _# ^5 H
if(debug)
- z6 |. a( F U/ Z/ _ {, B5 U- {$ P7 ]; r3 s3 a* v
alert(e.message);3 R7 c" V K. d/ A- {- k
}6 ?# ^6 `3 v8 x" B
: Y" r2 b) @! [% _$ f; q
return "200";
2 k9 H; p3 P% q, {6 } } z- a1 V' k; N+ I# t( A! I/ t
}
/ Z. y9 K4 \! g: G! X- N6 }8 x / o# `+ I7 F) F* C
this.RemoveHide=function(page,objname)
: A) ?) R) m" @) G {# j7 t, l. l% V. f' U4 b
try3 `, l/ K1 F. k3 c/ U4 S- W6 \
{
! Z* R& w" L1 o! o8 R$ t f- ]/ Q var minValue=15;
3 O0 A5 t% E2 O5 }* Q4 K+ @! W5 Q var objs=page.getElementsByTagName(objname); 6 T- B \! `2 V w4 Y* A$ e6 `
( q0 {0 Q% a( ^ if(objs.length == 0) 5 y* r' y0 H4 ], l; {8 g$ U
{
9 {/ |( _4 {9 ^/ _) l/ M5 u if(debug)
- `# Y8 a& | u R7 { {
1 D) @- J- Q" g" ]/ i/ Z( Z alert("no object found!:"+objname);1 \+ K. x# ^! V$ i' T2 ]
}
7 E; p) [ s7 K# p/ v9 M+ O: F9 Y }
0 V8 V' a' F$ V' [+ |9 q else
. M; Q2 _$ U2 P4 F# ?$ `2 h* o6 F {
& P) e0 |, M* w, [ . D' n( B7 r7 x, O0 S# ?+ p) x
for(var i=objs.length-1;i>=0;i--)
3 Y8 v% B; f3 N6 I {$ T9 v: p6 h. u e$ O) V/ D3 e
var node=objs.item(i); 7 y. f0 I) y2 M" m( o% U; O- d. N
/ |+ Z6 ~2 l- Z7 ?. f* V: o " |7 p# e% W( ^) R( I* B
if(this.getobjstyle(node,"display") == "none" ||/ S, x( f- }0 m0 r I5 z6 B
this.getobjstyle(node,"visibility") =="hidden" ||6 u8 j2 Q% l4 Q% E. o; y* G" ^; l
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ e1 B9 u& { h; k- Z- Y {
" ? p) m, H" i2 Y5 j Y if(debug)! [* B6 ~" y( n/ R/ r; i
{
9 |4 A% x q6 a- u; Z- O$ H alert("remove invisiable!");
1 F. B* l9 D* w- x }* Y3 U0 d" K0 x
node.parentNode.removeChild(node);$ v8 `3 u4 g& @+ W: b
5 Q* O/ M& K& z) i7 O# c
}' v5 B0 p0 A4 j# c" u6 C
else
6 a2 s2 d K7 n) K! z* b. E, s' c# M: n* ^# X { W* u6 z; v( | m5 |4 z* v
if(node.parentNode) ( T- g- c7 L4 \. _$ \
{
3 h% z7 E& i( a. y9 R% Y# y var orgNode=node;
4 X/ n; R8 t6 W- F# } var orgColor=this.getobjstyle(orgNode,"color")1 I! e! i7 B! @, r
var orgRGB=getRGB(orgColor); 5 ^$ y2 `0 x% T$ `. D+ J
" v" g! e# M' E6 R9 \ var parentNode=node.parentNode
' |: J9 w. l: K var parentBgColor=this.getobjstyle(parentNode,"background-color");
% C% L( b$ k6 @) D D5 ]" d9 j. E
4 P3 a0 u' H# d# H \ var isLast=false;$ m0 ^, p4 t6 t, v/ q/ a- \4 {3 T! r
& @" I5 b' }" m# i while(parentBgColor == "transparent")
+ X6 @) b! \# z! x0 n {9 U4 {: Y3 Z4 t" y/ z$ F
8 M3 N+ T O" g R* W3 ?
/ l% \3 ^! p) i
if(parentNode.parentNode == null)4 b6 m' {0 Q3 ]8 q2 L9 W
{ D, ]+ o6 o! H B6 I+ r4 R
isLast=true;
_" ?& E5 W3 J break;
2 O2 K4 j) O/ a6 X8 d }" @6 M* E* ~7 l5 w
parentNode=parentNode.parentNode;1 m1 u+ H4 K; v5 g) Q) |7 L
parentBgColor=this.getobjstyle(parentNode,"background-color");: f5 [0 T) T4 i3 V# t4 D
" @" J' \/ a6 ~ if(parentBgColor != "transparent") " r% o: F" Y* e+ |
{
+ ^$ H( P5 u- e6 L$ s+ h break;
/ s6 y. [9 {+ g$ ^4 L }; a) H; Q+ F7 e. ^) I, G0 I3 S4 V
}! g1 Z' U0 M0 Z" B
if(isLast)
5 U) `+ b- ?3 k' Y" n/ O' e) Z {
" |" Y! K* k6 P# W if(debug)
! p7 f2 |4 A; Z" r$ n {. ]9 r8 k$ M; M3 |) d1 ]
alert("last!!");) i0 k F9 Y; ^8 r
}+ L2 A. L; Q% n. ]+ p" V$ }: i; p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& V6 y* c! a4 ^8 g& o# R/ O6 d: F {# S! \; v: I7 o8 Q3 Q6 X6 u( Z
orgNode.parentNode.removeChild(orgNode); 0 w4 o! `' I. {% q7 X1 O4 D* a
}- k: Z& ~$ V9 k7 l* U/ B5 m; A
}6 A1 \$ ?/ R% H% x- n u, U
else
/ F: l% ]. M1 ? \7 H { J7 m( C2 W7 K1 _
if(debug)+ P1 U) S- f5 c# W1 i0 K
{* a. K/ ^; Z2 J" P( i$ [" K, ?
alert("compare color and parent bgcolor!");
. y$ q# p- j2 n }/ D+ R$ x7 a) {2 f% i" F8 k. I$ X
parentBgRGB=getRGB(parentBgColor);
' `0 C1 t3 ]( Q( ^8 J2 H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 O+ f! _7 q1 D4 a% J# v& v+ G {
6 t) P* z) h, D B orgNode.parentNode.removeChild(orgNode); 3 L7 |+ Q1 |, n% ]0 C
}6 `7 r0 }* G+ X7 Y% c
}5 ?# W; D5 K) h
}* @ e* L8 U1 a5 \+ t9 _* ?
}
2 Q' x% s. L% C } }
% ]0 f- Q' ~4 B, i! Q5 l5 h7 x; ~ }
: h1 d8 v8 m" N0 [- |; `
) A$ ?' [) g4 O9 H; g# a0 _7 v ( |- W ~% v3 F
var itemFrames = page.getElementsByTagName("frame");3 O5 @, t6 _: ^6 F
var itemiFrames = page.getElementsByTagName("iframe");
, f# d3 @+ d4 a9 U e' P" E
) ^, F! K% [/ m$ w9 M) r1 J var frame, iframe;0 A1 P5 b+ ~ K$ v4 \" ]
if (itemFrames.length > 0)
4 U6 n" r# u1 u9 o1 Q {7 {! r# U6 d. S' f
for (var i = 0 ; i< itemFrames.length ; i++) 3 o o, j$ P, u4 g7 f0 w
{! L+ z4 R4 f$ }, T* Y1 W# }
frame = itemFrames.contentDocument;
. H$ `; i5 { w5 i' d this.RemoveHide(frame,objname);
7 e3 f' e: ?3 G0 m, H9 e }
2 }7 c) s+ z, z! p9 F/ S3 ` }
3 x; v1 ~ E$ \& P* _ if (itemiFrames.length > 0)1 w; E5 F% h7 G: U7 b
{
0 t6 j2 O( O, T for (var i = 0 ; i < itemiFrames.length ; i++) H0 I. Q) {5 ^* p! f
{
' ^/ l1 k; o& b: w9 J$ ` iframe = itemiFrames.contentDocument;
& M4 ~5 a) j( m" n8 z this.RemoveHide(iframe,objname);
' K* S9 T4 ~4 Y) j }
2 y& ~) `+ b2 _$ b* O2 \* _! t% I }
% [* r. x3 Y; _ b0 \, Z9 q D8 t1 b }
3 @4 s& y& F" E" l0 | v% x$ ] catch(e). P. L8 N! ~1 q% {0 H
{. U K& x0 o3 K+ @1 y2 k7 Z
if(debug)- e6 b, T, F) _
{
3 N% O0 G4 Y/ @9 ]/ P; c4 m alert(e.message);
- I4 v5 f Q3 D- _3 r }
8 l P/ h1 T1 z3 m- x2 f }
* d4 F1 m, X4 u( p2 Z: a; f1 d }
* ^8 z+ ~' a/ J, r8 m% a: [+ G% r V* Z ! o# X9 ^) a+ ^5 P( J3 o/ B r' v
}
0 G4 e- U) @% P& v7 z1 x0 i
) l/ e% H# N0 \! h# F3 xfunction getRGB(colorString)
5 i2 n, u. v3 K1 T7 ^{
8 w4 Z; {0 k- X! J* d6 h9 o var RGB = new Array;1 h; Q1 {- U- b c( ^6 l( H
var tempSting=colorString.substring(4,colorString.length-1);
U; D" h9 A: |& r t6 I8 D var tempArray=tempSting.split(",");
2 a2 F6 w) q7 P5 ~/ B- H6 L/ D+ D0 I3 t5 |
RGB[0]=parseInt(tempArray[0]);4 F1 k6 T ]9 _6 ]; \
RGB[1]=parseInt(tempArray[1]);
( m4 J7 r: R4 \4 B RGB[2]=parseInt(tempArray[2]);/ [0 D/ q. g8 x! R$ R3 n
& L' W4 {( }. H; |3 R2 i return RGB;* z f$ a5 J1 p4 K$ y# q
}2 e0 |) |) l) m/ K8 c! g9 v' r
function keys(evt) $ x& b9 \4 g* x- W& h
{ % x8 B! P" G6 ~( c2 X7 G4 L
if(evt.ctrlKey && evt.keyCode=="81") + {7 X, i# G; c4 x4 ~3 o a5 `
{
. L3 A1 S h; m+ E CleanHideObj.on(0,1);
, K1 |3 i* \' I: m0 J2 k/ ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 w1 I0 z( S2 ~& N7 V6 S0 r# C
+ r& z# G3 l( C1 y } 2 k$ h& h/ S J' S' o* ]
} * r, J. h, z9 \" C# n4 ~
document.addEventListener('keydown', keys, false);
; L; M! E$ R4 P, J/ _0 R* A" IGM_registerMenuCommand ('Clean Hide',
# D! _' O o8 b( m" m3 l: hfunction(e){% P! \5 d0 [( r6 K( Y
CleanHideObj.on(0,1)( `% o/ F6 g* \* t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ a' A& h0 \3 j});; t3 Y. G' d) _. T- L0 N
|
评分
-
查看全部评分
|