|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& i k4 ~) f) G7 y9 v( F% V# K" V4 j( D2 Z: R5 p4 H
火狐插件,用猴子
. N" L2 e" q, A; o3 ]/ b, J& ~# _ g1 C m
var debug=false;
$ f9 F/ _# l. r1 t3 u. E" d3 o! [( s0 [var CleanHideObj=new CleanHideClass();; F A5 s* e! m' _2 B# R5 k; x: Z
U/ o% B' ]4 b4 J/ |function CleanHideClass() ! L, o# u! W! k% k% z+ C
{
% ~* l( h7 P# V8 J
% }# E- X; W6 m this.on=function(id,bMZ)
0 c x1 Q2 q9 d6 i9 A0 ^6 B {% t, h) b$ a$ o2 W
( M( F1 [$ ^" r: h' r) H6 J5 r if(id == 0)
; `& A" Z9 k, O) [# [% e {
' u/ d8 ~8 |) w( T/ | i. ? var page=/* document.getElementById("content").contentDocument */document;
& b( P5 t& {8 |: ^ this.RemoveHide(page,"span");
$ @6 s- H$ ]6 C; R4 [% F this.RemoveHide(page,"font");
# c. p; H5 U/ A/ U. u' I. T this.RemoveHide(page,"div");. \: m2 k/ b4 [ X, E
this.RemoveHide(page,"p");
/ H+ G$ r7 g" }8 l9 @
: W& d3 J! R' k; ? ? }* j/ s$ r$ _+ [ F8 ]4 V, t) |
1 S$ `/ a7 w* C
}' O5 k+ k1 j) s& O
this.getobjstyle=function(node,prop)4 Y5 h. _' k. j: N5 C% U
{) x. Y% ?; w- S8 o; |) o# }+ c1 |0 {8 p
try
; I, P6 N# H$ p) {) U" v {- |' W5 D* i" V5 k3 X
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); q2 x1 [- V2 `( n) U
}
. _( Y6 J0 Y( U; o* J4 K! F8 ] catch(e)
3 z$ A* k/ }& _/ C/ H {
3 @! J0 X4 a8 E' P if(debug)
9 E# H: _, @% z7 x {
1 s+ B0 m( q$ C0 M+ l! g" o alert(e.message);5 B8 s* d1 L7 ] U! B( s" f
}
6 z7 Y7 r1 U$ M L# M
2 p3 t9 W% y" e Q) z7 J4 Z1 R5 r return "200";
( L2 R: h; c$ C3 j# A. Y6 w }
5 @# t% A+ t. a% P }
. p6 O9 W% _2 D% r5 N9 R - d* Z1 `$ _; N1 T( B
this.RemoveHide=function(page,objname)/ E" q" U2 S& F
{' S, @. Q0 I8 q8 ]; I
try! i, N9 J8 O% {
{- B2 X. G8 i- c) ~+ d0 x
var minValue=15;8 ^% z- j$ c5 Y" @
var objs=page.getElementsByTagName(objname); ' F: j E0 t6 s4 m$ N* `
! c! e) ?+ z- F! @& @; l! S
if(objs.length == 0)
+ Q3 g) t) n. a; t0 L {
% _0 z/ ^1 A0 t" \ if(debug)
0 l( [( y0 n. g2 q4 e4 {- V {& Z) {$ s7 c: [) s5 t
alert("no object found!:"+objname);/ x& X# X8 X6 q0 m( t3 Y7 o( X/ G
}
. U" T1 o1 ^: | }
. j+ A+ K4 e0 l3 Q7 `! ]( ]0 b else: @2 b/ F5 D, ^+ P$ e6 J
{
# A" J7 s$ P" Q7 m/ a% X% s9 N( a 0 {& z" ~/ i* P
for(var i=objs.length-1;i>=0;i--) ( F3 D: p5 K1 I
{
5 `( n8 P; ^% A5 i. E6 j- y! ?& L var node=objs.item(i); % o0 N% `+ H# ?: }
. \" y. y) M2 Y2 ?# { : B/ E" {9 X4 d( e3 `/ D' X* ]& A
if(this.getobjstyle(node,"display") == "none" ||
, B6 W3 V% a6 [2 u this.getobjstyle(node,"visibility") =="hidden" ||
% w- a( q/ \/ c5 r+ `* @' k: h parseInt(this.getobjstyle(node,"font-size")) == 0)
7 B' _3 a, T" n k {
9 P, `7 T7 L, q! J9 U/ h if(debug)/ ~5 `" ]; X. T; w7 R
{
( Q) }0 `1 s; a0 g1 D9 {5 V alert("remove invisiable!");, t4 L+ e, ~& e! g1 o6 X# k' I
}
) g7 x0 t, V: W0 n node.parentNode.removeChild(node);5 N& O6 ~& ?6 h8 p4 u
6 c; U- S; N) e$ Q }! T6 v) j- |- F. n
else
; J+ u( r! R# m M {* Z [, U3 e5 J; ~. A
if(node.parentNode)
, R* K- l! d$ |3 f. D$ n {2 u$ H- S/ `0 H2 {2 R% g
var orgNode=node;
( _6 B5 l" L( ] var orgColor=this.getobjstyle(orgNode,"color")
- Z( h' p; n7 N) Z var orgRGB=getRGB(orgColor);
7 G4 B# y, ^7 O" E( U* O! ] & ^$ u% u3 ?1 T% y
var parentNode=node.parentNode
5 m6 D% c% l; x+ t; N" g$ m: } var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 p/ |( F1 n$ B: z; v, R
: h9 M" `" w3 k | var isLast=false;1 b7 v2 X- Q# p# `
- f7 u* R8 N! V7 Y' p' A+ d0 `9 ^8 n while(parentBgColor == "transparent")
) o- j* ?* j/ E L/ ]7 }" s5 P8 b4 ] {
7 k2 K2 |! \2 A' k' J' v- u6 Z$ B! { 7 C4 {, E+ e$ v/ E3 s7 l" i
0 _' l9 f# Q) T* z8 P7 X- m( y
if(parentNode.parentNode == null)6 U% M5 B4 J; X/ _
{% N( i! v4 {( _& ~
isLast=true;
; K& `+ [# U" e1 r6 y break;
) c! b6 L& h, T+ ~8 ?. x) g9 c }0 ~! ^/ R+ F) m( ^# k6 l
parentNode=parentNode.parentNode;; m& J; @7 U; y8 }& ^" H
parentBgColor=this.getobjstyle(parentNode,"background-color");/ o7 y( V7 |0 F/ p1 x' E
* t; c7 P7 R6 s5 F5 r/ m if(parentBgColor != "transparent") , y5 ^9 ]$ @& f$ y: L2 W
{
# P% v0 d$ ~- b: N$ G0 _: _/ f break;
+ T& o0 y4 S/ ?- n! B, g }# q1 k, O% u. W z5 H4 d
}9 l) _+ P5 |8 \3 |6 g% Q
if(isLast)
- v* f- _% J# o5 i* ~1 ~! U {7 s- [' }/ J6 x( r B& z
if(debug)
8 W% H3 I( _; C3 q0 q) K {, C$ p3 a5 ~/ g
alert("last!!");0 W( W( w2 e1 I: _7 T& b
}/ I) W3 N; r1 z- j4 w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 D. @! B- ~# S* k* m {
7 c, c7 ], L; M- X6 W ^7 O5 E; p orgNode.parentNode.removeChild(orgNode);
( b) D0 i6 w& L6 j9 e }6 g* j% }. |! S0 E. \' y. M
}
. N8 U6 p9 K/ O, @/ ^7 U4 X4 c8 m1 A6 k else
4 R, R7 J' U. O% `9 u0 ] {
; x W# S9 U; L7 ]* T3 V" z if(debug)
9 E" J3 q. U# w; L2 f% y9 V6 l {
. {. n f: `$ o ^" ` alert("compare color and parent bgcolor!");/ S. B9 V, b# c* l- ^: ?4 ~
}
3 Y3 F. z; P4 Q parentBgRGB=getRGB(parentBgColor);
( l$ E6 p! U( q9 b7 | if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' Y1 C7 t5 r! E8 ^0 k! `
{5 `- V; I1 @- s, e7 O- T, Q
orgNode.parentNode.removeChild(orgNode);
8 z- _6 a6 d& ~6 m) A6 P }
; H# u! A" F" D% d }- q1 J+ w" M2 q# P. a. _0 ^
}
8 d. `9 f. g$ I. X* ], C }
[# t* Y- ^9 t7 y5 X/ [ }
* l B: k* Y: V+ d5 G8 b }$ R% v7 i" Z) |: f3 @. u
4 q0 \; Y0 v! e + Z. e: e3 z( N& O7 `. u' e
var itemFrames = page.getElementsByTagName("frame");
. R# f/ V, q- F/ h1 }+ D: |& r8 Q. Q var itemiFrames = page.getElementsByTagName("iframe");
! H7 q9 J3 ?/ V1 V' i
8 v' k* ]0 s# k: P y K; @ var frame, iframe;& e: @0 t* z' t. r4 N3 a0 \
if (itemFrames.length > 0)
9 N! g2 y9 @$ p" R! S {
2 m J& M1 s3 s3 N3 R" ] for (var i = 0 ; i< itemFrames.length ; i++) , I7 G3 }0 I- `* ^! C, a5 X9 w
{5 G( g; @' Z8 K% v: }. ]$ o5 f5 b
frame = itemFrames.contentDocument;7 [( _) R% a, i& N' T# c
this.RemoveHide(frame,objname);
8 [; x7 ~: y, E" l! N6 E8 R }. d# W. x9 G; ] x1 m) p( B4 J
}
8 F# z/ W* ~! M' b; d0 ] if (itemiFrames.length > 0)$ d1 F2 ~- o8 p7 J5 ^7 ^
{: x! `& D" t# c% _0 D9 m! G
for (var i = 0 ; i < itemiFrames.length ; i++) 0 a- d- M* e+ }
{
$ h1 ~* D5 d2 |0 ] iframe = itemiFrames.contentDocument;
( _; }) m1 e: Q9 O. g4 s1 E0 S this.RemoveHide(iframe,objname);
% c1 {/ }3 p9 L) P: x% S }
( m; r" a3 z" V }
$ I) L! l1 ?& g# P2 a- O& o }
% t4 V2 B7 ^" u catch(e)
?# z ?1 {+ y) u6 N {
, P: w8 K& ~: ?0 N N1 H if(debug)
( C! B# h1 A+ x' e' ^ {
' ]/ ?- e3 n% Z6 v2 L( ^( L alert(e.message);# P4 a" p2 R2 T/ @& g
}
1 `5 h; g6 d' }% w6 L }6 f; K1 C+ j' s3 y
}+ {" _( F8 h' Y4 V0 R' ?
1 G/ S7 p- {7 f# M m6 R4 z
}# j: t/ U# ~1 y! ?$ h" E
$ Z# q# L+ q) ^* ~0 f. {$ d
function getRGB(colorString)$ A/ b+ I9 j5 x2 ? S" q/ k
{
3 h# D7 G7 L, z! ` var RGB = new Array;9 W3 K9 t0 ^/ w) F
var tempSting=colorString.substring(4,colorString.length-1);) j; Y4 j5 [$ R: h% A N
var tempArray=tempSting.split(",");1 I8 Q8 M' ]& a
% Y" K7 |8 z0 A: m
RGB[0]=parseInt(tempArray[0]);0 v' [3 u) ~* O( @) ^
RGB[1]=parseInt(tempArray[1]);
0 p" F: L$ [6 ~( r- s; z RGB[2]=parseInt(tempArray[2]);
6 O& x/ U1 G$ r9 X/ G/ t+ F9 b
. q1 J6 I5 \ ~' P* [0 E return RGB;) ^$ A% L7 C' K, t; O" S
}
6 h9 @% z) b' p# n/ k! Y* z2 {function keys(evt)
2 E3 x' l) e, l; j5 R7 H {
6 o5 z n$ m- t, W5 ] if(evt.ctrlKey && evt.keyCode=="81") 6 t5 b* B, x- I; t
{ % f- e% L( p& _ z5 S/ B' u; @
CleanHideObj.on(0,1);* G) ^% O( X3 V5 {9 S+ ]+ s0 f/ S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 e6 [0 f. x' F
Q* }* n X) Q. X& \0 W }
6 z2 Q4 S% N: Q Q } ( U3 ~" p2 v4 }- {: Q
document.addEventListener('keydown', keys, false); , z2 q7 H2 M. d; R! [5 Z2 X
GM_registerMenuCommand ('Clean Hide',
. Y7 b' ?3 ~7 C% e4 H& a. R, W' H; vfunction(e){: I# V0 F# z( D
CleanHideObj.on(0,1). y8 i7 T8 f& g& v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ q u- _5 d. z: W1 G- _; X% }
});$ T' P' [0 S7 ], O! W4 M {8 U
|
评分
-
查看全部评分
|