|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 L8 L3 A( n. [4 v3 ?1 O$ W" x) |- R4 K8 y j
火狐插件,用猴子! A2 E5 S4 _& {8 B
( R# K" C' a- p1 }
var debug=false;
- s* u5 c8 m% }var CleanHideObj=new CleanHideClass();
/ O) p! P/ m! w8 F* }# [0 r& P9 d4 ^+ P2 P, Z
function CleanHideClass()
2 c( k+ }& H k6 ], G0 j{ * i {4 ]3 L/ u4 |9 a
3 T. d8 ^; F5 A this.on=function(id,bMZ)- s- g1 A# G2 k( @: y6 D. P h
{
3 I! r, |, ]" ~; {+ n7 k* x6 H2 b! ? 8 M0 _6 A. A! K5 m# {5 F3 c
if(id == 0); }+ h; j8 l% c$ m1 T8 y1 S& v
{# I9 v# U! ]0 U
var page=/* document.getElementById("content").contentDocument */document;
1 ` X0 M' V) w0 @: ] this.RemoveHide(page,"span");
$ j5 h8 ?3 p( p, v% Z" ? this.RemoveHide(page,"font");
! _! A0 t9 t% |6 a) \8 p, e this.RemoveHide(page,"div");
# l4 B/ W. e4 N3 f8 I% M' H! i. S this.RemoveHide(page,"p");1 ]: `6 G3 v; H y6 q- \4 d/ }
* x' j6 C! v: Y4 ?9 x) u1 U* K# q* J' A }0 t. Z8 Y6 J1 _8 _. B' m; W& u
' i1 n" S& C* X+ t# `6 L }
# G2 ?$ j# \+ { o9 U% ` this.getobjstyle=function(node,prop)
! H& Z8 A8 j8 l {
4 e. {7 u3 I. w' R% K try
$ ]5 x$ I. g1 f( ` {
* Z. A% E" W' Z- Q5 @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" t; E5 z# [7 e k9 \3 O
}
+ F6 Y/ b4 [' m6 A catch(e)" t- @0 y) I4 s& r" S6 y
{" m" i( C' m6 E& A) d
if(debug)
: [3 g( M- @7 ? L {
1 T( J: X& L% U' v+ m alert(e.message);
' }( z7 Z2 l/ e }
5 A4 s) w' L9 v: a v' [/ B % G9 M( q( d) [: _0 l; f7 \
return "200";
1 X! g. Z, r" V& u# U9 T/ N }- `# E/ f$ M* Z7 u4 {% D5 W4 Y
}9 R+ \: _' i! G
0 }% R7 t4 v! \, V I
this.RemoveHide=function(page,objname)2 b# q# ?" I" r2 M1 |+ ~6 X. g$ w
{% r+ F" ^' {: ~) J
try
$ Q4 c- ]9 D) f3 U$ ~! v {
4 W4 M4 d$ Y r7 F, M9 D2 S$ o var minValue=15;
% e; x1 y; {8 w9 y) a var objs=page.getElementsByTagName(objname);
- ^% i' j) Z; h8 s$ n: F0 e1 p4 ]1 V
if(objs.length == 0) 2 i7 g' y* E2 C' b- } O
{
/ R" e. s# {3 e9 }% J3 B if(debug)* E! c* O( p. e: ~
{
! N* j( b- m1 E/ N8 } alert("no object found!:"+objname);
+ a+ ~, h0 w+ d% G8 d }
1 K: A. t0 w! f( A# {: o8 H( p }/ `( @( _5 ~& f# z' |
else
' |& ~5 m5 P. I4 y' b {) R9 c; r' ]: Y' Q
+ {( j" x4 I6 W0 L0 ~( C for(var i=objs.length-1;i>=0;i--) ( t% I- ~3 v" w
{
# V7 h/ W" j- [- L$ Y$ Q8 q var node=objs.item(i);
; y# Z+ M" I0 a: k' P) l I: T+ c0 Y; {4 U
* j/ Y* _) U7 x6 m5 H n8 H2 X
if(this.getobjstyle(node,"display") == "none" ||
1 x) [3 F1 m F# I this.getobjstyle(node,"visibility") =="hidden" ||
: N% ]* l H4 a( h! @) d/ c3 f parseInt(this.getobjstyle(node,"font-size")) == 0) 0 D3 L: A* h. p* W [( Z
{
- e* H. P6 f% u$ b# a if(debug)
3 _2 y" e# e, N( |0 l8 }2 J( \ {
8 v3 ]$ O/ d0 Q; f0 v alert("remove invisiable!");! n- Z$ [9 N' j" w: j
}
) d5 \1 }( m. D8 {: f node.parentNode.removeChild(node);
$ E8 a" z- d4 Y7 w1 z
6 A3 \: e* ~7 f7 {6 E8 O }& r0 p" ^1 q5 f c" N
else 1 G: S, y. r* G. \
{! W, r+ v* m! C
if(node.parentNode)
' s( [5 X6 I6 p, h+ {. ]4 I {8 v* k1 ? G5 X# L! K7 g! A% ~+ R Y
var orgNode=node;
( P9 _0 J( R, N' ]% I* b var orgColor=this.getobjstyle(orgNode,"color")! W1 o/ a9 h$ t$ t' y) @
var orgRGB=getRGB(orgColor); # n3 \% E) E; O7 w. N# m" y
1 R0 [& @/ z$ y var parentNode=node.parentNode1 ?! P* K' q: V. A$ F5 B
var parentBgColor=this.getobjstyle(parentNode,"background-color");* s! K B9 E7 B$ R8 Y1 @* {; c
/ J: S* N# w) l W* F var isLast=false;' V* C. L. r: Q* }+ j# a1 U. C
3 v+ p. N/ G5 k' V4 a5 d8 s while(parentBgColor == "transparent")
( |3 G# h/ r1 ?2 t* C" \* v {; X; O. ^" Y5 u% k; o5 r: t* k
5 _% D, m% R8 s8 E4 Y! ~) n( l# ?
1 F- R( c/ Z" A! l6 D if(parentNode.parentNode == null)
8 J( h/ z; e& |" w* d3 m0 x4 ? {3 s9 n0 I7 a, _, ?
isLast=true;5 ] R8 K! ? W U2 t
break;
# K c* J c3 [5 N }. p2 u, G# K9 ~0 U5 S6 p7 R2 b
parentNode=parentNode.parentNode;
% [+ K% a3 k: i+ a: ] parentBgColor=this.getobjstyle(parentNode,"background-color");8 `- W0 x5 V% o0 L5 f
0 S, `4 B; r3 {; a4 g3 Z$ D if(parentBgColor != "transparent")
4 W+ t: b" b- ^* W6 B9 I; r {
, o ^2 o" G6 X/ F0 h6 ^ break;5 t9 ~3 [/ O% s9 q
}
$ G( s# ^* f- M# I6 z2 {: O, h5 J* I }3 V9 @. k. }0 t1 q, C' @2 o
if(isLast)
& w* B; @+ u V6 A, T2 P* H { ?, \! D+ L' B5 o3 Z% B
if(debug)
" I2 Y% N- I$ Q$ e( B {$ k. C! n9 q# P, x D2 i+ @
alert("last!!");! N# t; l. C1 j: u, I
}
7 _5 r* N4 I; G2 e. l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! ]" |) S& Z% |- n9 o6 D
{# t: i9 k5 z1 C6 j; i
orgNode.parentNode.removeChild(orgNode);
; f% V: y# C! _1 F( p% A! z/ t }
/ ~* D- \9 X/ `: }5 l }1 Q$ s6 G. ]1 R1 M! o" @7 ?, z
else
% j H, G8 M5 f, {1 \ {
: B7 R7 h. V9 X! C% u if(debug)
l; e% Y& P; }8 a" g1 {5 F {
. i1 ]- e& A6 h% t) d5 ^' r e; g alert("compare color and parent bgcolor!");
( b5 N, k- k2 M% r) Z }
& |/ ?4 ^$ S, H j parentBgRGB=getRGB(parentBgColor);7 j! Y5 r6 o& K) x- D/ ~/ |( U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
~+ Z- M; a, y( Y+ ^" a {
' C: i0 ~/ }, I orgNode.parentNode.removeChild(orgNode);
0 V2 X7 s- ]% N) ] }
; Q9 Q( L8 B3 t; o5 p }
% e" U, t" g$ s' y! z# Q }
6 ^5 I9 _2 K- J }
* M3 B1 I$ U) ?1 ], I4 { ?9 E3 O }* a, \, @% c0 P5 M" y- I" W8 k% \
}1 Y* m- M9 Y- Q) c$ f# T
# ^1 K1 W% B) u
* B2 x0 q |1 t* r! K T
var itemFrames = page.getElementsByTagName("frame");4 W6 X1 Q; J4 [+ k
var itemiFrames = page.getElementsByTagName("iframe");
% r1 L) D8 }" E8 O* b8 o9 l
& F$ e: ]% \" b/ U4 I var frame, iframe;
8 W$ p# j% |# g4 f; q0 I/ R T if (itemFrames.length > 0)
; R. p1 k6 u. ?4 M {
0 W; E; F5 H$ O2 G V& |6 |$ C for (var i = 0 ; i< itemFrames.length ; i++) - a2 n" J1 V5 D! ?3 h
{* \2 b8 |2 w5 R
frame = itemFrames.contentDocument;
9 C ~% e& f* E% y this.RemoveHide(frame,objname); * {6 r% z0 ~ L$ B% U- Y* _
}
1 C3 a) {2 i2 v1 G% j6 { }
; w: o' K/ G; @/ q2 z$ X* l if (itemiFrames.length > 0)
, B+ W/ ~$ N$ z/ G& ?6 ~8 b7 M {- ^1 u) P# ]8 T* V0 `, `
for (var i = 0 ; i < itemiFrames.length ; i++)
# |7 u* b& [$ n. f/ g {
. L8 _7 C! Y1 U l+ ` iframe = itemiFrames.contentDocument;3 y, b' v- c( I% i Z$ |4 X4 u
this.RemoveHide(iframe,objname);
. U6 Q' e* [$ z }
+ j* `( K1 X: g# A" h }
U+ j8 j3 h; t& F) E0 C, [ }
* V2 j! U$ d+ K: A3 H! e3 K catch(e)" f3 }- c2 I: m9 Z% n, g
{
: o. }8 h; Q: Q+ E" \" }5 p if(debug)$ {$ b, e% y; A: s
{
7 q6 {2 j( | g8 a alert(e.message);8 R$ H& i8 k. r7 p8 A: b X
}
q6 D$ |, _ p: o% k/ u# l0 Y, c$ x& O }% C8 ]8 a& }: |' O y9 s
}
- G* m. b) E K4 G
4 n, ~- x, p+ K3 {9 O0 A3 g3 D) i}
; z/ d4 {5 d4 l L7 b) X( \% g% A0 L0 B$ I9 b& g5 _3 a
function getRGB(colorString)9 S4 V5 c; c9 z: O- F
{, J$ e5 [/ o4 L% l7 x" J
var RGB = new Array;' Z7 b' b' u' O- ~# n9 W: `3 Q* ~
var tempSting=colorString.substring(4,colorString.length-1);, N1 b$ X, }! a" p) C3 |: O
var tempArray=tempSting.split(",");" N6 E/ W1 d, ^; H9 G8 n) }
2 J2 r& C4 W6 F/ g8 z RGB[0]=parseInt(tempArray[0]);7 m; r3 N& `9 N- ~* f
RGB[1]=parseInt(tempArray[1]);# f. F* @! C( T/ r0 {3 m* S
RGB[2]=parseInt(tempArray[2]);. n6 X3 a% a8 V/ k$ a! \
+ \. U# I% K5 T return RGB;
3 ~. ?/ s: O; G- ~- ~$ U& |' w6 L}
5 ?5 F8 _5 Y/ M2 P: Ifunction keys(evt)
9 {& M' U$ D- H { 1 k+ x7 g8 Z' r& ?3 e1 J
if(evt.ctrlKey && evt.keyCode=="81")
5 \7 {0 @! t+ h; d { 4 L: s( R1 V3 x+ Q8 h
CleanHideObj.on(0,1);
1 N0 ], a8 d$ L8 \ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 J4 G7 i/ e) O+ g- D
$ g8 q' ?! v* Y }
7 I) \5 t: V$ z" z } 3 I, q. T, B. O& I+ r
document.addEventListener('keydown', keys, false); : S" ?+ n+ r2 ^% R
GM_registerMenuCommand ('Clean Hide',% L/ a# s" R6 m5 g" h+ f
function(e){+ |3 K {3 l. R8 ^' o% @
CleanHideObj.on(0,1)
& G9 b& v5 B' h# ^) ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- W8 Q2 z6 t6 H
});4 W/ i5 o0 V5 X& I; }6 e
|
评分
-
查看全部评分
|