|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! j+ \' A' E3 k' U( z X# o5 H% }+ p
3 D) i) v+ C- E. @# }) s6 I' K火狐插件,用猴子
" y8 A( j, L( P% g" u
% P. r& r( `* m& @var debug=false; * k* [7 e. N$ l8 ]( [3 s
var CleanHideObj=new CleanHideClass();2 t" J. d, |) n/ R
% z( S! k3 y1 m4 t
function CleanHideClass() " E9 L- ^' G5 k& p: N' x
{
# J8 v$ @7 r% h- E% n$ B7 a1 {
3 f9 ^4 Z7 w' z9 T/ b" t v this.on=function(id,bMZ)0 }& k$ x& R! s8 y+ t1 `2 H8 k
{5 \. {8 K0 V* X! y$ G
4 s5 j4 n5 x( e( N- o" y9 j' C if(id == 0)
" F, {6 z: O+ P c% B }: w f {
) ^7 [( P2 h! L5 f$ v9 u var page=/* document.getElementById("content").contentDocument */document; ' W2 v) W2 f5 v+ | x x3 _
this.RemoveHide(page,"span");( n& j, T$ k& g. e& I
this.RemoveHide(page,"font");* M' K7 [4 j5 m: d! ]/ u
this.RemoveHide(page,"div");1 b3 `8 T& f" Q
this.RemoveHide(page,"p");7 p/ |8 a3 ^) K4 s9 o
3 _, g9 _4 Q* K( |1 V8 L }3 G# E# V/ p! \" c
1 [, K( p7 Z! J9 Z
}
$ r z+ g, Z# o; p! w7 c) x) G this.getobjstyle=function(node,prop)
0 Y6 b% ]& H( F' q5 J0 n% @ {
) o3 {7 Z, x6 L try# j& e8 k! p1 G" c) b# Q' P
{
. e/ f1 O! x6 Q* Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( M/ F8 R4 X# c, a }
9 R. b* _/ X& e% N catch(e)! X* u; Y6 r' D$ N6 y
{
$ C7 e. _# t& B if(debug)8 S, H8 i/ Y' d" }( f: r, A
{
- E, X/ v" |# E" ?. \6 n3 W$ v alert(e.message);% f% O) o3 s1 g; W& N1 Z, E+ D
}
f U; y! {2 w1 j9 X
: X/ W# y6 D$ ^, r: u( w return "200";: u/ l3 N7 Q1 p! ?8 {
}$ Z+ E' y+ A" A( ^5 Q9 ~' j+ T9 Y
}
% F! T/ z( E% `7 ~: }' V0 R/ q ' z% E" f& ]/ T7 m( h6 q
this.RemoveHide=function(page,objname)/ W! d) B3 p3 J0 a
{
! F2 R5 L4 W% E try
& ]. f& d* s5 y$ p {2 o$ L/ x! @6 Q0 D7 b! D8 l" T
var minValue=15;
' n- o& F5 m# t- g! N var objs=page.getElementsByTagName(objname); : u% \+ y! k/ @) ?/ ?
6 c( {& a6 D2 `+ M F% F1 w
if(objs.length == 0)
7 M3 |* T4 G6 B l; U {3 s% o: ^2 ]# K2 ?/ ^( O2 n5 B5 ]
if(debug)7 E- j. c* U% T. d' @# @
{8 @$ H. Q3 W& ~# M1 j& w& N5 S
alert("no object found!:"+objname);& r) ]% }- c/ H6 z+ k
}
3 j( l C, W4 n) W }% |0 [& |: [( K, Z6 p
else
; T8 Z, W+ P& E# S- k4 A+ Y {
$ ]4 R' `+ P3 a6 p8 H 4 \; W7 D4 u5 q) C# u G3 n# ^
for(var i=objs.length-1;i>=0;i--) ( I! C& u$ o y' P2 I4 m
{
( |7 t7 Z5 c8 u- _ var node=objs.item(i);
$ u1 F& V1 Y3 G! K" R : Q' @; @7 \8 E- w0 A$ t9 P
0 D1 y2 a8 G' o
if(this.getobjstyle(node,"display") == "none" ||8 P* c1 ]3 j2 W' d: |5 R7 u
this.getobjstyle(node,"visibility") =="hidden" ||
3 _: {% R( @( s- s parseInt(this.getobjstyle(node,"font-size")) == 0)
9 f: h( N2 V+ h+ u {- @0 g3 o7 ~, L+ T
if(debug)% t5 l* z7 E# X7 u
{! I/ P. Q R5 D9 S: ?" a) [0 ~
alert("remove invisiable!");. H* E; ?4 c$ C- g. X; q% g; x
}! R- p) n8 Z$ h3 U5 g
node.parentNode.removeChild(node);+ @4 D# Q% O+ F% ]" F
! b1 s. U$ s5 W) G6 c: D2 l0 |7 G }7 u) }2 f) \0 X- z
else
/ g( k. I" Z7 V3 \- n1 O# J {
) c" H* B( _: e2 q9 U6 F1 D8 z! y if(node.parentNode) 6 L/ W' w3 F( D M
{( B+ b8 G, n" M! m; ~ |' W9 c
var orgNode=node;
; f1 S6 W J. o8 b* U6 R7 }+ z7 R+ y var orgColor=this.getobjstyle(orgNode,"color") E" `' n. h( Q/ S$ V( F! @
var orgRGB=getRGB(orgColor);
6 P8 {' T3 C/ O2 i" o+ i
5 Y. L4 p1 [2 c- ?& w" G var parentNode=node.parentNode; m0 O9 ?4 ]& S0 H) D7 |$ X
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' [! \. Y- K3 `, Q; {& N! {9 L& w
. @0 i+ o! u' u var isLast=false;
9 E! {# J# D# I3 u: s - `$ O+ d) O. B. j |- [
while(parentBgColor == "transparent") $ Z' H7 v: N) c: K6 c
{
2 y& k: J/ n6 i! P
3 c" E# p" q* N5 ]7 k* v1 a , `! W- A% i/ H2 i
if(parentNode.parentNode == null)# D' @6 d$ ~# s" O0 A" N4 k0 {. N9 s
{
9 m4 U$ g( N& D! ]1 f& q9 { isLast=true;
; n! k# R6 C* O! Y4 `" M2 Y" C break;
7 I) i: c0 x# U" f. F }
2 n! u$ n" \, ? parentNode=parentNode.parentNode;
3 h5 h- M) Q, b# ^+ k) C/ t parentBgColor=this.getobjstyle(parentNode,"background-color");- b6 g$ q4 Q+ Z; v
0 L, Y8 R. G" T1 _
if(parentBgColor != "transparent")
! s4 w2 I2 M5 V* b2 V5 ~& H {2 t S; o( v; X4 i5 Y
break;
3 \! o- X. a( B) `' } }$ P+ D- X& Q& Y/ c
}% S1 G$ b' n% M6 n
if(isLast) 2 N; K9 U, B7 ^8 K
{) z/ Z. e- U. e- P
if(debug)
) g* M5 v' ~& K+ g* e { `3 k( Y4 k$ V! P! ^5 Y
alert("last!!");
2 j/ n/ `4 E! q& h% f N }
4 F1 d0 q! Z8 ?% n& h5 b- n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ I; Z) W( j. ~0 U5 F
{# y$ d2 N# d d$ Q# V8 C* {/ R1 _
orgNode.parentNode.removeChild(orgNode); : p) M. C" A8 I
}
- b3 ]+ I. |6 s! U; H }$ {* z) y* K* Q' p; v! I
else! | h; w% {2 N/ r5 \
{
' @; x+ o: v& R if(debug)/ `% V' X9 L' {4 [; v y
{
) E) P% Z7 G% c2 a' X# W! n alert("compare color and parent bgcolor!");$ d4 L6 l5 c; Z0 t9 l) F7 s
}5 K2 p2 l6 D* a& S: y- ~3 W' N8 l
parentBgRGB=getRGB(parentBgColor);
" o: `1 L \# s% [! P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) i# ]9 r; K9 s- n; T, T2 C6 d4 w {
. N! m# s# q& o" @( \" g orgNode.parentNode.removeChild(orgNode);
7 ?% A6 n9 X( @9 v }% Z( }/ h- Z- J% E% q G8 o$ L; Q6 b
}
7 L/ V/ E# q3 ~$ r0 x+ g }/ R( y8 k( n3 g1 Z
}- l: } L2 s1 h; U
}4 }& s$ \8 d6 ]% o0 q5 p: O
}
3 ?4 C. M( ]: J( k/ V! n$ c: k 6 ]. k) w9 ^+ S: v, l
9 m1 z" t- n6 d o- z5 N var itemFrames = page.getElementsByTagName("frame");9 s8 |. O5 b/ c7 h
var itemiFrames = page.getElementsByTagName("iframe");+ H) l4 q- k K( w- U' O
& o% P) r, k' @2 B6 i
var frame, iframe;
) j1 @8 X- {% ~$ }- s if (itemFrames.length > 0)5 C1 K/ y2 {8 w- g" ?; C
{& A0 m) u T; D8 s8 d
for (var i = 0 ; i< itemFrames.length ; i++)
c' R& y: Y6 j& F {
, ^2 v2 g# G( Y2 n) D* }; n frame = itemFrames.contentDocument;: K0 B# X, y4 h+ Z2 n4 ^
this.RemoveHide(frame,objname); ( x; E( l! v3 M5 n8 n
}. k3 Z- [0 e) u
}
/ o& j/ q$ z T7 f8 t% e; @ if (itemiFrames.length > 0)
0 F5 Z+ t0 V% t2 f1 x$ a. C: R {
8 v2 Z& ]& | `5 \ for (var i = 0 ; i < itemiFrames.length ; i++) 9 N# A6 S: W# J) C, n0 K
{
- F9 \& I* q: [4 A8 x; m. [6 S iframe = itemiFrames.contentDocument;
% n* N# r2 D4 I4 n) g this.RemoveHide(iframe,objname);
# [: b& N0 x5 Y- m. H }
6 g1 Y! l* s1 J7 Q" q }
' w! r( ^- @ O( a8 ~ }
8 }) k4 N; e* h; x, _$ L# K catch(e)
4 f; V1 `2 `# t9 D- t' ~- n {6 U0 T2 G* f8 f: h: H3 J
if(debug)
% u9 J; g1 J0 {3 O6 o {* E6 [, q- \" C/ m' d0 y% R
alert(e.message);
1 y9 U8 r) A9 t }7 o5 C& o% t. L9 e; y$ G
}
) g1 J0 N, ~$ g, W$ r2 C }( N5 S/ ]* Z, r% U8 g# P
7 n$ a" m$ w3 |( d5 v) d8 N5 O6 U- [
}, m* l* b u% j) k
1 r. k3 v: O& r' D" W
function getRGB(colorString)
4 L8 p3 d! C g; ]3 C3 H, ~{
5 w5 q, f8 d, ]3 z6 _ var RGB = new Array;
$ J2 O7 W. T2 y4 I- I, a var tempSting=colorString.substring(4,colorString.length-1);/ ~2 h% y8 C/ c9 i4 H8 ^, I
var tempArray=tempSting.split(",");5 b3 M! B* y) k) c$ q) L
: J5 K5 w0 h9 z, Z& t" ]8 W G& Y6 a
RGB[0]=parseInt(tempArray[0]);/ m) ~6 {4 a I( [$ N
RGB[1]=parseInt(tempArray[1]);/ ~0 m3 j5 ^) L& m4 A
RGB[2]=parseInt(tempArray[2]);8 \' T4 K u! A3 } f$ p/ U+ \
/ ~2 I, K0 @( i9 Q2 z" J
return RGB;, E, X/ v5 m* L$ p: x
}
5 D, M* r" _! I) xfunction keys(evt)
( e2 T$ ~! k9 _9 j6 T% i: b4 T {
) g! c& q# m4 e" Q3 b$ w, h if(evt.ctrlKey && evt.keyCode=="81")
0 ?( A4 u7 T/ O, {0 p1 Y4 W {
( Z# Q# c, V. O$ q/ Z* m0 l0 l! [ CleanHideObj.on(0,1);
d: J: ^' M+ W. u7 _ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- j: y8 r& V8 p7 h& O4 w) R 3 J4 @* ]5 s' B' d0 J& a
} & F! M% q/ u/ |" Z8 S& A0 {
}
" V+ q2 s8 W8 j# pdocument.addEventListener('keydown', keys, false);
& l0 M1 ]4 A! o/ u6 ]. CGM_registerMenuCommand ('Clean Hide',1 ~1 w2 Q& l2 u. t
function(e){
7 y" v8 \0 a0 `1 i- f8 T* JCleanHideObj.on(0,1)8 I/ ^5 F1 E# s* e4 A4 E' L& o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); N% w* i! i$ p3 F5 g9 o7 z0 k, t
});. B5 _4 _* J6 O4 b6 z
|
评分
-
查看全部评分
|