|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! u2 D2 ^! d5 s9 y/ a
o; k& |, B- t" W2 V1 _! e火狐插件,用猴子
5 E9 _5 K+ Z- X4 X9 y. g
2 m# ~+ a/ [* J6 ]. c9 Svar debug=false;
2 t- {, l- [/ b6 ^var CleanHideObj=new CleanHideClass();
% a, _0 B! A/ m1 v+ O
1 ]' G) x# q0 u; Jfunction CleanHideClass() ; q/ S6 o; i! z" G$ _9 X
{ * h+ }) b% @6 @4 _
+ \1 a- C* N$ _9 x this.on=function(id,bMZ). p7 \- Z; R; T
{7 O0 Y5 E7 Y: j/ w
% R) x ^2 l3 E2 c$ O6 L9 Y* U if(id == 0)/ g& F, r6 d# D$ J3 U8 J
{8 a3 F- c+ A' X" V
var page=/* document.getElementById("content").contentDocument */document; 7 ?/ @5 x: v6 m8 }8 V
this.RemoveHide(page,"span");
4 k5 R3 T- @% {! p this.RemoveHide(page,"font");4 r' y' m" Q+ I$ w% \1 [
this.RemoveHide(page,"div");
% ^, @ \+ s6 h this.RemoveHide(page,"p");
& h1 S2 t: K. B' O1 v6 Y
7 e( o" y2 [. e5 J, U8 i2 ~ }* Q$ B# u1 { P* K/ W
9 a) z( r! P, N1 E# }% L4 w }
& Z7 X1 q6 m$ C' ^( z! ~% M4 U this.getobjstyle=function(node,prop)
. p" z" y0 v% A$ b& c0 G. I# K; J1 X; o {
) @1 H" Q" j/ x, J! s; S n5 E try3 l2 P J/ q) i: F* k4 N8 Z
{; w0 o' U1 B) l+ _. V8 L8 n O% F. w; U; H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 t/ P( c- F4 j1 {3 a6 v( J }0 H5 l# \4 V( {* w# `5 Z+ u
catch(e); I0 M, X4 U" \9 u- p
{( x" }. }% R# d" ]7 ?
if(debug)" C+ v- `- f6 k0 {
{
Y5 M% i- C; C alert(e.message);
- J s7 o. y4 n8 ` } y+ k3 V& i3 q8 k5 ^0 m
+ O' y8 k$ u3 r: F) X9 O
return "200";
, m* }. v2 d8 ]$ J& V! l. b6 d5 w }: I, \) D5 q( d- g9 e+ l5 _% w
}+ G# K, B2 U& q% G- ~4 z; d
/ F) Z5 K9 Z6 y* G. M9 ~ this.RemoveHide=function(page,objname)% {* i3 H/ h6 ?" b
{5 k1 j: n2 A6 o0 \
try4 o& i% }0 V6 o/ [' d) S7 U ~
{8 k' ^& N" J: x* i4 w. L$ X
var minValue=15;
2 K8 C5 o% c& Z* K# S% I7 |6 k var objs=page.getElementsByTagName(objname); 0 j; n* {3 n9 p% n
( E8 i+ M7 w) ]( X+ \2 [# I if(objs.length == 0) & @9 p; m6 m. c& x5 g& z
{
) p( a! o# M/ U6 j1 h9 W if(debug)) q- y( k6 F |+ ~) N1 R( R. s
{
( A4 Y0 a S9 _2 a+ P4 C alert("no object found!:"+objname);& i4 o- N4 w' Q4 V* q
}& g3 `- m, N% b
}1 V. E( j' C1 o% }4 W
else
5 |" e6 v' B- G) h {9 l8 y0 Z9 E, h+ y; {
8 y" c2 R m- A8 Z$ U, u) W6 j9 N for(var i=objs.length-1;i>=0;i--) ) w: f2 ~$ y" I6 ^0 I7 F0 Z- G3 Z
{
3 D; }2 j7 z/ B7 t var node=objs.item(i);
/ M! ^- E L( x$ K p4 x/ X5 h4 V
2 Y+ P% O0 |# q7 M
: m# a& k8 c) ?' w: S R' _: S if(this.getobjstyle(node,"display") == "none" ||
; c0 u8 |% r6 x this.getobjstyle(node,"visibility") =="hidden" ||
) r( o) M# L, f% N- n( W! k parseInt(this.getobjstyle(node,"font-size")) == 0)
& g2 N& L: x4 P' E {
' [- u" F) Q8 F2 y if(debug)
1 {( F! N& X5 X+ J- @ {: }) d: O, W; i- Y3 E
alert("remove invisiable!");5 N1 R2 ` O+ c& u7 i) y3 Q
}
V( b# N Z/ n9 }2 s( S% @ node.parentNode.removeChild(node);
) x+ E5 z5 E" p& V- @# q
1 \- {# l- S/ ]; i. B3 a- x }
8 t/ O7 X1 F q0 E else e# p# k9 w$ u& p
{! a% R1 c; A1 W0 k1 d) L+ O! n
if(node.parentNode)
6 f0 _& o' ~/ w' k9 \1 x) G {
9 s: b. Q# Q* Q1 n var orgNode=node;
8 I' u: L: y8 p! [$ b8 i var orgColor=this.getobjstyle(orgNode,"color"). |; X( q. ~6 T( [; F8 s H" y
var orgRGB=getRGB(orgColor); 5 Q X' t; H6 e$ b3 p0 d; N
- `7 x+ f5 l9 Z8 f
var parentNode=node.parentNode
0 b. X- k. y4 H4 c var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 @3 Z) U: p7 ~ + } N3 k0 D5 M) L% M( | {! L/ ~7 J8 A
var isLast=false;
* F) C/ f& t9 X# J + f3 ]2 B% x2 x# f7 A" ~0 g
while(parentBgColor == "transparent")
C8 e% g4 E' S, [/ J; n; S+ Y4 q( X {, i. u4 O0 a) d1 e
& {+ Z) m/ g/ ?9 ^+ }6 @! Z. |
4 U9 n0 s( o: W' d5 I if(parentNode.parentNode == null)2 j* v! o3 Y! E
{
1 I8 H) Q; y% x. [) K' N isLast=true;
* L! e2 O5 {, r* j4 O6 F! R- N break;
, @/ X* a* {: `8 y! ` M }* M3 c1 j3 j d: G+ g9 ]+ k: d/ `; L
parentNode=parentNode.parentNode;
$ S) b8 B5 ]: O$ a& E parentBgColor=this.getobjstyle(parentNode,"background-color");1 i% s" L* o& z3 {1 O
7 P9 F7 v% G6 u! O$ P: U, y# f if(parentBgColor != "transparent") : G. C0 P8 J. w# b) Z0 q9 `- m
{9 B( N1 |: c1 l: F) r+ |
break;
R+ E/ y! L% o) \+ T' q }. k/ F0 o, [; V% S1 Y
}$ W5 o: z k, } u3 p
if(isLast) ! p) h3 H7 U7 e, |: [9 x8 P5 v! j$ Z
{
1 d1 b+ ^6 K" U! |# A* u( A2 i' L if(debug)
& p! {9 R5 q* }& R {4 V O4 t1 _' Q1 I: F, c
alert("last!!");
( C5 R b7 B9 O0 w/ q8 Z* w }
" X# P# Z, _% @" B' ^' h6 D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- z. E# f5 ]' W4 r! B
{6 H3 V$ \+ O K: Z5 H8 `. [% N1 B
orgNode.parentNode.removeChild(orgNode);
/ S4 W- l( u- g" p! t( h/ j* y }
: N. u$ N: R- t+ M }; i% I, ~* A6 f2 p- f9 D- i
else
! r( l5 ?; ?) e4 d {# B% x( D& R/ ?( ^/ }8 ^+ q
if(debug)
/ {1 t6 q" _- Q. a# U. x {0 M% a9 K& h/ g2 g
alert("compare color and parent bgcolor!");/ R ]3 o6 U6 }/ H' _" x( x
}
' q# R7 v/ D) I, P" B- U, c& E parentBgRGB=getRGB(parentBgColor); b/ c5 |. x% y6 a( A! E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 Y' P) S: K2 R, q* s {
; F' v* ?; F( O1 L' N! i" A N orgNode.parentNode.removeChild(orgNode);
/ O) i! Y" E. r% M* d8 Z }! J9 ]* V6 C: r! h) u, u* I
}
, X7 A" o( q% X) | X' j }$ o# h4 c5 K8 A& U1 h
}8 Q! _5 L% X8 a. Y
}$ Y& H* Y0 K' E$ `
}9 m, j7 K2 @( w; }" A
# ], w, K3 I$ G8 F; J2 j , M% O8 A0 x' [* i+ d/ {" E6 k
var itemFrames = page.getElementsByTagName("frame");
0 z( E4 A" y! D var itemiFrames = page.getElementsByTagName("iframe");
~" d0 w, X9 G. A( O
$ f J3 E) A$ @; h var frame, iframe;
" X1 K( l2 D A" o if (itemFrames.length > 0). z% q( H* M8 ^6 A
{) Z, J7 O4 X/ _6 y, N
for (var i = 0 ; i< itemFrames.length ; i++) ! i2 o# b5 k1 \+ l1 Q& _
{
& H: G/ ?+ J3 O frame = itemFrames.contentDocument;/ a, L+ T# ?4 N; k) G
this.RemoveHide(frame,objname);
, [9 P' e9 v" O }
- u% A' V, [* l5 c, Z1 R }
* M, }* W6 q7 K$ D; o. w7 Y, | if (itemiFrames.length > 0)" O$ [( {' Z9 K* i7 |
{
5 O4 Q" C; j! X, T' A5 @5 W for (var i = 0 ; i < itemiFrames.length ; i++)
" `( \; e/ Q( a" H6 h3 Q {9 x1 h7 Q3 E0 ?) W
iframe = itemiFrames.contentDocument;6 ]9 w2 |$ S- F* [0 g8 Y/ _
this.RemoveHide(iframe,objname);
4 l8 _7 ?) |& L8 b( ^) d4 B }4 L6 E& R% {9 n* j) B, x+ P
}4 h: O2 ?& f' I6 P
}
9 D. I* U, M: {2 f1 d' G9 K; U, ?" d catch(e)0 B4 C- L! c; f7 j1 v. c* V
{5 e) H: _$ y* O
if(debug)
: J0 a7 v1 ?5 m$ U6 l {# h( }2 ]! k, `- |# t7 s
alert(e.message);
' O- x7 u7 k3 G6 c/ R& v }/ s2 m! M* `- T
}
" l" M! e- t8 j( y9 r+ u }
i7 r5 i' k s3 Y / ^$ X8 z( z, V
}; |, n. S7 E Q2 d- n+ B$ M
, y! n& j* h) c( zfunction getRGB(colorString)
6 e* e3 u% a$ w M& F9 Y- j& Z{
1 ~: _, S- ~: e' V2 n0 X2 @ var RGB = new Array;
7 n* r8 j# v* k& ^3 E. O# x3 | var tempSting=colorString.substring(4,colorString.length-1);* N, ~3 P" X$ O* x$ \! v% A
var tempArray=tempSting.split(",");- K( Z1 F0 t3 U$ L; ]
" @0 Q! x5 j$ W0 X9 o5 ^3 z RGB[0]=parseInt(tempArray[0]);- }8 s9 n& _( B# y& d; t7 ?
RGB[1]=parseInt(tempArray[1]);1 S% V! ~4 g% J2 w
RGB[2]=parseInt(tempArray[2]);1 ]4 L! w2 W8 H7 _, V8 @1 R! o
W- x+ h' ]) @ Z1 R
return RGB;
* n* k: H9 R# J. p4 F}
9 D# A% U; Y& J7 \function keys(evt)
A2 w: H/ D6 @+ K' A+ `5 z* X9 Z { 1 N# v, [# V7 W& Y6 o3 o
if(evt.ctrlKey && evt.keyCode=="81") , i; Y4 d" s: s* T4 x* X
{ ) k% G, m% D. W6 V1 O0 g
CleanHideObj.on(0,1);
# j) A# ]5 D W2 q: ^* [ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 m2 i5 w( k D; ^
8 R( r/ `. [" N1 T$ ~, H& [- N( c } . Y$ }' T z4 P# e% {9 ?/ B
} # M X! ~" y& l8 T( V/ w; U n) Q
document.addEventListener('keydown', keys, false); 4 J+ k6 C' J' h6 G" ^3 H$ A: e8 x! n
GM_registerMenuCommand ('Clean Hide',3 e& l- j, G$ l# [4 o. T
function(e){
* B" ?3 n4 Y3 `! h2 \CleanHideObj.on(0,1)
% l, q9 F- a6 U8 Ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: Q6 I9 a- J1 t8 w7 ?});
- d! P7 f) v# ^ |
评分
-
查看全部评分
|