|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 F; ~% K' |2 O* V! t8 g' N
5 H4 c" a9 e) N$ k$ _) a
火狐插件,用猴子5 }: w2 G/ g: w% r- q
' L9 M- i9 \ L: v/ _4 t8 C1 k( bvar debug=false; 5 |+ |( g1 C" g) d6 n
var CleanHideObj=new CleanHideClass();
6 R# `! x# \$ p1 A0 s3 m1 O" T. @0 L6 A
function CleanHideClass() ) X. r5 y' I0 c9 X" p: w) v: m
{
( m$ z2 X' d. I 5 N- p& ^& Y: e: ?; A6 ^0 ^6 x
this.on=function(id,bMZ)
, x8 ~0 W: T/ R0 h7 R/ w {
7 o& s2 ]' v. b2 t( y. M% Q 3 ~9 ]5 P. _# v) }2 N
if(id == 0)
2 H' a! r& p, r6 Q6 t( u5 Q) o2 S( M {: P G0 I* P' I! u
var page=/* document.getElementById("content").contentDocument */document; 1 }& j% j. C2 H! O4 i
this.RemoveHide(page,"span");# @* t, L9 z8 ~1 |
this.RemoveHide(page,"font");
2 l: U0 J. b; p1 s9 C# a this.RemoveHide(page,"div");' A8 G4 E# [# Z" R3 |% I+ Y) z
this.RemoveHide(page,"p");6 S& H# |: O5 J! Y/ V9 [) J! t
9 Y" \+ y1 L1 b: F }
& _. D* h9 u! E; h: U, l/ E" z ) t, C: i) N p a
}
, _0 g! B0 p( y! n& m1 A this.getobjstyle=function(node,prop)
# K: ^) X* @% K {; D/ k c% w, b# [1 b7 r) x$ |/ X! G/ V
try3 W, V& l3 K$ o
{
" w) t; j% S7 g# _" @2 P return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" i- q5 O* c5 r C: c9 X }
% v. \% s) y. c b a$ k catch(e). T! }% w3 j4 y0 x4 P& Q
{. M9 E- b( K5 I1 s& T' \
if(debug)3 `" I* f: l7 }. ^6 k0 L! j/ v
{
; F F4 \ W, x# x1 M alert(e.message);
6 m( C d! y: ?5 }3 P* Z2 x! C }
) [) i' d! F: s4 N8 I
( P1 t$ G( ?" u* C& h return "200";
4 W t1 Q7 k L) M: g4 x }; f7 ?0 h8 w: z# k6 e8 ~' Y
}- f& `+ n8 `0 G( X }& I
" A) S1 j1 [ l. P) A; H" ~ this.RemoveHide=function(page,objname)
: a+ [# b% Z- w; L% K. B {
$ P( [' l" L! x7 R try/ q( K* l0 W- I
{& O# Y1 l% v. Q, T6 r7 D
var minValue=15;9 t& U" c$ \! `
var objs=page.getElementsByTagName(objname);
- C" U N& @( X+ S3 m6 [0 P3 q1 `2 W$ A3 `- X- H
if(objs.length == 0) 2 ~7 z! Q9 T: V
{: l/ C4 F1 R4 m9 n: X" z2 k
if(debug)5 Y+ q7 s# u6 k' _+ x
{! z% }( H+ w9 j
alert("no object found!:"+objname);
8 d" Y# J6 e/ q( J- @* B* P. V5 _+ F& y) j }
" I- d k( G3 e n0 J7 P9 I }
/ w- ^; f% `7 C: @. L else
. E3 N' [! S% i" x {
: c2 v5 w: @9 O7 f, B - ]& }/ Q+ B6 Z/ Q: e. j8 O
for(var i=objs.length-1;i>=0;i--)
, M: o" W8 [. q# X: S3 z {# [0 N( o) {8 g- D3 ^
var node=objs.item(i);
6 L: j; H* k) E3 P- ]5 _# `0 E0 _, c
" i N* ]1 S: z, A1 A+ z& g : X9 q4 R1 Y. h4 }2 c
if(this.getobjstyle(node,"display") == "none" ||! S, O& c1 m( n; y! p1 X; h8 Z
this.getobjstyle(node,"visibility") =="hidden" ||
7 W6 s0 H- | U! @% R parseInt(this.getobjstyle(node,"font-size")) == 0)
* f# g, I0 H$ z( J, a; d9 o {& g# i- k; n: i3 P k1 T
if(debug)/ T. K M5 k- V& p
{
- X" L" B4 ?% t" E alert("remove invisiable!");
0 h G. x4 y' |/ Y6 p& U }: e9 b. ~: g0 r) q; V' q7 v
node.parentNode.removeChild(node);
: ]. i, m" @) Q) f: d& N1 } 3 a K5 R1 [* {' Q. a% b
}
% m. x7 K2 ^. T1 z' o r( T. e else
+ h% O0 c8 o ?* k {. t$ C, _6 w0 s: ?5 ^
if(node.parentNode)
) V! ?! z4 U; P$ i {
! \: s$ P } A5 K var orgNode=node;
( u! r+ f: g; ~ w6 @ var orgColor=this.getobjstyle(orgNode,"color")$ R) }; X1 A# P/ B. M1 ?1 G
var orgRGB=getRGB(orgColor);
/ U1 j( }" @& _% g; B# X; F1 K
+ o% F! [9 `1 _, H& k U4 A1 D# m var parentNode=node.parentNode8 S. A3 |% ?0 p4 T, k, O; e
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ \, z/ d' ?( p* c$ ` D7 J
% D* ^& D0 E X0 K
var isLast=false;
2 h8 I% j: y6 Q- r# M+ Y9 t
0 [7 [4 ]. i- v+ [, m9 i9 P2 Y while(parentBgColor == "transparent") 7 ~- `& z: }/ V; Y4 E& R0 x
{! p' y, c( W" I' _3 ^
/ J ~* g3 ~' F6 ^
* L2 ^3 F2 p" {! ?' n1 o4 Z if(parentNode.parentNode == null)
+ u# t/ N8 a# n% B7 a! H1 O, k% ^ {
" _: D- f; d. s1 N; V isLast=true;
& z+ b/ f/ |; Y/ b9 W break;2 c- N7 v) `0 P) i. v$ V
}
0 b, Q5 @1 Y1 _ y7 @. d parentNode=parentNode.parentNode;
3 m$ s* K- w8 L0 v8 ^! c parentBgColor=this.getobjstyle(parentNode,"background-color");
/ {! L0 D; L1 {1 k4 P$ z: }8 j/ ?; h# n% ?. ]7 S
if(parentBgColor != "transparent")
7 q" h) T% L/ V0 d; W7 R! q4 A5 B {
& M! j1 g( V. f break;
6 r: d; E5 Q0 N! C1 t7 u }# I8 l' _/ w4 `6 j
}
- v3 B9 G. _9 A% z3 j" |6 T if(isLast) ' E: c9 G* j- t
{- N- s0 ^' _: n! A
if(debug)$ m/ S1 E0 K4 D- ~
{+ l4 { L+ p. u a1 {
alert("last!!");
7 W9 l& G4 v" Y5 Z: Z }
5 A) K% O9 h/ `6 x5 { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 T9 B. Z- j2 d: `. @2 A% q9 a
{
+ m. |. y/ m3 {" p orgNode.parentNode.removeChild(orgNode); # D5 p9 X+ }6 @ G1 u
}
6 k. X- E# F6 X; P5 ~ }" h7 L0 x6 J: _% y4 p4 W+ F
else5 A n; M+ J) z: I* q' G* r
{
0 R& t, M2 t1 F if(debug)4 A: I, B+ T( L# \6 `. w) s
{
' G4 M$ z; k' U" h/ X* {# Q alert("compare color and parent bgcolor!");
% ?5 [. y2 _5 T$ G }
/ D( X; ^0 D/ S$ a+ D) ?% U parentBgRGB=getRGB(parentBgColor);
) ?8 H7 z* X, d! z' [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 j+ ]) x+ L% D, K+ H! v) U9 N. }
{
: v) @$ g8 d4 o0 ] orgNode.parentNode.removeChild(orgNode);
# `5 D, c! N" {; d }; c9 D4 \% {; S6 @9 \5 s
}
J9 ~! y4 b9 @! V }1 I1 I1 G7 Q) n& ~( e
}
/ P+ S2 a" ^) H( a }
5 k- B: m2 m3 x }6 E) M$ U# D3 _( Y! |0 C7 s/ @+ T( h
N; A" i0 n$ F: V# Z
) S0 x" K. ?) Y' X var itemFrames = page.getElementsByTagName("frame");' \, y7 r, D1 d/ t. g0 X, O
var itemiFrames = page.getElementsByTagName("iframe");
+ v, N. X {# d0 J1 K% z# [/ b
; u6 h C% m& v var frame, iframe;
0 q8 \* w. B8 y( q- t( t/ k if (itemFrames.length > 0)7 U/ s2 C' }1 K2 U) F- q
{' B S1 X& d' N0 V) h$ K& r
for (var i = 0 ; i< itemFrames.length ; i++) : }+ [5 H, K- _. H' l; Q
{
2 ? {% m: s$ L* i: w frame = itemFrames.contentDocument;
# {/ q2 J; [% y5 ]/ m this.RemoveHide(frame,objname);
) F# b8 q1 p4 V3 a5 |! E }/ `4 _6 s$ u( `1 r% W1 S% e
}5 z+ q1 g$ X4 z
if (itemiFrames.length > 0)% q& P. d2 n |/ i
{ F. l# G; ^' V7 L5 A% U
for (var i = 0 ; i < itemiFrames.length ; i++)
! _! K( u! ^- |8 ? {# X6 j& N7 o; J( ]# C' N5 q
iframe = itemiFrames.contentDocument;
9 u3 Q% t1 i" w+ X. q. P this.RemoveHide(iframe,objname); + V' D9 ?1 u5 ^0 `
}" y" K' [* [( U3 n U
}4 z" C( }3 c- F3 N" s u! z
}
% N# j# Q( A0 `0 M. |+ G1 n6 b catch(e). G/ B# b8 J, y" K5 p
{
$ u z; j: Z4 W6 l2 F if(debug) y( r$ F3 A6 `& E
{7 B) F8 p$ ~3 j3 s
alert(e.message);
7 ^& Q& w6 Q# { }9 B. e) n6 t' E/ }
}* I- l9 y0 |4 N8 o6 d n
}7 K4 P# _% A6 a/ T }# J
* N: H7 R& W3 S0 z! ?5 S& a" i! H* ~}
5 [$ w, m4 I, A2 e& z! x! `' v- }# ^4 |! H' M0 F
function getRGB(colorString)1 F7 h2 g& P' H0 r$ [* J
{
: {) p. T/ n3 {. j ^' g var RGB = new Array;
8 F3 p- c; K4 R! I. W6 A3 o2 G var tempSting=colorString.substring(4,colorString.length-1);8 F5 J# m7 N0 B! f9 z
var tempArray=tempSting.split(",");( b2 X) i1 w( y( A4 L ~
/ Z" i! q2 }: i4 o! ?) ?( m) b
RGB[0]=parseInt(tempArray[0]);
1 q' f- ^& H: F, b* ^! T! y RGB[1]=parseInt(tempArray[1]);* I% H. J( t+ _* X" |; t) H& z/ p
RGB[2]=parseInt(tempArray[2]); h6 r: M5 r, {& n: c. J
& O3 i# h: V: O' {/ n return RGB;
9 z- h% o$ n O: v& W( u}- |6 Z l3 H) |' H
function keys(evt)
M1 l; }* Q4 A. p8 p; z {
4 M3 R4 G r* `+ N' [ if(evt.ctrlKey && evt.keyCode=="81")
+ N0 a4 C' h8 U. t { $ m- Q; S1 I0 o3 u3 k" l0 s
CleanHideObj.on(0,1);) f/ [" Q) P; D% i" W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; e6 v& ~/ [; ~ 1 v5 ]+ k! M* ~- [$ f( c: j7 I
} 8 a4 r0 U( a# @ r" ?4 y6 q
}
) {$ g& C( p8 R( c& Ldocument.addEventListener('keydown', keys, false); + H/ w5 S7 Q! u! e
GM_registerMenuCommand ('Clean Hide',
, F; Q$ {8 W" M" Kfunction(e){
4 |7 |) J! i$ lCleanHideObj.on(0,1)" D- r9 y! \( X; O8 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: Y) {) x3 y3 I});) X$ G0 o9 [2 g" x1 v
|
评分
-
查看全部评分
|