|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, g4 u1 ~. W G3 U9 T( q9 _+ e$ L& I; _
火狐插件,用猴子
k3 n4 H$ ]5 X Q2 q! o; Y8 H1 A0 d
var debug=false;
% x/ t% E8 Z* Z3 Nvar CleanHideObj=new CleanHideClass();& M4 t9 w3 s, S3 F/ G( W
6 u5 |3 j9 i9 }9 a# ifunction CleanHideClass()
/ `/ S; x, _/ U- j0 {{ + |; X$ o2 J' l& x4 X# [* x; F2 J
/ S( B. U4 n. s9 W
this.on=function(id,bMZ)+ c; F. I, h6 ~! T7 j* r
{. [1 ^( y8 I' T( n) ]! W+ l
" ]* ~' g M0 ~) W N6 d3 g
if(id == 0)
" t% Y9 z V g; V. x {/ [5 ^+ H' N+ D) l0 d* D
var page=/* document.getElementById("content").contentDocument */document;
* i/ u9 b0 n+ Y this.RemoveHide(page,"span");
3 A- @8 u7 {- b- I- _' a this.RemoveHide(page,"font");- Z3 e: i, v( z6 w7 |6 _
this.RemoveHide(page,"div");6 X* X' |/ D: s/ i: y: K# T' C1 f
this.RemoveHide(page,"p");0 Y% z. H! o" a6 G5 V% I$ `
9 N5 y* v7 v: K& Y8 X" y
}: f& f* H0 c2 x \6 Z
( g$ L- B% f; D( m
}% b' V; h& j% e" B+ S/ e7 w, ^
this.getobjstyle=function(node,prop)7 v" j0 V3 G4 p( D6 m* X: n/ X* r
{- L2 j3 {1 \( z4 N
try
0 w* b1 N: ~, E' |+ E1 a {
) K, b6 d$ {! X3 A& T5 w" v% r' H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; q. O" P9 U4 y8 z% u- H3 K. | }6 V6 y2 N& D& M. H ^# _ M
catch(e)
+ O2 d/ }4 A/ _9 H5 }: ^0 ^' f {
- I% M4 u1 y* e& s. [ if(debug)- e! [3 _1 R! T+ t7 E
{
/ h& ]( G1 e0 T. U2 |9 V alert(e.message);, s3 m# q6 O& f" L3 A
}
* ?# d+ z# L' z* f1 A8 `* c! O9 z& ^
4 }; Z! H4 q8 O: @8 Q$ e+ x return "200";, M! [' c" x9 O- |( L" e2 L7 ?
} c5 j. F" X" @
}2 Q1 R8 C2 o1 ^/ |, B
3 }" z, Q( i: R s& f O
this.RemoveHide=function(page,objname)
2 z/ }1 }. h$ b( x+ h. \ {/ F6 E; V" |) U" `& ~
try
: L8 ~5 Y+ m, [" v0 v {, R7 ?- P% G4 \( g. {
var minValue=15;7 v) N, z6 M/ c5 E! S- M
var objs=page.getElementsByTagName(objname); ) |: U6 J% @* _- ^+ x* @ q
d( B7 F3 [4 T# E+ g
if(objs.length == 0)
" F7 L/ ~: k- Z {
% D% @; Y& ?( K. M if(debug)& q* Z, J8 @8 U4 d- s/ M+ a D
{
! I3 _( R8 T6 x% o6 V" r alert("no object found!:"+objname);! S* n* c! u. c/ V) i
}
+ v3 q8 Y/ t$ M! ?: u }
" Y1 C3 l; M0 O& V. d) ~ else
6 @8 C0 x8 f. U' g {/ L0 o4 q5 m( y( z \& ? H
2 `1 ^( B7 I1 \0 i" g for(var i=objs.length-1;i>=0;i--)
- C: }' k9 R: P1 @9 g: g; Y* e {
7 V) R; h% k2 X/ d& F5 ~# p8 w2 d var node=objs.item(i); & }% h1 A0 S8 X/ `* [1 y( E
0 Y8 t( c8 d2 F( X
6 P: i) O% | N) m* @ if(this.getobjstyle(node,"display") == "none" ||/ i1 S" a" X/ G- }$ M
this.getobjstyle(node,"visibility") =="hidden" ||
) g0 w' p0 z I' ` parseInt(this.getobjstyle(node,"font-size")) == 0) ! R1 p! Y' p' U! n: R, M: O N- Y
{5 B" ~1 N1 `2 B) t2 x1 {* j
if(debug)
* [4 e- m( O3 X0 E {% D2 ?8 U$ b9 P& Y4 M. v! ^
alert("remove invisiable!");6 }4 E4 }, h* F' ?
}$ b4 U3 x E# Y- C
node.parentNode.removeChild(node);
4 \- A t0 t6 C- G2 J2 ^3 J# o " ` Z" K# c1 y' ]2 y3 h# ~
}
7 H. V7 A8 N% t& g2 f0 y else % [3 ]4 P1 m0 Z& V
{8 K! @# l! V& K2 s, |1 g
if(node.parentNode) 7 L+ L3 ?9 B& W# u8 X" p7 t. ?
{8 U) T5 ~9 M( {/ S0 ?
var orgNode=node; r& b& f. \7 h2 m/ X- D/ K z
var orgColor=this.getobjstyle(orgNode,"color")
8 L* i; o" c1 D2 C" h$ K var orgRGB=getRGB(orgColor);
0 }4 j; `7 L9 p, C8 [3 {
! W/ n: s( K4 f! J, m1 V1 {4 C var parentNode=node.parentNode
1 L N% l [* ^9 `6 x8 B var parentBgColor=this.getobjstyle(parentNode,"background-color");
% a6 [. q6 K& [* A' U8 ^ ) I) X" {# {; J
var isLast=false;
0 r* a: p8 c& C9 M( P3 r" n 9 |& o5 v# m) m" r) u7 l0 k' q
while(parentBgColor == "transparent") 9 {+ S& Q% @" p. }- |
{
4 `/ Z- Q5 X' ] \" h 8 Y, t" }- s$ b6 u7 M2 Y$ s
: c) [1 c8 [- q( J: n
if(parentNode.parentNode == null)
: T3 ~. i8 l( r7 A {
! _: Q! ], |6 @- u& Z isLast=true;
6 R1 E) Q0 a" C- M! C6 C break;
o7 C- r+ w/ _, M4 j" v% U* } }7 Z: y2 s2 w! [2 v- @6 P
parentNode=parentNode.parentNode;
. @4 Y# x7 S4 {) `6 y parentBgColor=this.getobjstyle(parentNode,"background-color");3 y- W& n, i7 d
) s; T/ h% l3 T2 Y% M" u! B0 P5 u: w
if(parentBgColor != "transparent") 3 u# j S# d0 N {- P" e; X# F' u
{7 k2 ]. s) ^( R* e* D
break;
$ `; h7 } n8 `4 a& W }+ T# _& W1 f+ B+ C/ E5 h4 z
}9 |7 N% r. g! o* L e
if(isLast)
$ _6 U' h( t; M. P2 p+ m" x9 v {5 \+ l9 J! L! Y
if(debug)
W- _- |, V& c- h4 t# I- c! B {- h, s/ }. u; N: r' U0 t. d: k& e4 ]+ ~
alert("last!!");% z6 s( H( ?! b( J
}4 ] E$ Y- @4 U. j- Q8 x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! R) I5 \/ [( ~6 ?1 O) k; e. ` {
3 V% s4 {( V# j) s; k0 l orgNode.parentNode.removeChild(orgNode);
7 G& f4 D) F2 u: k7 O3 ` }
2 I6 I; ?7 z" K5 D) ] }
/ e/ s, X# D: ^+ Q; l' _ else" x7 d* N) f( e' E5 ]
{9 N" K* c ?* p( }# m+ v0 u4 Z
if(debug)
4 r: {7 N9 l, |6 o, U6 O# a5 B {
* H- N+ R, @+ F% G$ { alert("compare color and parent bgcolor!");
3 |2 W( h1 i2 O6 y' X }: \) V. L3 |/ r! k, S
parentBgRGB=getRGB(parentBgColor);, W7 v* N- j7 H O5 a: G. O
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' y1 X M7 p1 \( w! n! |
{" X) x4 P6 c* {$ I: c
orgNode.parentNode.removeChild(orgNode); $ T! e+ A6 ]& W; A6 f: N2 m
}# l7 O# `% A i( P% p1 p# a( H
}
: z" y; k: h- C0 X1 O+ p" T }
+ b! |8 e7 _5 r. f; l/ M1 o4 t }
5 ^ ?& U, L# Z) I7 Y( R8 s1 O4 ?+ P" i/ X }
. s# \% O/ ^$ V' J ]3 e6 B3 X }) P* b* f8 g* D+ u( k4 s
% S5 a2 l) c* g# }. G0 c' U8 P
) Y8 S% H" e% O6 V8 u
var itemFrames = page.getElementsByTagName("frame");
5 B1 O: K5 h$ W4 x: K0 G var itemiFrames = page.getElementsByTagName("iframe");! U7 q: V6 ^& }( U
$ J; Z1 T+ ^. Q* L( E' N
var frame, iframe;
. D# s8 w/ C" A) Q if (itemFrames.length > 0)! b8 d: ]0 T9 C5 Y. m
{
* Y' O; J8 R6 b# M for (var i = 0 ; i< itemFrames.length ; i++) + g, E- l1 @5 m7 n
{. P/ _3 c0 `2 r, X! J6 G
frame = itemFrames.contentDocument;1 |) u4 z/ K; d/ u) x
this.RemoveHide(frame,objname); * `* z! j* L) F; X) ~7 o* D
}
/ Q& s/ B1 i3 o8 h: h0 J }
7 G( c: \: B7 @. o8 m k2 j, z if (itemiFrames.length > 0)
- b* c! k0 ~* a4 n0 U9 D {
) J" r4 y$ E! n1 @ for (var i = 0 ; i < itemiFrames.length ; i++) ) }* K3 I9 d- b. b/ i
{+ G; d7 i x. s, a
iframe = itemiFrames.contentDocument;
+ |2 E* T7 s2 k5 W1 \0 U this.RemoveHide(iframe,objname);
2 e! r3 n0 H8 f% c& `5 p }
8 }) x( q" e5 g }
8 h( {! G+ W% m( h# i0 C7 X. G }! ?2 l: A- w) H! Z/ ~
catch(e); c5 z |& z1 Y, _- X) F0 s
{" N' Z9 d7 |) ], Z1 d! I" K
if(debug)
6 d8 z* W. D0 i) G5 q/ N {
! f+ S, l$ g4 x) m7 \+ k3 m1 C alert(e.message);( W1 }. s' y! c) W* P
}2 h% g% V2 P" h( f& H
}
% y f$ g6 q+ N1 r, c }
- t- e6 v: W$ I; J % \' G) g$ _6 V i' z
}
7 _- Y! B) Y" r6 l4 o0 v& T3 j% Y: e
0 ]$ U( g3 ?$ afunction getRGB(colorString)
2 y4 f: Y$ z. ]{6 i t# H, ~$ N2 V' X
var RGB = new Array;
, G: ~+ Z: a; a% ~$ w6 n8 k; k var tempSting=colorString.substring(4,colorString.length-1);
& H C% y, n+ U8 F- T6 m var tempArray=tempSting.split(",");/ K9 l8 C1 I. A5 f G) ^
* N0 V, U& F7 v RGB[0]=parseInt(tempArray[0]);
% ?0 i+ w3 @# F0 }/ L' k( V RGB[1]=parseInt(tempArray[1]);: }! i; Y" k. [: H* D
RGB[2]=parseInt(tempArray[2]);
3 a" T' h3 @$ M# l) J
4 X2 }" u' N# f, K' b return RGB;
9 u/ l/ p& E* {) l; @0 y; H) c4 I}# v- H7 |3 N1 I; h
function keys(evt) ! Y+ M3 q% p* o: j# F3 E
{ ; V- p, b- \( L* C1 V
if(evt.ctrlKey && evt.keyCode=="81") ! T9 H3 a* Y7 E9 j9 a0 L- C
{
7 I! T) ~' \+ Z1 X P CleanHideObj.on(0,1);- j% H9 k) X+ X& e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ |, m2 F2 }8 h7 W # x4 N* B% N0 g6 \8 c4 \
} % O* M. H; g# E1 {2 l) Q" j
}
2 O# u6 k5 c4 xdocument.addEventListener('keydown', keys, false); ; E) l/ l# f1 b% Y, L5 f# i
GM_registerMenuCommand ('Clean Hide',3 Y5 o4 P8 B( x4 w# g4 X
function(e){
3 |& a& f- a/ j/ J7 ~) z8 x" `9 qCleanHideObj.on(0,1)
- r4 x3 j3 |9 R; b% a) f* Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 P2 `! [/ O# @0 \- l});
8 _# H/ b5 t' h( X* ~7 ~) F- { |
评分
-
查看全部评分
|