|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - b! h+ s3 ]% j
- i2 H6 F7 i0 ^9 a/ h y火狐插件,用猴子
% Q/ a& O; _, @
9 C6 k1 B5 A+ pvar debug=false; . w" N. x" d/ v4 A
var CleanHideObj=new CleanHideClass();: w6 @9 m) R7 D: f6 h9 z; {4 F
& L( Y" D5 N+ V R7 Z. K& Y @' ifunction CleanHideClass()
4 f$ K: H3 \: o& |1 U8 I{ ! I- l; P* r. }0 ]
4 S2 C% v' X& t- f/ @& i
this.on=function(id,bMZ)% [1 V7 E& A& O9 F5 q. n/ @- M
{2 j; P. L& C: H5 [
- [; Y& j5 |+ Y8 E. A- I if(id == 0)
' r% D+ G. W6 J# X$ ?) {3 `8 u {
$ H$ c5 p8 h3 F/ _ var page=/* document.getElementById("content").contentDocument */document;
+ W# ~1 J" \; f this.RemoveHide(page,"span");
5 \- u3 M. m& U9 p/ v! T this.RemoveHide(page,"font");
" I C: p9 b! g8 u2 m$ \ this.RemoveHide(page,"div");
% i6 o( W7 r! a$ D0 T$ V this.RemoveHide(page,"p");5 |, k. h4 Q0 g2 D% ]1 q
9 y6 @( _1 P) ^6 F* X
}
4 w' T! C/ l0 C5 B# a& s+ s: W . K8 T( m- R4 ?* t2 M
}* X6 ^2 o- h$ t/ l/ B# w
this.getobjstyle=function(node,prop)
9 C& k: B- U& b, a {
9 T9 t: m. X# C try
# ^3 `; @& a/ w& G1 M3 S( {# Y {
) ?' v5 O1 F# `: ]! }. Y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 C% G/ Q' |4 n `6 F- r }. P% ]: ~+ G# H4 E& `7 v9 R
catch(e)
' A& \2 T% a6 T0 i& @* Y {8 N+ |3 J' Q% h( y
if(debug)% ~- e$ T% M0 N
{2 ^7 B. V+ `1 B$ i0 o1 {. }
alert(e.message);
3 q- |8 H' R9 j) x- G- u. _ }( B+ S$ Y7 n- c# m* E) V
( G: D8 A% N0 {! p5 q5 b, w; k return "200";) ~( C9 g" j2 C/ a
}
$ H; y2 I/ \! U& _7 s$ t$ H }5 D- {4 {" e- g& e4 w0 u4 K
" c# i' v! y3 c$ j
this.RemoveHide=function(page,objname)
' S! R& ~$ \- M {
' b/ X& g9 G3 C; W+ ]3 l# Y0 Z try
5 Z+ c0 l. q: B {8 |7 i# C( J$ r9 {) `
var minValue=15;3 N5 Y' R1 Y8 U% ^# w4 W8 p
var objs=page.getElementsByTagName(objname);
* H' K. F0 Q/ e# }4 `1 R. U3 _7 Y5 M! r& H
if(objs.length == 0) 2 e- d. `% y: u" o2 @, ?& D0 l
{
3 @+ Z) g1 W: h- N$ _ if(debug)
4 s7 P- h3 B9 O* k3 s {
' g: P+ q/ W1 J Z/ Z. a alert("no object found!:"+objname);( o/ |5 {( `* i0 L% G; k. F0 A
}4 n/ l' H: g: D: w
}$ t$ q( [8 P, i p
else
- j& Y6 B y/ w: K3 C% @: j {- i D% x, y" w |) `+ r2 i
# [& V4 ^/ L3 Q$ B$ g. J* \% N3 R0 _
for(var i=objs.length-1;i>=0;i--)
6 U. M0 J2 ?0 N) b0 L; }2 k {
0 a! @6 B- G- [) y4 @+ i var node=objs.item(i);
/ d: m8 J& b" |6 {: D8 }
7 |% s9 d7 w" h( X
7 s; f L& w/ w2 ]/ h6 c) w1 O) R if(this.getobjstyle(node,"display") == "none" ||
" n; @; P, [, Z; F this.getobjstyle(node,"visibility") =="hidden" ||3 W1 u! b" ?! w
parseInt(this.getobjstyle(node,"font-size")) == 0) 6 }" c" J" {9 L3 B
{ }( \* e' h/ W J% G
if(debug)
6 _8 i% g9 E+ x3 w5 o5 k {0 ]: I9 \' Y% D$ m/ m/ q
alert("remove invisiable!");# U. [7 A5 ? R* N
}5 G. h* o7 C% q3 C
node.parentNode.removeChild(node);. _- i: L* d X% `
5 D# ^" S% ~0 {- v# H1 h }# {) f; t* Q9 e2 y* D
else
7 y" [ |: }! Q: Y9 a {
6 e' g" ^. r7 N0 z) I1 O if(node.parentNode)
8 l; q% `% t' l: W4 M, s4 C2 N* w& V { O/ {% v+ w- r! Y9 G
var orgNode=node;
" N) ^3 R+ H4 ~. v% O. Q var orgColor=this.getobjstyle(orgNode,"color")
( B9 S. ^/ E l$ D4 N& G var orgRGB=getRGB(orgColor); $ t0 H6 M$ j# R8 J; `- k* d* @
# D+ `( @9 v. u
var parentNode=node.parentNode* H6 s" W @ D- h0 X, L
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 u, t7 ^: o7 l5 W( Z* U; Z8 D
" C* S3 J/ E4 A+ A* u7 r& e
var isLast=false;( Z5 t) L! Y) G3 E7 u3 g
% C' c: ~) [' W) c! q" l' }
while(parentBgColor == "transparent")
( `+ ]+ W) c' \: C5 P {2 M+ f' q( W( t" F: l5 P
8 N- o- n0 n8 a 1 I6 @9 B( G6 r! |
if(parentNode.parentNode == null)+ c( z0 B, q4 \/ Q$ g& N" d- q
{
. `& ?6 x, f6 z7 E isLast=true;* ~- e3 Z$ \7 f
break;
6 M7 s5 u) P" s }' o5 n/ X6 J; ` M
parentNode=parentNode.parentNode;
6 K; D4 _7 G/ [5 E. E8 c parentBgColor=this.getobjstyle(parentNode,"background-color");
# e1 a7 L- C3 H. C$ F
7 p7 X/ s* v0 V if(parentBgColor != "transparent") 1 E. l& `0 U( e
{
" d; R( N" `3 Q* O7 U& ? break;: G( N2 @1 e; w/ U
}3 l! Y# X/ j& W5 _+ F) d
}
- H4 y7 I9 K/ K6 w. d if(isLast)
" _. d* ~9 H. i- L {( _" r2 V$ L; r7 k
if(debug)# z& {* r% A$ v" t7 q6 x7 u# X# Q
{
. `3 U; `# q5 }2 l8 J alert("last!!");* s, m) k3 @( h+ S- @
}
$ M( @/ `2 G2 ?. c; }0 N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! g- [; U6 P, Y+ p {. N! ~+ S* l0 K) `# z' R1 A
orgNode.parentNode.removeChild(orgNode); 1 w; b. u7 P3 m, r, v
}
! H) }& F! \+ J& j }0 g" r7 H- H! h) a2 b
else. M# ^: h7 c4 ?6 m
{) Z; [" \0 [8 }+ _- y' g
if(debug)4 H8 {3 |( {( |3 D
{5 u5 u- Y- j3 M4 W) w6 P
alert("compare color and parent bgcolor!");
# G& d/ Z; Z5 A) @2 K$ N }
! T0 ?& a+ t4 O6 R/ V5 [ parentBgRGB=getRGB(parentBgColor);
8 Y" w4 G ]& o( I- M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- {0 y j! L( T% B( j {
$ D5 G/ k) j3 w6 R7 t7 c orgNode.parentNode.removeChild(orgNode);
& w( b" `8 i8 @7 F) x. E }1 ]( r& o9 v6 _3 r+ r7 |/ m
}7 _# F# Q# |0 u/ V, e# [
}
( I2 l- ~4 T# Z( F; t, K+ D* C' O }
2 Z! k D. p- X/ @9 H, i( q }
4 ~! G& u1 d1 V: D& V" F) a% U }+ k i7 b# j$ y- v/ Y8 @) R3 x
7 q1 I. N7 `) k9 s
. {. [% n& {$ b/ h0 |$ l$ t* k var itemFrames = page.getElementsByTagName("frame");
: e( @5 p9 R& g Q4 R% k5 G var itemiFrames = page.getElementsByTagName("iframe");
. o* ?# a) [, M! b9 H4 _ * d# J$ m3 R6 p# E. f+ P% `
var frame, iframe;3 o1 r" O% b* A; a
if (itemFrames.length > 0), |$ s* U$ i& a& |9 H
{
6 n) s/ ^4 G0 W5 s6 [* j8 D for (var i = 0 ; i< itemFrames.length ; i++)
. J, u2 J7 y# Y$ L I {7 e2 R- s z, f# k/ [: r
frame = itemFrames.contentDocument;; B* J) E; J& [
this.RemoveHide(frame,objname);
( K! \4 @% C- N% I- M( B+ G8 e }; T( I5 c: E( T) e/ D2 u
}
" C- P- \8 x+ v# b if (itemiFrames.length > 0) w$ J# r9 F! R
{) y2 v, U' c! h' p: F: w' {
for (var i = 0 ; i < itemiFrames.length ; i++) # K y" d. s0 r! ~7 G' `
{6 t( |/ _% U" L
iframe = itemiFrames.contentDocument;
+ v3 y/ h5 H K5 U( V2 m! I this.RemoveHide(iframe,objname); ! m C9 X7 x# `/ c0 g/ u* v
}/ a8 t9 I, ]* R5 a: d0 V( s
}
4 N8 |9 N" d1 L' A& y4 k p }
: |/ Z/ n& a) I2 @6 ` catch(e)
- j$ Y1 z) H2 y {
8 ]% m+ U. ~- {# M) c if(debug)
7 z' s3 m8 X. t" G v$ ^+ T' T. a {
+ K4 |. p0 D6 k3 B alert(e.message);
* D x! k# u% q7 M1 S$ R }( N. ^* G7 M* A# }3 s$ \' ]/ s
}
$ [7 f5 I6 e) E4 Y }
" _. O, L" b, y0 g
, r5 m; @7 o! v0 V. c$ v}( m$ A+ u4 U. m/ z! d' v2 c
i" L6 f" X. g9 Gfunction getRGB(colorString)) f& j g1 u* P' d* @2 O
{+ r, ~) M2 [, b& c6 r; l9 N
var RGB = new Array;; l7 B9 B" \# x V# m( Q
var tempSting=colorString.substring(4,colorString.length-1);
5 i* q2 v" p( z var tempArray=tempSting.split(",");' i; r- c5 w. e, e$ w) R9 X
* x! t/ @) b/ m4 ^ RGB[0]=parseInt(tempArray[0]);
) h. L8 r1 _* \1 j$ }: h RGB[1]=parseInt(tempArray[1]);
3 P# o, T7 W* o w {- [ RGB[2]=parseInt(tempArray[2]);
7 g+ \( }# c0 x
$ a2 q0 I2 v( p% J. i: c return RGB;6 Q$ S+ n/ Q3 R5 C4 ^
}
% s% n! t0 m) K2 p: M4 gfunction keys(evt)
. q3 X! r3 w% z( @" y: O { ! \! \* T% h# ?0 ^' n7 l/ U
if(evt.ctrlKey && evt.keyCode=="81")
. a6 w0 m( [9 u, s" Z {
! g& a6 }' Q4 k9 _/ m CleanHideObj.on(0,1);
0 r# ]; q: H. J: B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* C7 ~7 N& y# N- E0 c7 A1 y3 j: I# Y
) T- E9 i) {2 ^1 S }
6 |+ r+ h) I9 F! n3 ^$ ]) } M }
& k: _0 _9 B b; f* M. {0 cdocument.addEventListener('keydown', keys, false);
& \/ m8 F( [+ ^. rGM_registerMenuCommand ('Clean Hide',& p, y1 T8 B5 ?" Y" A* L: U
function(e){
' ?5 ? l1 Q4 Y: Y7 k+ t- `CleanHideObj.on(0,1)
' }7 I9 A* l! ^! l. n- j4 I! kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 ^% i3 L9 J! e/ g});0 \# R9 I6 E# s3 [9 g2 }
|
评分
-
查看全部评分
|