|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 X6 D2 R. b" r, }
3 A9 @/ W7 r; S6 N! y+ w火狐插件,用猴子' e7 m) i2 H+ ]9 @3 S
! @# ~! r/ p1 S4 K. [' Bvar debug=false; 0 U6 B) H) B9 ^7 D7 _- L
var CleanHideObj=new CleanHideClass();
) _7 u, ^$ I6 {4 l- g' G* f* @9 C; s! q9 E6 S: p6 a$ W
function CleanHideClass() ; ?5 T6 u* J! T
{ + H& t4 N- A. Y. Q" G
. X; n. u8 p- b3 v7 X! {# Q, W this.on=function(id,bMZ)
, v# d- P; n0 n9 l6 b {3 c( N: U5 r3 z( p2 ^) U4 T
! ^- A7 V# c0 P
if(id == 0)% p2 G7 f& Y% N7 I- G
{
0 Q0 c( k- e/ }1 r& t var page=/* document.getElementById("content").contentDocument */document; 0 R$ j/ X$ s3 ]
this.RemoveHide(page,"span");
$ O& L: B, a1 w6 x this.RemoveHide(page,"font");
3 {" T& P- P( [; m this.RemoveHide(page,"div");
$ |. w- |' K3 T this.RemoveHide(page,"p");
- A+ J3 z' X l% m( d2 Y ! q/ `- M6 y: M5 }
}
2 |. E7 b X# \0 @) R2 o7 b. W
+ H0 b. n+ S. ^1 N }
; m" k. S( V: G- X6 b( n* c$ C( a3 y this.getobjstyle=function(node,prop)* J4 F* R+ H; l% j
{/ j7 ^. @5 M U9 {+ X
try& {4 G8 B U: E0 U# ^# A0 H* {! I
{
& c) d5 d2 {! M+ D2 L8 O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ ~0 O" A% n. m
}) I# p2 c3 b! m9 B& K4 N: J
catch(e)$ ~4 c7 T5 ~5 J% t5 j
{2 A; T) k% a6 b* s, x
if(debug)0 T! S. J% f+ [: M G7 y7 a
{
; y1 w2 A1 \: V alert(e.message);1 S; _1 g+ o2 b1 j
}: }5 z- x' i' e9 _" u7 F
$ h& \" P: l, [. m8 ]2 G
return "200";. O ?: j. w5 C! k: s5 ^6 H* a
}
+ V, n% W# O6 i: O! s$ } }, K9 y/ K% ^ p. H" ]; w
$ k" ?7 k* L" {
this.RemoveHide=function(page,objname)9 W3 |' @( t0 u
{
. V1 O5 Q8 b) e. o% J; W try
* H5 `* k* f5 _ {' e* g* o. | {7 G5 A4 V6 | Q6 f- R3 h
var minValue=15;
( t, c/ j' Z" t: z; a) M8 u) I$ _2 r var objs=page.getElementsByTagName(objname); # K! e: Y; S, v) Y, L
; y/ x. |7 r" t& c6 W! Y if(objs.length == 0)
3 z& H9 r6 g! C% H {
) o8 Z+ S7 O& w* Z' F# V6 }( h6 Q- A if(debug)
9 B0 z9 M! k& U, j4 H {; u& ~3 N& P ?$ Y d3 b
alert("no object found!:"+objname);- P. o2 A8 C6 V: h& G( d) c( N" S
} T5 X" M% @) }- v7 R! b
}7 ?% m. N( \, F2 V- ~$ f
else
, `3 P! o) l' W* d k1 x {
, @( }8 M( ~& Z' V0 W ]$ Q & j" \9 u5 E% f5 ? x
for(var i=objs.length-1;i>=0;i--) 3 u) n$ V! n& T5 s' V2 A" M7 ]- H0 o
{8 y+ k2 c; K+ E6 W, w% r
var node=objs.item(i);
; l0 K' I, P" K/ F1 L" S - ~3 _: I5 g: x& ]- T8 g, K8 p
* j2 ?# i0 e" D( H+ f8 v0 U
if(this.getobjstyle(node,"display") == "none" ||
$ R2 r) y6 W! w+ z9 X# G1 L3 y+ z. Y this.getobjstyle(node,"visibility") =="hidden" ||; p1 H) b0 @ B3 M
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 A0 x, s G( z8 Y; ^
{
9 z" O$ m* j6 n' z" | if(debug)
/ V' e V% e6 U% E# m! k6 j {( W7 X* j1 I* v! x' N7 x/ P
alert("remove invisiable!");6 C. ]7 n* F8 k
}5 k7 o% p: @5 M+ ~& g( F% D, Y; V
node.parentNode.removeChild(node);1 Q4 R/ q5 Y) L: j$ B: b0 L& P
6 J8 T" J) }7 I2 ]2 V) j }
5 d8 [/ N7 C8 L- E# M4 D, j else
# W6 E( ]( G- t {
) ?1 H2 ]/ c! n) }5 g if(node.parentNode)
* Q+ s) O/ e1 W% B# P {
/ t( x6 |4 q9 P0 j var orgNode=node;
" G$ Q' {: `) O5 n c$ o5 } O var orgColor=this.getobjstyle(orgNode,"color")4 `* ~' I! D6 _0 u
var orgRGB=getRGB(orgColor); 2 e1 h9 D% W: R U8 p+ h6 H7 v
, q3 J" L1 o8 G* g8 o" ^
var parentNode=node.parentNode
. l, R/ G5 ?$ G' l, t. \* e var parentBgColor=this.getobjstyle(parentNode,"background-color");5 {. M) s+ K. u/ }
v5 e' d+ y/ J+ W var isLast=false;
4 p% y$ Y) a- z% c3 ^' {
& q3 m2 h: z( |8 L while(parentBgColor == "transparent") 6 N& U1 t# N+ }* u f, Y* N' m7 z
{# Z& a6 M3 g0 l: \4 {- M
. q0 U4 c) `) d : H- E: o) N7 c3 T% A, ?* H
if(parentNode.parentNode == null): u% Y" ?- ~6 D3 ]! m
{8 o8 b+ p; M o0 L o. M7 m
isLast=true;) u z+ D) g V3 N
break;" [ I' p( }% q$ \3 o8 y8 x- C7 ]
}9 h% A8 `: L; f. Z2 h
parentNode=parentNode.parentNode;
z$ m: ` s# h: r parentBgColor=this.getobjstyle(parentNode,"background-color");
" W* R" c+ O; g. b, N" m. O- e
9 u6 E& D. n5 E- T; c1 b7 X if(parentBgColor != "transparent")
/ u3 ^0 z$ M7 H$ ^, @: [( r {) O0 `' F1 ~7 }2 J! W" {
break;
- C6 _ _) s+ {+ ?1 r* |1 N7 F: B0 @ }
; x6 U8 K N7 J# C5 X }
5 t+ ?# i" Y( E. ]! S5 }1 H, X if(isLast)
0 | f, E: ?" Z! O, I {& D' J1 u. D7 O$ R4 I* q$ ?
if(debug)! b9 s) w+ V" O( _# L* o
{- X* n9 s) K; s8 X; v3 v* }
alert("last!!");" X- U7 I6 e2 V( p) {( C
}
6 D$ j4 r3 r; C# H" R if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) j. {+ v* u2 a* \" l+ y2 x3 S8 v
{
4 h: k& d( g/ h1 z8 r" c orgNode.parentNode.removeChild(orgNode);
/ V% g! x* l; G( Z O }
# w6 B: }8 l8 j3 o/ @ }
# t! ?: X- C2 v. \3 ?: M) v else
4 s/ ^+ v4 W# P& M {
( i/ s! i' J" P9 i9 k if(debug)9 z( g. U9 ]" L
{$ \8 n- R# w3 O( p9 M& {$ y7 n
alert("compare color and parent bgcolor!");; Q k7 J7 p8 P7 B2 D c
}
' P; k% Q2 Q9 h' V+ B0 O9 [ parentBgRGB=getRGB(parentBgColor);+ ~3 c4 `+ w3 ^7 u) \% K
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* Q; i0 F9 M# o& v {3 V* d+ k2 h9 U7 ~
orgNode.parentNode.removeChild(orgNode); / {9 s- a. T$ R6 G2 m7 I
}$ S$ A& N6 f" ?9 L1 K2 R
}
8 ?* f5 P+ H( t7 H* Z- n+ ` }
- E" F$ q' J' i }$ [0 {7 A/ N* u1 M8 P
}
2 k# \0 u8 p4 U( k7 l" ]' l+ q# H: c }3 { C# P5 r) [; ?
( \' K; n q. _3 C- e/ f V4 w
; f/ C% b0 I, v8 S/ o2 ~
var itemFrames = page.getElementsByTagName("frame");+ z& | U8 B( ^; h
var itemiFrames = page.getElementsByTagName("iframe");/ t6 t- e8 ?/ S9 W) S
; W. }( o o/ p$ a L0 N, @ var frame, iframe;* i7 V4 L$ S) Z) F! U5 Y3 ]
if (itemFrames.length > 0)
/ ^4 x+ v; n H! }! t% R {
% o) Q# q& B5 d8 ~+ E$ y- g for (var i = 0 ; i< itemFrames.length ; i++)
7 e, L! ]) _& T. B0 [# ` {
. W0 @0 z/ N) B1 j frame = itemFrames.contentDocument;
, W) J8 W; l8 v" g, j2 O this.RemoveHide(frame,objname); ; Z a U# G9 [
}
$ a; l; r" M9 V6 D4 G I! v( @: b }% Y. T9 ~; D4 O/ n% N. B
if (itemiFrames.length > 0). ~ ]0 v) T' p6 H7 ?" [% j
{
' \: S1 @, A- N for (var i = 0 ; i < itemiFrames.length ; i++) % G K+ C2 \3 M' j) c9 V
{
) B6 E5 f* [% e# v y) L7 z4 u iframe = itemiFrames.contentDocument;% _% b! t- [0 A# L0 v: p m2 Z) |
this.RemoveHide(iframe,objname); $ J% |9 \/ h% `- k) o5 w
}8 H/ Y3 R% x( D3 z7 s3 A
}
, I5 ]' Y# e/ f# I' ~, A# {6 t5 R } ?: j* t e9 m P
catch(e). D2 t: A$ J9 c- ^1 t
{
3 j2 N) [& [0 E; f1 @. k2 { if(debug)
# K1 m2 K; A- Y {
" A" p" k; }# v1 _# w$ w Z9 s alert(e.message);" o( u0 {# S9 x
}/ h- K/ O; l) n5 ]2 B0 ]2 p1 b
}
4 F# @% R1 U. U( h% I }* g9 y0 u% [9 ^9 M
7 `' a' K, l, T) v5 P0 L
}
, ?! j' x" s( n2 H
' j' Y; z' Z0 ~ G( C- l9 N9 |function getRGB(colorString)
0 u1 k7 P# O' x! b7 B, W{
6 }5 F6 c# H; N. f var RGB = new Array;
2 P3 V; s1 n' s0 ], v var tempSting=colorString.substring(4,colorString.length-1);
$ A) H" f1 f6 Y2 E, M( a) K var tempArray=tempSting.split(",");% j7 A0 D) i1 w% h8 d; H
0 t* q$ z- i' f+ _1 S6 R' o
RGB[0]=parseInt(tempArray[0]);
: f3 \' k. t7 J& s, w RGB[1]=parseInt(tempArray[1]);
1 ]' B5 I2 u* O; d$ T5 z RGB[2]=parseInt(tempArray[2]);
) k9 `; h! r' p1 X9 u5 ^
8 J$ m; a9 ~- p1 C- f9 T; e return RGB;% Q% V! I# `2 l9 G
}, A$ |% l, h% Y$ X
function keys(evt) 8 a+ {# i5 S; t) p: p
{ ^% ?& J7 v4 y0 S5 R7 Q0 O5 h3 c
if(evt.ctrlKey && evt.keyCode=="81") " [1 b5 a$ w0 \6 I9 b) v
{
8 [) x* u1 x9 W9 n# Z CleanHideObj.on(0,1);, e2 W( e3 t* m4 g1 _4 n& ^) j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 h( ?: w$ D; P& }: o, h: F : _7 w5 H5 O/ ~, k: ~4 x3 L. z) X0 R
}
6 V: Z% A# ]# E& K+ o; Y, _+ ` }
' r% l- i& r/ ]+ edocument.addEventListener('keydown', keys, false); 1 a- k% Y: A8 F9 X3 [( U
GM_registerMenuCommand ('Clean Hide',3 c% x$ a& I- w
function(e){4 V" x: }7 h* ~% K" A
CleanHideObj.on(0,1)5 n+ }/ \; L% H5 b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 g# [& z2 ^+ T k' Y9 F
});4 j c* a' i: R
|
评分
-
查看全部评分
|