|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : ^- o3 z; `( p% L$ l+ R0 M
% k* y( q7 \0 r* S( W- G
火狐插件,用猴子
5 K/ P' T$ l! V" r$ m: S3 v) R6 S
var debug=false; 7 |- D7 h$ N3 u7 U2 W/ i$ r
var CleanHideObj=new CleanHideClass();- S- Y$ w- X. n6 q
" t/ `# t4 p- i7 }function CleanHideClass() 6 B/ z) ~, k' D* ^
{ - A* L. n% n# {% K7 ^) ]
- [, D" P5 K8 A( a5 k; Y this.on=function(id,bMZ)6 `* Z% G: N9 F8 r
{6 I, t% J- t! c+ d1 S7 R$ I8 f
* K2 |! q- _1 a u2 b' a( G if(id == 0)
3 ]& `8 @) T1 g! H3 D! w8 k& {) D8 X {
# }) ]; {- L0 D! E var page=/* document.getElementById("content").contentDocument */document;
: G! D; O4 Z9 d0 W! n/ u6 @ this.RemoveHide(page,"span");
: D z' y$ l' h) [: @ this.RemoveHide(page,"font");
/ ]; N1 q/ v* r this.RemoveHide(page,"div");# { ? \" n/ j8 f
this.RemoveHide(page,"p");
o) ]- @. D1 S" i8 c9 E
: r, o! l1 k& o5 X) k% m }
$ [- o I7 k5 ^ 3 G) V; C |) O9 j. G5 @
}
1 J( n# h9 A, N* ~( p; p this.getobjstyle=function(node,prop)
! c& k4 X+ j; Z- a! d( v$ h2 K6 U" g {# E8 s i7 ~( f+ P( _! I @
try( ?# Z1 k! {' X- {
{
% U8 j! i- ~6 r5 k: m# p( r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ J; h( d, o( }9 x7 x9 u
}+ q. x$ `5 j' }+ h1 k
catch(e)
' j) w, S2 V5 A9 ]; t9 ]3 z/ h l {
) I+ }3 K, }+ C3 P! W if(debug)
. m$ L; G, h j: }- V A9 ~/ k {5 ]& ]6 i, v- m( g, }* l% V
alert(e.message);
+ }& D3 r3 C% W* R6 k! P }
1 r, h2 A% q2 R) G' {! O8 [' `
3 _$ s+ C" D/ J' b return "200";
; c$ U; u, l* E }1 ]( _8 b& n. c$ b6 l+ g$ b
}
$ U" O% v& m+ i P . t7 V7 ^" y; t. _8 m1 D
this.RemoveHide=function(page,objname)) ^7 N* P9 u3 x% y6 g8 a
{
; y4 x. _3 Y3 q. C8 `8 M try+ W. f P9 y3 E% l
{
# ~% V3 m: W7 E6 a: _ var minValue=15;- V) T8 S7 q' f7 P9 L
var objs=page.getElementsByTagName(objname); : I* t: H O* N2 }
" r. E6 y. _0 r$ S' D0 M6 L0 T
if(objs.length == 0)
; D5 P! c5 Z' e3 ?5 @- [" { {
7 C/ ]' g8 ]3 c0 z9 m5 p if(debug)
2 K1 K K# N$ H {
$ @$ l1 m% V& D2 |# J) G( u- k alert("no object found!:"+objname);
8 y0 a. v$ l u$ J' L }
( z2 Z) ?. r: q/ d$ p9 w& \$ O }
$ j! \2 T( C( Q: b else
" d4 S' S! S2 i' P8 N {1 H6 q9 q' h; _6 D2 Z0 f
3 ^1 _# y7 ^5 r+ [
for(var i=objs.length-1;i>=0;i--)
5 \: c+ G+ A$ h$ i4 H; H {
! B* m3 z: C) v/ R var node=objs.item(i); & H* o4 Z4 ^) Q' e
0 d q$ |0 W# M9 b7 B8 @& k
, w6 M( p% _+ F0 C4 n, o
if(this.getobjstyle(node,"display") == "none" ||/ X, b. m5 N5 V. @" D" w& j ^2 C ?
this.getobjstyle(node,"visibility") =="hidden" ||: R: F2 j1 C+ s+ P! a9 r
parseInt(this.getobjstyle(node,"font-size")) == 0) # o, G" T; w4 N3 c1 A
{
' u$ f0 P0 V2 V1 O if(debug)
! \( o9 ^" {& y# J: Y' s {/ Z j8 o/ s( J$ Z5 T
alert("remove invisiable!");
# z3 {2 v: U) y( r! k/ e: W. [ }1 v3 Q% q/ f& I7 Q; d5 ~
node.parentNode.removeChild(node);
; {$ w ^& R+ f6 N7 }
" Q( T6 i2 {8 d2 R" a5 [ }
0 O7 n) f3 a) W8 W6 ~2 n else + b& q2 C# v! C w5 ^
{
& J, \4 [) q9 O7 [9 Y4 t: { if(node.parentNode)
6 F( p3 Z' K; }" a. x: J0 j {
4 l# C# c2 f O& i6 J/ O# ? var orgNode=node;: _" O6 w/ M! b3 f
var orgColor=this.getobjstyle(orgNode,"color")
/ w9 z8 A& y7 m+ V9 t var orgRGB=getRGB(orgColor); - N# A8 X9 q, k" M8 E4 B, I/ Z
! r; @7 H/ g6 y3 x$ ?" M6 u7 C
var parentNode=node.parentNode; X7 v2 b' y# H- G0 b. d0 h y6 r
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' \! d0 X* F: | o+ a 7 ?. j" H2 t' P' a2 D/ t
var isLast=false;
b' T8 \. E2 W
6 H6 P4 l* E( a' n* _' }' B while(parentBgColor == "transparent") & z5 M7 Z: D) w* a: ^/ l) L
{# ]! T! B8 W7 S1 @6 Q
4 ], T+ l) ~# h1 u/ x O. m( Y2 |+ H
7 @0 W9 g# Q2 d1 j
if(parentNode.parentNode == null)
. g; _1 v' [ |, U; F( S6 v {7 N" K* M# g* u3 C
isLast=true; n* P4 r" L& d3 A- F
break;
- P' k0 }( w% U4 C. | }
* J' S/ z* w) X$ c! `" ? parentNode=parentNode.parentNode;9 k# E, d7 ]) _! e6 X$ o$ h
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 m! D% {" ]+ X0 ~( F+ j: L, {( y6 e6 H, P# ]) ~. W" i
if(parentBgColor != "transparent")
7 E- z8 V0 M+ k6 [, V% j' A+ R {( O% `9 h$ s% p
break;
$ ^5 U" q/ _' P. B+ L# _7 R }
7 d- c4 G4 n4 f0 B0 D9 J3 c; x }* p/ ~+ M$ V$ v
if(isLast)
) S7 F* j% Y$ ?& [1 J$ A% u/ E {, h4 d, X# E T) p
if(debug)
! S g5 ]4 i' _* @ {
$ \+ s# f, b! Y! ^6 O- Q1 Q alert("last!!");8 M1 `- s2 p2 h
}+ O4 L, H2 h" |* |" D
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); ~- v6 z8 F5 @6 Q' E l
{
5 o; E! ^: P: l: r- E orgNode.parentNode.removeChild(orgNode); % Y0 x% R- k: ?5 s | S# \
}
# Y) w$ O2 S4 Z1 K* Y, n' K. ^ }
/ H0 G1 A$ b8 b% b' D; g! d else" \* }, e6 n3 W, ?! B0 J4 ]
{* o& n1 m- y5 p) B6 d, M8 j$ d
if(debug)
+ M \" T4 u/ D0 d# h; G {
0 p8 D6 Y* u6 u6 S! ?5 z0 c. r. x alert("compare color and parent bgcolor!");& S/ C9 M! t% e& ^( U6 ?
}. n [. m5 _9 W8 g& H
parentBgRGB=getRGB(parentBgColor);! w3 V0 H. @2 l- _3 ]. u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 }$ ?( F/ r8 V4 w" u7 V: o
{
1 x# ?; ~! Y2 |$ c- r' g( H orgNode.parentNode.removeChild(orgNode); ! p0 w1 z, S: p
}5 n6 n, t0 l# ^% g: h: k
}
+ N. ^3 v) r6 u& _. }; v }
; Z1 y2 H) A1 V* e6 m; } }4 L& W* Y, `2 L" j
}
( I+ ]6 p; I/ l, O k& b" R }+ w! t7 s! l% Z o* m; O
2 \) g {6 n1 P# `
8 Q, E4 H- ?- Y3 m
var itemFrames = page.getElementsByTagName("frame");0 i ?2 \, V9 ~" M7 H) L9 @
var itemiFrames = page.getElementsByTagName("iframe");* m6 x+ z- g( W$ ~8 Y5 Q, z! w( `
, o% }3 M) K" Y2 P
var frame, iframe;
. n: n% b; M" Z k: C if (itemFrames.length > 0): t& s2 {1 Y0 P
{" T! R7 I' ?# D1 V# e
for (var i = 0 ; i< itemFrames.length ; i++) + v% H5 Q+ \/ e9 O' ~
{. e5 s2 }3 e% u0 M. a) V
frame = itemFrames.contentDocument;
+ N3 l/ c; R* c5 J4 t" u this.RemoveHide(frame,objname); 7 D( e4 ^& F3 H) S& e' U4 s
}* \* {: i7 n' Y3 S' s0 B
}
9 I( \# u+ M8 x+ V- V( C: c if (itemiFrames.length > 0)2 e# _# {( i e$ l) ?7 K
{
. d7 j1 a! K& l0 Q4 s for (var i = 0 ; i < itemiFrames.length ; i++) ) g0 H; I( v. x( z- j& K4 m
{( H' V/ s. [6 t9 \
iframe = itemiFrames.contentDocument;# g1 K9 V: \! o: @( x
this.RemoveHide(iframe,objname); ) m$ R. e& V" m
}
' W. h# E3 w( H. K }# q8 J: }+ P* {2 L$ n5 Y- L
}
) m8 ] U+ l% N9 c) o5 C catch(e)
% ^) ~3 O6 i: l& {2 \7 {% ^( z {7 m4 {8 h' i! n& n1 \# v4 Q! d
if(debug)
# X6 W: U! f: C" t) R6 B& y" B {
8 m$ s& ^7 @. `& R% T7 ], Y) w alert(e.message);% \! G3 G8 {+ _0 w
}
, Z# T& S( E. u( B+ s }8 T9 X4 `5 }" d
}! ~6 M! ^6 y& j8 P m, Z
( B* R' ?/ J8 I( q" g2 d}
/ G7 ^% L3 Y: S1 D8 [& t4 \2 c0 T ~2 w: W3 o
function getRGB(colorString)
' h8 [0 d! F" G2 \9 Q{
$ c2 B' O* _' G: y. R4 E var RGB = new Array;. U- K, }: C% j- v k
var tempSting=colorString.substring(4,colorString.length-1);4 X4 Q6 p: \5 w" }* U+ e A) p
var tempArray=tempSting.split(",");
$ D$ I8 C2 N5 i* s R) B2 e) q' `' K$ h4 v3 Z
RGB[0]=parseInt(tempArray[0]);
" D6 F( p9 W: S0 U* r RGB[1]=parseInt(tempArray[1]);
D9 X# |6 O6 a' j/ z: G4 {3 g RGB[2]=parseInt(tempArray[2]);# A N' E0 k* }( F+ ^' f( e
# ^7 r3 F7 N) _( `1 E( f. Z- c( H
return RGB;/ \, O: t- z" S9 a3 l& Q! I1 F
}
- ^3 _7 _8 ~( [+ F7 Vfunction keys(evt)
5 p- ?' i0 J2 \8 D: \ {
/ Z; D9 g/ B+ Y; R if(evt.ctrlKey && evt.keyCode=="81") 7 ~: ~3 c' X- H9 x0 Y
{
( M9 R, F% x9 Q$ u6 d; A CleanHideObj.on(0,1);
, j9 @/ ~8 X6 W5 D7 c. j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ ~$ o2 |7 e' \; ^. p : p( C) |" ~' G& R! @: b; f
}
( j+ ?9 a# V# i# F- i. m0 o# a } `+ z; E2 z; m* v& k0 Q
document.addEventListener('keydown', keys, false); 0 b( y5 N ]* x
GM_registerMenuCommand ('Clean Hide',7 p6 @/ t- |+ @8 j
function(e){3 n3 w) m1 Y! G U1 e, `
CleanHideObj.on(0,1), y ^$ w0 b1 w c) O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; |* Y3 E. B D8 c});/ T% R! L! t! n' K+ R }2 g
|
评分
-
查看全部评分
|