|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 K% t& ]; R0 ]9 ?
/ ~* H' l: y! }+ O; ?- i7 D- t! u
火狐插件,用猴子& W, n0 ~% O+ k" c
! y) N* @) M+ `& ~( A" ^0 h+ x l
var debug=false; 5 ]8 q; _3 K, M p/ u& k
var CleanHideObj=new CleanHideClass();
9 o* t- ~; b5 C2 `2 x, ~ O( O+ o: K: H: O+ h F( i' r: _
function CleanHideClass() 3 @1 ?8 p0 v% y
{ , j1 t* b: ]' x, T: s
" P, S) s7 Y0 f# t3 _
this.on=function(id,bMZ)
" D7 ~, K0 V6 ~' @ {# f" j8 e% P. q& v6 d9 R
- z$ n$ V2 e$ Z" `2 ~( L
if(id == 0)5 U5 ~: O. d8 l, _
{! N4 r3 C1 c/ E: x0 `, V; C
var page=/* document.getElementById("content").contentDocument */document; 8 h; Q, O3 G2 y9 W. ~) y$ W. j
this.RemoveHide(page,"span");
' w" Y: @% ~: [) o this.RemoveHide(page,"font"); U: E* e7 e* |4 o9 ^1 N
this.RemoveHide(page,"div");
- x; {2 J5 j5 A this.RemoveHide(page,"p");% D& \! l l6 a7 u+ R' t/ O2 B* D
& g. |8 i2 A1 _
}) s5 t5 j$ X6 c, P8 |' g
2 \3 F" x O* y3 e/ z }' q9 ^" ^, P2 e) d2 p
this.getobjstyle=function(node,prop) R A5 S& p7 e
{
" j$ K6 m' y7 q' A try0 g# g" M& _4 D3 R
{
+ ?5 I7 G K0 R! `1 M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* A7 `9 A* v- L; x9 }( }7 a
}/ P( R" k# G7 j
catch(e)% E& y( k |! v6 h
{" K/ J% Z0 Y) ]0 z" g' ~1 \
if(debug)
0 ]( r' B p0 Q# B! C {
9 w# |$ P& {) O alert(e.message);
' m' j8 L5 S# V2 ^ }
' r$ y ^/ E. f / i0 R1 p3 x" N" n6 Q( H8 ~7 R$ D% {
return "200";
! t2 x; w/ ]& W+ {" T }! d. S Y- g/ R& Z
}2 D, z' k7 J8 m
# b, n5 r0 ^ U
this.RemoveHide=function(page,objname)
% b: f& Z# E: r e# }: i' F5 c# V {5 O' G2 B# s0 Z3 {+ F( O
try
3 N, p- q% G9 O% @2 B {+ D: y) B) n1 m/ T+ u
var minValue=15;
! b' j- q: U# _8 o var objs=page.getElementsByTagName(objname); 2 _; \. b% n9 V6 S4 @2 X
" J% e; J8 A! b: j- q
if(objs.length == 0) 0 c! `" J# _% y' T4 R+ ?' G
{# t1 e! \7 y4 o9 {
if(debug)
; T/ o# K& U0 G6 d# a s {# n }* D% i" z' q" f9 W9 ^
alert("no object found!:"+objname);
. ~$ J* X: {9 l. y: S5 N& l6 K4 [ }
! ?" T* P" D2 B3 C& W* v$ s }
. R; i) h% q. I8 V+ P else
# |: @$ |% H& `6 P8 K C {1 W+ {! T; i1 B J3 {
/ G+ J! e4 B: I7 i for(var i=objs.length-1;i>=0;i--)
- D( D- V& c& h) s {! P0 w! t8 t' P
var node=objs.item(i);
$ M8 m( n6 N, s0 ^9 _* O
7 C% T: j( Y6 s5 f7 s. o ' M; k, A$ Q! s. Y; | d8 T+ X
if(this.getobjstyle(node,"display") == "none" ||' W1 _" c$ L3 J f7 g+ E% x
this.getobjstyle(node,"visibility") =="hidden" ||' D7 |8 q9 x' L6 d' ?1 p
parseInt(this.getobjstyle(node,"font-size")) == 0)
j ?! e4 a3 n* V& d E$ K9 n S1 X9 H {
* q, D3 j, Q3 v+ a, K$ X N; \ if(debug)' q" h, L) i7 |8 h
{
3 B8 U) x6 e4 j( _ alert("remove invisiable!");# s! Y, n. [2 l2 ^9 m
}
6 }5 e! a0 j1 l2 F# [( ], ? node.parentNode.removeChild(node);! N# [3 S2 O. [6 u7 [ B+ P: D+ q
9 |, ^- v+ o4 m' v7 x }
1 z& }! U' f+ T' K7 l( G else
0 }3 T! n! S) q0 J1 S9 `( M! V {- N( f; o- C. G$ h. t+ P" e, O
if(node.parentNode) 0 [# f, e6 \* M( R: K( N+ y4 h
{0 u" n) T w" {
var orgNode=node;
% Z- g5 T/ b' r- }. p4 b var orgColor=this.getobjstyle(orgNode,"color")
# Y) y8 M w* Y G0 G! h var orgRGB=getRGB(orgColor); ; \+ j: ]. l) F6 g4 N' `! w
+ B: p& ?( q0 v, h# z1 ~ var parentNode=node.parentNode( g3 K. I+ w: t' H7 K1 ?' l6 N2 u
var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 J4 ` e3 N) W( y: }# U+ ]
' Y' \8 r/ F5 e var isLast=false;
5 o/ @# x6 n7 e
' I& `, s9 X4 c( w6 C while(parentBgColor == "transparent")
4 K/ o% `6 F; }0 m, c { ^6 M1 j3 ~$ p! D+ Z+ Y) |
" f$ ]/ V) S$ T. b) v: R
' Q3 {: j1 Z1 F o+ Q, \ if(parentNode.parentNode == null)/ v0 i- e; E9 L% O
{. p6 z$ r0 {5 O, B
isLast=true;8 E( o; k& S: d E( ?. Q' V* B! q
break;$ k# v* [ T- E8 \' A) p. z
}
( R) C% H8 i- S) T, V. y- i( P parentNode=parentNode.parentNode;
; o7 L: y1 E ] parentBgColor=this.getobjstyle(parentNode,"background-color");% U' W# L g' X* O, S( a
, r2 _& ~0 p6 k) s6 x) J if(parentBgColor != "transparent") / ]/ w! c, j1 f+ I4 P
{
# H$ x/ y9 ^2 t c" Z3 o break;
' m: y$ K0 y( b, [0 Q }
/ |, q- M8 B y; g }) O' o2 b$ u0 e h3 C& E6 ~0 n
if(isLast)
- q. y; }) H e6 x" W6 _; t {
, C9 C% o& d$ h1 s6 E if(debug)+ B7 u4 Y3 a7 F6 C1 d9 ^
{2 c$ y) D$ y+ U! t# a/ U3 e
alert("last!!");1 p, }- J' l1 \5 ` w8 S
}+ ?+ W o+ w) Q3 E m9 i& D
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" ]0 b. k5 `6 G4 e$ r {4 d4 V8 }. k) Z) h0 }8 F: \
orgNode.parentNode.removeChild(orgNode);
3 [) e0 z# M4 @2 k2 y5 G }
8 L P7 Q% ]( Y5 T0 x }; R7 \: x4 P t0 Y+ O1 i. l0 N
else U' T0 X |$ c1 Z
{9 E# m3 w) g8 M- a- x, `3 Q# T2 l
if(debug)7 U8 ^1 y5 q8 t4 j0 d4 [0 D
{5 H9 D4 k6 R$ R1 ]' k$ T
alert("compare color and parent bgcolor!");
/ l7 t# x1 N+ F6 s0 h! w9 ~) J3 m }
/ T. { H9 {5 @8 I# E1 P& I parentBgRGB=getRGB(parentBgColor);
* L' y$ b( b/ Q& ~# R" d# r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: {1 F2 _; A- v! o& x$ L& o" ` ]$ @ {- k: l: J0 v5 |0 Q- m
orgNode.parentNode.removeChild(orgNode); / `/ O; R h- i% N8 a) N1 e
}" Y% [% w7 m3 k9 v3 h9 U: p. s$ O
}
' e( M5 u3 w3 p# U" [ }+ F$ X) a1 C# N* J' {- V A3 \* F
}2 D1 i- Y; T' ^
}
9 J) p$ m( p/ V% z; R. V8 n }; v: u4 G2 a6 K5 f
- H5 d; L3 {& b
6 I! ^0 z9 I' X var itemFrames = page.getElementsByTagName("frame");! ^( X) K2 B* e* p
var itemiFrames = page.getElementsByTagName("iframe");
7 z, V# F2 Y g% |, ~- i7 R; i # G% _3 C5 |$ {3 h/ `) }
var frame, iframe;: N9 p) Y8 G6 I) t" H/ f# L' o8 Y
if (itemFrames.length > 0)) _2 b$ R6 g' D, M& H6 e) m9 w
{
- \4 b2 u! p5 Q" N- e- ` K- n for (var i = 0 ; i< itemFrames.length ; i++) ( }$ b( t1 v" b4 e1 g
{
! X# y% F7 P. b9 R& S frame = itemFrames.contentDocument;
; G2 \) l+ w2 k6 A4 C1 U- W: Z4 z: n8 g this.RemoveHide(frame,objname);
, @' ]( d7 v" Y, { }, v' C$ ]& R, k( R$ G) v
}7 D% m4 W1 D& \3 y+ i% z8 q! s5 k2 c
if (itemiFrames.length > 0)( j3 T8 a a a
{4 r- M1 n8 Y: q6 b$ j5 H" _: c
for (var i = 0 ; i < itemiFrames.length ; i++) + e5 ^6 k5 l/ t
{/ \6 G4 [6 T- d, s
iframe = itemiFrames.contentDocument;. J) _) e, K; W
this.RemoveHide(iframe,objname);
. t; r) P2 |3 a9 W e2 c3 j }
4 W4 C+ X- J% i' M$ ] \1 u }2 A0 W9 f5 Q8 o
}
$ a2 f; z& v3 M3 i catch(e)
. ?; t7 g) q- t" \6 W) [- W8 F# z {
# ~& @3 X; [! H% K if(debug)5 `0 k! U8 K/ G5 w9 n
{1 X5 N' ^, n! @: v
alert(e.message);
' I% C. N2 {& C( [ }2 i) \4 ]4 o H0 q& M4 A
}! h( i- J& j# o! K
}
! Y* M" S/ \! i* ^) @( b, p: ^) F0 F$ I 1 [/ \( y4 \7 C5 h
}- G* I Y" B6 F! @4 [! |: u& c$ w
# |6 [- t8 n2 ?6 S: @# g* z* u8 hfunction getRGB(colorString)* U. t1 C' j( k$ d$ c3 @% m
{
5 t# b _ f6 j, {+ A% V var RGB = new Array;# Q% ?, j6 m8 ^: m
var tempSting=colorString.substring(4,colorString.length-1);
* k5 S; Q& t* |$ L% x2 x var tempArray=tempSting.split(",");
8 L1 x- u2 ]! M# `( W( A: H4 q2 J- ^/ O5 c
RGB[0]=parseInt(tempArray[0]);; ^" S& d. u: H) I. m' u9 D
RGB[1]=parseInt(tempArray[1]);
7 F( n7 ?$ ]' X" b, G9 D RGB[2]=parseInt(tempArray[2]);2 M; c- _+ u2 g1 [
' K/ }. x( {% E; V( { return RGB;. c: N" ^4 |9 i) a8 A& n" O
}; @$ \7 @1 i7 G! z
function keys(evt)
' b$ T9 x, P' o# n% ?1 P% J {
2 h* i6 w* P8 P q4 w if(evt.ctrlKey && evt.keyCode=="81") 1 c( M# D1 l; ~; E$ j
{
; {* L+ s C% ?* v E4 h6 c- [+ F CleanHideObj.on(0,1);
. K8 x$ k/ b1 I: U5 z* `7 ], x ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % q9 G8 n. I7 I* l& D. ]( j( Y
( J9 ~; {# O, d1 l/ B L" ` }
- s. h) v- e, j% q( c6 g }
2 E9 ?; M! r$ ?8 L9 N4 zdocument.addEventListener('keydown', keys, false);
/ V- a' e- O# `GM_registerMenuCommand ('Clean Hide',
0 r+ l* y' P/ B/ E3 g6 f1 ufunction(e){
+ Y' o7 g8 K' u3 U& X# c) m! gCleanHideObj.on(0,1)
& O Z' W+ l6 [: I7 b; walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, ~* p6 J' g: a) Z7 ~});
7 J" N, R: U9 [, S8 L2 |( e |
评分
-
查看全部评分
|