|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * b+ ?6 R& {& G0 {2 u, k
I6 O% B S3 o! Q" u* Y6 Y! c/ `" L火狐插件,用猴子
& v/ {8 j4 j, T
6 @" x( i" A I- F3 b0 m7 Ovar debug=false;
, }% R v4 ?/ M& ~) A" E+ ^. gvar CleanHideObj=new CleanHideClass();
8 U) W% @9 H% U* s) y8 S
, y: A6 V! @6 d' ^: Cfunction CleanHideClass() / M: r# C- U6 D% n. J e) s
{ 4 z! _' x! D$ P: m$ x- E9 M
, e. y; t. m8 ^( Q0 U# P/ g
this.on=function(id,bMZ): x* `4 X' E! }
{$ E/ A7 m% R% O8 j4 k! {: `+ m
3 v$ g0 J, M% m/ H if(id == 0)
' s, L0 Y" l/ s' w+ N8 l {$ ^7 G( y( r8 Y
var page=/* document.getElementById("content").contentDocument */document;
& f1 P, E9 M* z: J! r2 T: T this.RemoveHide(page,"span");, l* l# W" B* F I3 M
this.RemoveHide(page,"font");
! O3 r& p: ?% r' j this.RemoveHide(page,"div");
1 h7 T% Q5 b! E; n this.RemoveHide(page,"p");
! c R" a0 [- S! _% q
6 ^7 @5 M: H. F7 g+ N/ U/ o4 e0 |. D }. m2 W8 V+ O% i/ u9 M+ r+ y
7 U; [5 w Z; A: _4 a8 ` }
3 T; y3 q; S) f0 F- Y& j* a this.getobjstyle=function(node,prop)3 |: w6 s* J- [, [. W
{! v; J, V1 D: l2 c
try
2 U! ]7 p6 G7 ?$ ]5 o {
0 M+ x# u$ L8 c, A# C5 W7 ^ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 U' O' s% [% R4 p1 i }5 Y! G( W1 k5 t4 `% x
catch(e)( M! _+ N! \7 X% q! u9 t
{
8 a: }+ z. k# k' V) C% I- ] if(debug)3 ]: ~- i& g9 L" V
{+ ?8 o7 i1 ~2 S9 H q/ C1 ^! X
alert(e.message);
: I2 @ J/ Y* [5 t) L8 L }
/ C5 q" J2 f* N0 L ( t( d! ?6 O8 _, @( ]. T% V) t
return "200"; {. w2 G/ W$ _5 C. v, }: c
} e4 l0 j- U. p( g* X$ B1 W6 v
}6 ^' f# D. A# [" M& i- X# ~
$ ^+ J% g, j6 `/ v+ r) ^! e/ u8 u
this.RemoveHide=function(page,objname)( y9 m% o- j# H
{
+ `! z( ~# k) c, V% `3 [ try
2 r P0 w9 h1 R3 Z3 v4 d4 } {
" w4 t, | k% [ var minValue=15;! g) Q! Z7 B! Y! W: O' g% C7 R
var objs=page.getElementsByTagName(objname);
5 F% t. ]* _# W. n
* g/ l Z5 l0 T if(objs.length == 0) 0 F/ {3 J1 R" v8 y$ K
{
( _+ T4 I2 V9 i" e: D& s) W8 P, a if(debug): P$ @4 E. G* p* o! Q+ Z# Z6 l
{4 h5 I1 w. f, S5 e; l& b7 E6 e
alert("no object found!:"+objname);
' m9 P4 |/ a1 T" x0 ]$ _, ] }
$ h! Z% t4 r! `: L; C3 _! {: c }
! k/ D9 i9 v1 ]* }4 o. d7 E7 g else( i. D) Q! P& s x; {
{5 w# n; E4 g6 g% F* ?, d" L
( @) X* @7 w. z; X for(var i=objs.length-1;i>=0;i--)
: a' a2 g( X- _8 [) t6 \ {
, S h8 U# L+ o% ^ var node=objs.item(i); # _4 x9 I% ]& y0 _: A3 f6 D
( O/ z; b) p- l N% w. u
' W% e2 m! |; | if(this.getobjstyle(node,"display") == "none" ||" ^( Z$ {* s3 c' F& f
this.getobjstyle(node,"visibility") =="hidden" ||2 b" X! l! p$ a4 ?4 O& b6 k( _
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 [$ _# l! w/ X& }
{0 ?; d$ o# r2 R4 {4 U9 l- O/ q
if(debug)
9 t2 I3 m# t# x) h. t- c- u9 s {+ v6 t+ \8 T0 w2 ^% Y l
alert("remove invisiable!");
1 P- I- }+ {) W% ~" S/ U }- M) R" ]. t5 P! Q. v6 B
node.parentNode.removeChild(node);
( i1 v V0 N" P( q
1 X8 x0 T7 e. l }/ _2 M9 k) Q: [$ w9 B4 W2 _/ I
else : n: R2 n5 h: ^. Q0 b
{. ?+ N6 _$ s. n% c, U1 ]# K. ]
if(node.parentNode)
( F% S7 E* I9 i {5 E" q6 a/ q& F) c6 L5 ~
var orgNode=node;
7 P4 x% P( A) V3 g6 Y" J var orgColor=this.getobjstyle(orgNode,"color")6 F F9 `8 h, Y/ a, {' a
var orgRGB=getRGB(orgColor); 5 E5 P- [5 J% W! ?
2 W' Z5 ]5 Z4 T3 D" N5 E* G% J# P var parentNode=node.parentNode m9 W. k+ P/ @, a5 ~ w' g
var parentBgColor=this.getobjstyle(parentNode,"background-color");( Q! v8 T4 y* i2 `2 ^
. ~$ ?0 S/ Y2 i7 c- P
var isLast=false;4 l6 f- J: @" L6 ]7 O" K
% ]- b; R: q, c( \3 ~! X! b# Q while(parentBgColor == "transparent") 8 r% Z- ? Y* i |
{* m) W8 W2 p, i& D% f9 K
2 x" h' {5 a) |5 Y
% P l' W* T5 {! [9 b0 \, h: } if(parentNode.parentNode == null)
4 i! n0 A. v- X2 d8 J {
% b2 R2 G7 n' X' V9 Y; r/ y isLast=true;
3 D! N% f9 M: v6 O break;
8 b9 S/ J( o' N5 V }
1 a2 T+ l0 J/ |! Y+ X& W0 [ parentNode=parentNode.parentNode;9 o I: O: _2 P3 f q8 X
parentBgColor=this.getobjstyle(parentNode,"background-color");
$ ~, z9 v4 p# H9 x4 k* [0 U0 Q+ Z% l, O N! ?$ ^) ?" S! p. e$ W
if(parentBgColor != "transparent") . k2 f, V1 w2 X3 G9 R
{
$ D9 [8 o/ V6 j6 C break;( y6 F2 Y' t( d5 ~, h4 y
}
9 G! D/ F( j5 f6 k1 E" M }( t9 p% w7 c/ M0 b/ z
if(isLast)
8 [" Z; q6 `& V; U" d& d {0 ]- n9 R. }8 Z$ g, W+ q
if(debug)
# c: X( }( H2 {. V. B {
5 q4 m0 x; F% T$ P3 Y alert("last!!");
7 C- @" `! {. h& h) P3 i }4 I- m0 i: Z" B# Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( A8 E* K5 S; D4 l: [ {
0 T5 h% T ^, W- J6 b' z orgNode.parentNode.removeChild(orgNode);
5 R' \! |; Z ~* n' Y0 y2 } }6 s' X1 F. E' P7 V1 j* l- M
}
. T: i; f2 z. v; b5 W+ V else( Q b1 O7 s; \/ B
{
$ \: l; I$ O1 i2 Y. G8 w4 Q9 N if(debug)
% m" n7 p$ Z Z' F8 F, `; Z {4 ~1 e- [5 _+ X: D7 ~& q4 a
alert("compare color and parent bgcolor!");
; z8 y- B% F+ b+ e# [9 a# M# p }7 l- e; R, H: u/ b5 O! \1 Y& ]2 q
parentBgRGB=getRGB(parentBgColor);
" `* N% X$ r3 @: X( H9 I if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 G6 N j! B; o) i8 [- \: [
{
+ {+ j4 O& g) ]# n orgNode.parentNode.removeChild(orgNode);
3 m0 f6 w" n% l- Y8 |# {: n }( K3 d. e1 N2 N
}4 `0 p- P9 `& Q/ a) j
}
$ W) v2 u2 A6 ~( u; Z$ t! }7 r }: f2 j' x+ I0 K% C
}
& F9 \! p2 [2 }) i2 D/ ^ }0 z$ n: x, j8 I |6 y) M6 ?
, j4 r6 a& |: T3 W# e7 `2 b6 P
+ Q* }( F/ E) p% E" ]; O' p var itemFrames = page.getElementsByTagName("frame");; ?9 r G3 W( a3 c$ q& G% H
var itemiFrames = page.getElementsByTagName("iframe");$ W% X( l, I6 H( V% c, q
; }1 {8 d2 h4 I# W% d, T var frame, iframe;8 _" H! Y' w' M' j2 B5 @& C
if (itemFrames.length > 0). c8 G: m+ Y. d9 K: H# q. }
{
* v5 S" e1 R1 d/ Z, { for (var i = 0 ; i< itemFrames.length ; i++) 7 d7 M$ K8 X: S# s
{, Y4 }+ m' d% M6 k7 g2 u: r
frame = itemFrames.contentDocument;2 o) |: k& n, N1 K" R" d* G2 _# n9 U
this.RemoveHide(frame,objname);
$ l5 y9 k; t& u, r1 l }+ y5 H( V# z9 {1 l' |5 m
}
0 u% A4 b3 Q4 B, r$ |! g if (itemiFrames.length > 0)
4 o2 J( i$ N7 q" M( w* ~; u {
+ H s9 f# r. O2 j; x for (var i = 0 ; i < itemiFrames.length ; i++)
+ Q5 X8 C; @. C- k" W9 C3 B {# }6 l5 h' B* [
iframe = itemiFrames.contentDocument;
, t& Y/ ^! b# B# {6 x this.RemoveHide(iframe,objname);
: ^% Q! c# Y2 j1 a% i2 y" A4 U9 p! x }
; i L6 N- G! l9 g6 t4 U }
# e- V: J* g" ]7 ?2 | n }
1 ~& e. J1 ~' f! `8 z: ^; A catch(e). q: E- W X7 c' R+ g
{! O2 L/ w- x4 |! _5 U( n9 r! y! C$ \
if(debug)2 [" A% H6 P. n! y% W( u
{
$ `/ @- _8 O- K! E alert(e.message);
$ M* K1 V, B5 J) X6 Y6 n }, c& U6 Q4 t' r8 g5 S* w; P j1 a
}2 u0 g8 ]+ I# D2 J. i
}0 e$ K0 `) t- @. j; C- y% P
' |$ I7 m7 k4 E: j* X}
, @# p+ W3 e, l1 W6 R
) j, |) ^7 \6 i; C1 v! q$ W+ pfunction getRGB(colorString)" U: }' c( U/ d* W8 J
{+ H' r% F z( G- Z; |
var RGB = new Array;
4 U: z$ `! ]3 t8 T @- D var tempSting=colorString.substring(4,colorString.length-1);; J) R3 j/ U) d' ]" ^' s0 J1 |
var tempArray=tempSting.split(",");
) j) J/ h9 c7 A2 h% n
. r# H, M+ d: m. z RGB[0]=parseInt(tempArray[0]);
4 \2 a" t m9 s. K RGB[1]=parseInt(tempArray[1]);! B' u" q/ L$ e O; V
RGB[2]=parseInt(tempArray[2]);! e2 @0 T5 K4 R, H5 w V
4 W4 K/ B& L, v& ? return RGB;
' N |: W. s* n: |# g}% x3 {: a- ^4 r
function keys(evt)
2 N2 Q' @0 P: \5 f# e- s! ^5 o1 e { : Z6 p g2 S% l5 r
if(evt.ctrlKey && evt.keyCode=="81") 0 p9 J1 C8 u+ |# N6 k
{
' y) }! P8 S4 g* L CleanHideObj.on(0,1);
) j2 b; O: s& b1 X' @8 ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
Y' P* q; C% v3 a4 M5 A# t
$ Z/ ~: E4 s: [1 i1 g3 M8 T }
# w2 s3 z/ ?% q" x1 A } : h6 \$ ?# ?7 x! G6 f" J' p( }* i- ?
document.addEventListener('keydown', keys, false); 9 }% n" H7 N0 [, n6 h
GM_registerMenuCommand ('Clean Hide',7 | U! |3 m: T: ^" `
function(e){
! C( \$ C- M- S5 f! G' X4 T/ ?CleanHideObj.on(0,1)6 b8 L8 o) ~6 E# O# W8 g9 p, K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) @/ P1 z! i! a0 h& c});
1 z e d4 D; i# E( b( Z |
评分
-
查看全部评分
|