|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ i3 e% s$ r8 ~0 U. b3 n: C+ t7 h2 X: `# H7 x- L, K
火狐插件,用猴子
5 n. Q) o \5 g* m1 z
& |* z! g3 C0 D; Yvar debug=false;
! g$ Z" V+ F0 W2 R- T' tvar CleanHideObj=new CleanHideClass();
: K5 D9 ?# Q0 U U
+ r$ o" u# N. M. g( m2 A( Xfunction CleanHideClass()
0 l! H! W5 q2 \# L, P2 F{ 8 T3 A4 h! _$ W( H: O! X6 u1 v
* y/ o" _) | N, ?/ I! k% X this.on=function(id,bMZ)3 P$ }9 {. O, H! i8 d% \
{- [. G! y5 R( U2 m- t( \; c" i: ]
1 J1 P: ~ p- a. Z if(id == 0)
6 j0 u ]- l( t: g {, P1 r. ]* M C# s5 {& k+ ]
var page=/* document.getElementById("content").contentDocument */document; * ]3 l* P! g& C i3 d
this.RemoveHide(page,"span");; ]7 i' C9 X: O0 S0 X
this.RemoveHide(page,"font");) ~$ w; D0 o# a& L
this.RemoveHide(page,"div");6 d- }" n& Z* L6 z' U4 I* s
this.RemoveHide(page,"p");
* A! q3 Q9 H# F, F; ] * k3 Q' Q8 `: Q6 g! Y* e
} ]# ]! M. Y" L, f3 m
$ N) }! ]! ]2 t" G& f: l
}% Y4 \% [9 V2 S* K
this.getobjstyle=function(node,prop)5 Y3 E( M+ {6 ~: \. K
{
/ R1 w. Y. r+ P try+ } j9 R9 ^& Z( w' L/ P* _
{
# b" j1 W% p7 l8 m return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ }# P. W+ A. w. g7 A* p w }
' B, @/ q; ], d& D- ~) w. Y catch(e)3 k2 |8 C, _1 y% U0 G. e1 n" g/ p
{& s- z' k; B, G7 `
if(debug)
6 e* c( F7 a, m6 ^5 y$ d9 l4 @: N6 { {
+ {! I% @7 F+ p x5 D alert(e.message);& F1 b$ e) j, f
}# a1 ?: R4 ^. V% N# z/ g9 _9 ~
' P: }$ {% s* K" f; }, ~( O return "200";
' _# @/ R* G ` }
& Z( j; v5 f/ A4 K1 P; k1 y }8 u$ v) _$ |/ f& n A0 T/ b
4 Z; _8 ]# }7 c7 t( m" M. F5 p this.RemoveHide=function(page,objname)) c5 o5 x+ L5 @% P) i
{. M6 V$ c# X0 Q; x
try
8 Z+ d! S j# C% S4 m3 n {
4 h0 Q. G: m0 ~ var minValue=15;
$ |) B# [5 B- Z0 A/ y; G$ ? var objs=page.getElementsByTagName(objname); 0 ^4 \8 a% c+ v- Z* j/ l, A
& u1 o) _" J* G0 K! M3 V
if(objs.length == 0) 9 f( g' A8 k: I5 X4 C, n
{
! b: |5 `% |+ V7 @ if(debug)
% Y+ x. t/ G* y8 f' I# M9 H {
) M9 H, [" V0 C: R& j) e alert("no object found!:"+objname);
: ~, K9 @; r1 i4 ~ }7 R! d% d* n5 `& E4 M+ z
}
7 [% h8 Y) ~# Q6 b else
8 Q' {% I/ _2 [" o2 o1 [ {
3 G) E* O1 m8 V+ [( F* D 4 e3 D, A0 ~- q& { `8 d
for(var i=objs.length-1;i>=0;i--)
2 q0 ?# q' q/ X2 J- X' q: S {
+ ^" Z6 ~) K( C3 g6 A* B) V var node=objs.item(i); % F" n( H6 D7 Q
+ D, m' I- u- M0 b( u! {
$ G& R1 u2 R9 W7 d2 Z. W) j
if(this.getobjstyle(node,"display") == "none" ||, R- p ?( }9 f# r, c8 N% n3 Y! `
this.getobjstyle(node,"visibility") =="hidden" ||
7 k& c0 j* R+ u* a' ^ parseInt(this.getobjstyle(node,"font-size")) == 0)
) c) M7 b' {/ j! } {0 h& B8 ]+ u( C+ H Y
if(debug)
9 a" h" u* q! s+ w$ K, D* l! p6 z {9 L5 I9 Z m7 p
alert("remove invisiable!");$ V3 N2 C% c# e1 V' H% @/ e$ P6 g
}8 ?7 a1 y+ K& Y$ p; X
node.parentNode.removeChild(node);8 m+ R. P. H s5 C* |$ P
3 x% `: W' Y* z5 h2 E* o4 z }
( W3 a5 ?. y% T else * N8 `& T! @5 s( p( t
{. S! j: V0 P2 }4 i0 H( F
if(node.parentNode) . p: T& L2 P& s" B) S; s
{
: K4 @! i: z. h1 }0 h/ ]( y) U1 ~ var orgNode=node;
# D9 k+ b k; H U var orgColor=this.getobjstyle(orgNode,"color")
. D$ `% |0 Z, b var orgRGB=getRGB(orgColor); / Q ]/ m9 m/ G, W) \: l
2 f# {/ K5 A2 S& D8 u
var parentNode=node.parentNode E$ x/ ^) S8 `# I
var parentBgColor=this.getobjstyle(parentNode,"background-color");! j# W# T4 k- f) c- g; x
8 Q9 M( T$ D. q1 Z: F3 M var isLast=false;
$ @" F% j1 e$ s; C8 f
, v# V4 b& I2 } while(parentBgColor == "transparent") ; [3 B- X$ L) q# w+ W7 U0 f) [
{
7 s0 r2 e4 k* W6 W6 P U; @/ C8 ^0 A 2 l) f# v8 W: f, E7 l* Y
* C" d7 W1 f6 T if(parentNode.parentNode == null). O( b! a: g; h+ p/ o& z! f( y" O
{
{3 ~* q6 U9 N! j8 ?; F isLast=true; g) x3 i2 P. X
break;, e, j$ H! ]" c. \
}
7 \/ q9 Q1 Q9 |1 G& g" y parentNode=parentNode.parentNode;& F1 O% k. A2 `/ h) L
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ v9 ]* [2 e8 v
6 g+ K' q; R6 ], T9 w; |+ I if(parentBgColor != "transparent") + o( U9 i% v- J+ `" {/ |0 X% w v: i
{" T. n _6 { m3 D1 o6 o' y2 S
break;" K" A7 E; d6 z( u
}) u2 ~0 O9 m: x' d
}# ^- A4 o, Q0 y v. d6 x
if(isLast) 2 B. i* J; T. W x2 `
{
& \" x0 m0 J! ^; D0 P if(debug)% D9 U- I3 W5 \$ M7 W7 ]
{
% r, J# A6 Y6 H V+ V1 L( ]% O alert("last!!");0 Q0 z6 K0 |' R9 _2 y8 A& n
}5 m+ e/ ~) Q6 ?# M @5 c. J) |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, S) j; c" K6 A/ z! { {
5 J7 j# X' V; o1 D2 _ orgNode.parentNode.removeChild(orgNode); 8 p$ S& F/ X6 T/ S
}5 Y. @; p* N* P9 n* w1 n5 ^3 w
}
: J: j, y$ p8 A& E else
& x! _# _& r2 V" Q( n, S: x {% C" o) N; Z" F4 y/ A
if(debug): ?, X2 R# x W$ D
{
3 F5 g/ i2 m! @! W- s* ^0 G alert("compare color and parent bgcolor!");
$ n- g1 U5 q* N& R2 [% M- j }
" j7 i# k/ ~ ^1 W' |! z7 K# N parentBgRGB=getRGB(parentBgColor);! D7 x `9 D& T7 J$ z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. o% v9 n) E8 p2 k( n* i {
9 U! S! [/ {7 [0 q orgNode.parentNode.removeChild(orgNode); " c- e- G0 U9 y
}/ V/ _9 q( [& n$ w
}
" T9 W8 c: S4 g' M; L }
% W8 k# b3 M2 i# | }
% E" G' ?. T! Z4 i }
0 C2 }' |/ ]& S |/ g }
# B' f$ O5 Q" o, n- P/ i
- o- g/ w! U5 M8 J) x9 D ? 2 r5 y( J6 e. ]' e) k1 }0 x! m
var itemFrames = page.getElementsByTagName("frame");: a: R, B+ r5 t+ y9 J, e' W5 T
var itemiFrames = page.getElementsByTagName("iframe");9 ~! `4 P' u& N% ~
0 a% L3 m# u4 W7 @) w! r y/ ` var frame, iframe;
; e$ ]7 A8 g( A6 g8 t" ~ O( G if (itemFrames.length > 0)& n. f7 G8 T% H$ t' U# f" h. z- J
{! V- p: z7 d8 J
for (var i = 0 ; i< itemFrames.length ; i++) 0 g5 e7 r. m# X6 Q! V; }+ Q
{; `' s, R0 x# a6 S
frame = itemFrames.contentDocument;4 L0 o ~1 _/ x. g7 i2 N
this.RemoveHide(frame,objname); 9 D- R }- s- F
}4 }3 b3 K1 P% j
}
/ O) i' P& h& F, `2 f ` if (itemiFrames.length > 0): R W" Q9 w0 W6 Z: [
{
7 n7 a) Z3 i* {' i; c# n for (var i = 0 ; i < itemiFrames.length ; i++) , F6 ^' |# Z4 f' B% v, Q+ R
{4 `. t0 h2 g8 L! ] d
iframe = itemiFrames.contentDocument;8 ]( H# J( U3 @! ?, y' V
this.RemoveHide(iframe,objname);
+ b9 E' L* a1 i. ]% O0 G4 C }* p5 n" `: o, \+ _" f' v" N
}
/ D' w# S/ D3 b; `) x; `$ q/ f }. m- b9 F* w7 p) [
catch(e)4 m8 d: f; w$ E5 S5 }
{
1 T3 k4 I% q+ B( f+ g if(debug)) G' i7 R d, P1 V; G# N, o4 b
{
, x7 x! D' `& y( u alert(e.message);0 u) M9 ~+ Q' z2 f0 V6 J8 _
}7 N0 q3 E. c. Y; a. e+ C$ W k
}
8 ?& a3 K1 L1 v% u q }! Y# i; W' c7 C6 p
! n; e- [* b z! Z. M- ^" ~}
' }. x5 k' g' E8 ?. T& t; y
4 o% H8 @( D* R# Ofunction getRGB(colorString)
c' @2 T( T: K{+ ?3 n# _+ L/ y
var RGB = new Array;% X: I0 N! X |, J
var tempSting=colorString.substring(4,colorString.length-1);
+ B; `* ?! Z9 g9 H var tempArray=tempSting.split(",");
( j( b" W3 {$ T9 ?$ o6 h# m9 N3 N' K9 G, T* U$ ?- U2 ~
RGB[0]=parseInt(tempArray[0]);( N7 H- ?6 z) k6 L8 v
RGB[1]=parseInt(tempArray[1]);
* t: |1 ?& P8 {: m! b RGB[2]=parseInt(tempArray[2]);
) l& O& g4 V+ E: R0 u
: B3 N3 |& s# f3 L% T5 R/ g5 ~ return RGB;) Y3 d' Z v7 o) c
}- ~* M+ w) n, g8 Q I- W3 W3 _
function keys(evt)
4 c" z0 [+ h4 W/ |3 c$ P { ( p% ~% r' c. Y" \
if(evt.ctrlKey && evt.keyCode=="81")
V# H8 E5 w5 s% S* `' q& y# j {
1 @* e& F! j* x4 l5 p+ {5 {$ Q y! X CleanHideObj.on(0,1);
* R. s+ ?) _; c7 o. o alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) E+ T; r& C Q2 X
0 U% I/ p5 B# I" ]9 L& P2 S } 3 R' o8 T& F- T8 i i! ]
} 8 `. }7 ~. X/ `, T0 |
document.addEventListener('keydown', keys, false); 2 j1 B( J! `* D& f' S
GM_registerMenuCommand ('Clean Hide',
. `! q$ ~% n# R! H {function(e){
! L; v2 t( U% O& v2 _CleanHideObj.on(0,1): @. Z3 l0 R# O# K4 Y$ y! l) g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");. {: {; a+ @2 n, |4 n* d2 a
});
2 g0 x3 w d$ c& p! L |
评分
-
查看全部评分
|