|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! k W X' S: K: |
' C5 H+ J( z; ?; J6 S0 U
火狐插件,用猴子
% v& H7 I4 u9 t2 R6 ?6 l6 X, B, n6 W% h+ P- P
var debug=false;
6 w/ l! x' U! Uvar CleanHideObj=new CleanHideClass();, R+ I `% {) r. t% B
" _" O. R% ^6 h' q5 Z; e
function CleanHideClass()
# a' L0 N7 t/ J) e' p1 \{
7 Y3 Y4 U9 k5 U) b
1 P! p: I1 d6 b) B; [: N/ e this.on=function(id,bMZ)
2 Z# z$ D, H' j! B+ R# g# @) m {' m7 K4 g0 `. f
! v+ p1 t( C c. C if(id == 0)
( r6 J: b5 j4 b' O {3 \1 R7 [0 s3 t' \; |: v
var page=/* document.getElementById("content").contentDocument */document; 6 Q' _: x4 b/ _- E
this.RemoveHide(page,"span");
1 Q2 D" n- n C9 ?+ V, C this.RemoveHide(page,"font");
/ ~2 T) @* A+ ? this.RemoveHide(page,"div");& f O9 G6 y; z, M; L! w
this.RemoveHide(page,"p");5 R' u% n+ X/ ]5 B
! c; `* |, L" b2 l# j u6 S
}0 r3 W' g7 F: a0 e- l/ I
- W2 n- {6 S. W# c/ I
}2 J! ?9 X; L- y$ x- l
this.getobjstyle=function(node,prop)
0 y0 l: o4 n a; i) u {* m8 m' S$ x M8 J; X) Q6 o
try
" b) X! T1 K6 e$ } {
' t, `+ t7 j' N+ T8 E; p1 y, Z7 F return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 y- W- |. ~) y, y, a$ W, g( V }
: U+ |. \8 k, x catch(e)
0 T4 K8 U) n) Y; a& F" Q, X6 s {
" s) _2 S3 x/ d- C w, p+ ?' M if(debug)( h) A9 [* e8 H0 A" x; ~
{
" C t: ?: f# M7 X: G" A5 O alert(e.message);" d3 T/ |7 n; N6 e7 K) Y s' L
}
# _3 V7 e6 `! U4 A: _$ S$ x1 V; D . I% `5 N3 q' r4 q/ y9 N
return "200";
+ q: |# C; q' X8 h }" ]$ F# x* e! B/ N& D; K0 O7 D. w
}
* L' z) {: B' Z& T4 d$ ^% b* z ( d9 l3 ?* v- q* R
this.RemoveHide=function(page,objname)
2 a5 Z9 d7 R7 V# [2 l+ S {
/ S7 X- U8 Z; t. E$ d- n; J try
- F( O+ t5 I1 Q5 t4 @$ J {9 T0 n2 p8 e9 J" v5 F
var minValue=15;
, y8 W' l0 ]& d( A- z var objs=page.getElementsByTagName(objname); 8 f5 Z5 `5 k- G5 h
1 V, h1 M0 ~6 t7 x if(objs.length == 0) ! e% e7 ?0 Q4 H$ ^. S, p
{
m) S- L0 v, K* |5 i if(debug)/ Z5 E% r: n+ o; N4 a( |9 e
{
5 }: [5 Y- W6 I( t alert("no object found!:"+objname);
) H+ T7 {. j& Y! ^ }9 l# v$ {5 ^" U
}. }, C6 L& W- x7 h
else
5 S$ P5 H, i- o P# f3 T {+ W( W% g. Q: m( @) x N
2 t1 N$ o: L' U5 \ for(var i=objs.length-1;i>=0;i--)
. F D9 Z% W1 o3 x" K {
" @ p7 D, P! q( S5 r, S* { `" I3 F var node=objs.item(i);
# S: Q$ l" H1 b( z! K/ C * Z2 X/ B' s) O9 h; ~. M" y6 G/ F9 H( u
8 `/ f3 |8 N' D0 ^; _3 e% m+ [4 y if(this.getobjstyle(node,"display") == "none" ||
5 b5 h4 X t- j+ g: W# E6 Q this.getobjstyle(node,"visibility") =="hidden" ||" @/ |3 r' j/ H g x- c
parseInt(this.getobjstyle(node,"font-size")) == 0)
& Z# Z9 F$ T- |; ~0 G5 O {
+ y2 C0 Z& z! y3 D3 a. ~% c if(debug)2 E9 D# _6 h ]2 J8 ~4 c
{4 _8 y: t' ^3 ~$ q- y9 M
alert("remove invisiable!");
# q4 `/ {2 g/ I2 W/ D& _; [4 y }, l2 I" G) B1 X6 O7 Z) k# N& |
node.parentNode.removeChild(node);
- v \- x0 L3 v1 A5 N2 o
& ]- p, p/ v: v8 N3 b) R( v- [ }) [: N! w( M' @8 k5 C1 l
else # F J2 |' {/ }- {) M x
{; i; ~# b0 @* P9 |% _0 Y
if(node.parentNode)
& a' f" J$ O; s# k( a {
% s# V3 K" M* N8 X" D; k var orgNode=node;
" c2 a/ A/ T: p0 M; z var orgColor=this.getobjstyle(orgNode,"color")' V8 O1 h: E, @. ^
var orgRGB=getRGB(orgColor);
8 N' J6 e2 t" h; d2 P- J1 U . r2 g' N1 m9 k- n
var parentNode=node.parentNode; J& f; H! `6 D5 Z! o, D- y$ P
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- h$ E4 j5 ]: y5 k6 z7 y9 n' k2 J
2 t% A4 N0 J& x var isLast=false;
2 n. J+ Z( i5 r+ H
6 @% i/ G# }0 s( `7 {- _ while(parentBgColor == "transparent")
2 X% \( ~. F- M( F5 \! g) @ {9 A% s! t& q7 r
# r2 N c% D/ m n$ K
, p4 Y" k9 J+ L0 a. [2 G4 q+ G if(parentNode.parentNode == null)9 h s0 ^/ }: u0 h+ C9 o
{4 a3 Q. P- F4 C/ e
isLast=true;; j. Z: J* i8 W! K2 V- J. y ?
break;
+ N! Y% s( y2 }) I6 k" v9 A! a) ] }7 {$ J! \) U7 a) {8 X: o# L
parentNode=parentNode.parentNode;
. P# ?' Q5 w5 _0 f6 [' y# \ parentBgColor=this.getobjstyle(parentNode,"background-color");9 Z" S3 G8 B$ `# N* a. N5 c; P, h) O+ U
8 V% `5 e9 ^+ l4 K, E' Z8 U if(parentBgColor != "transparent")
$ |4 C& B, S5 l3 J2 u, C {
' `& G' }: t c, V6 c$ ~ break;
2 e& n& F. ]. [3 m }
9 w7 x6 M" X. I+ _: p( ~ }
T3 K6 x( k# q, D if(isLast)
) u6 O! f7 t3 v4 X' ?3 }) f {3 A2 }" {7 i2 W
if(debug)3 M2 p) p I7 t; m* f9 L
{$ R4 K- h, @6 }" ?
alert("last!!");# C$ m# d c1 q
}2 P! h( A3 j; K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* P8 r" h* M! w q! f1 t+ d {7 F1 }3 A1 `5 ~; N3 c5 F. M! e
orgNode.parentNode.removeChild(orgNode);
& b* S0 g$ c2 W$ ~0 F }* N8 v4 b' O* T1 N2 Z; S
}
) E3 W; k' V3 u' B8 J else
T8 T$ w. Z/ B+ ?7 q% [9 L* V k {. D2 s" h/ G/ e" g5 w0 h" z; w
if(debug)" g# o- l4 J2 `- M: R; `
{# C0 M- h: J6 ^& N" @
alert("compare color and parent bgcolor!");$ z8 R# T! [! j( P+ A; N& |
}3 A5 ^, E% ?" `& v$ u0 b+ J
parentBgRGB=getRGB(parentBgColor);4 Q8 {2 M+ H4 ?3 ] M
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 v# Q! M( U+ z* l+ r
{9 y0 W& d3 @# t
orgNode.parentNode.removeChild(orgNode); 6 l% ^2 p* f; t$ |
}
/ F$ B) I1 ^ x: Y1 h; P }
; c+ {) r9 Q6 i$ e6 D( r }( y" w: j3 Z( F+ j N9 X) \: ~
}' A9 `" V7 B0 g) i1 r2 x8 k
}
) A+ J% O/ B" p5 j. o0 l) D }
. w9 U) Q& `" m0 Y * e' r9 g+ p c0 ~+ n& Q b% m& \# m
. |1 n+ s$ ], z: {- r) }& [* K var itemFrames = page.getElementsByTagName("frame");( L+ E$ i3 O7 a" }( N$ W; q
var itemiFrames = page.getElementsByTagName("iframe"); I: i9 W I7 X
J) q! }8 ^. f# c var frame, iframe;$ Z6 L3 `; e) t% u. `% }" h6 ^% I0 X
if (itemFrames.length > 0)
) S& n& u( d" W6 \2 s: ]$ J v {
* a3 H; X* z% e6 A% f' X for (var i = 0 ; i< itemFrames.length ; i++)
! s0 C" [$ j( `( E$ A% ~ {
$ Z1 i; H! G5 T frame = itemFrames.contentDocument;% L+ O7 p5 }6 A* B: }( v; x
this.RemoveHide(frame,objname); , a( B$ h c3 ~$ d
}
9 v" A: y Z5 ^- m }
' J; I. A9 i7 @: j4 g6 o if (itemiFrames.length > 0)% O1 S% C7 C L% J) J+ `
{
5 y" }4 o7 X, Q# h! d) w- r6 ` for (var i = 0 ; i < itemiFrames.length ; i++)
5 h- ^9 b2 v- \ {0 ?1 H9 S" ~+ V5 }5 c( D0 E- i
iframe = itemiFrames.contentDocument;
3 i/ H: T7 r3 \9 ~ this.RemoveHide(iframe,objname);
, V7 Y" Y/ k! h0 M# Z }" i2 O2 e7 V( `& h; x1 w' \. g
}5 U5 y; W2 }) Z9 {# ]2 e9 Q
}
5 T" Y% H/ {0 C; P% ?+ j catch(e)
* E1 J2 O0 @; W# M {
# j: t( s( T) z# l( l* A( X if(debug)
, ^. m0 b0 o: \1 L* ^- U* x {) Q" _5 q2 M; e: U
alert(e.message);; `9 \- f7 [ }+ I& M
}0 r K, Y# y- n2 D+ {
}* \7 V1 Y$ n$ k& y- d" `" d4 @5 ?& \* \2 R
}! ?, Q+ E/ Y4 B" ~" L9 w4 N1 M, {
- m/ c" d. |8 Z. N}
5 ]" n; _; W$ f2 l% s# D* y
# B9 K% \; e0 L+ b, A' C, K0 Zfunction getRGB(colorString): G) }' D5 }% Z! i. m, K& {1 n
{4 w2 _8 }2 L" H9 b! f) i) v% I/ a5 c
var RGB = new Array;' _% ~5 l3 f& n: M: p( o
var tempSting=colorString.substring(4,colorString.length-1);3 r! c1 F' `. E
var tempArray=tempSting.split(",");; d" W: ?3 }/ O a4 P1 t( z
: j! S w8 R. x& f$ M RGB[0]=parseInt(tempArray[0]);4 c* {. N, h! a( ?& J3 A* r( g) R
RGB[1]=parseInt(tempArray[1]);+ ?9 U/ _; T6 e# T& b/ n
RGB[2]=parseInt(tempArray[2]);( g+ x3 \- M% m* x: F; w# L9 r- y+ y
' v# y! q+ K; j: Y' l; a
return RGB;
, G6 h" c& b, h8 y}6 {! F3 q! w3 {2 h& S- @
function keys(evt)
1 `" u0 s! f {( o8 A* i { 0 g: D3 q% q8 } T( k- k6 F: @- q
if(evt.ctrlKey && evt.keyCode=="81") 4 [* k4 D6 Y$ E/ _
{
+ s. A* O: K! U9 ~4 s. c9 m CleanHideObj.on(0,1);8 l2 D9 r* K u* s. ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - A3 N' D O0 {- e
{1 ^ @- N7 x; o
}
; p3 o0 s' j" |2 t } ' q- f& u' `" b: {
document.addEventListener('keydown', keys, false); . R* d/ \ h- O+ ^0 t' A2 h
GM_registerMenuCommand ('Clean Hide',
" }0 \9 z9 Y: T$ m) mfunction(e){
% w! u3 D# h2 Z% z- c4 x bCleanHideObj.on(0,1)
& G) u/ d6 M7 }& ~+ u# [6 Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: I# ?" l% I4 l _5 T1 E, y});6 L: I2 {1 u8 t
|
评分
-
查看全部评分
|