|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) |; z+ A: U1 o' ?4 Z( r
, k# _2 K2 ]9 y ?火狐插件,用猴子) }6 u# u) F; C$ j+ m3 A# g1 t
! M' K2 ]3 d# R9 n, D
var debug=false;
; Q# F5 E& q. ^6 j" N" T7 Kvar CleanHideObj=new CleanHideClass();
7 H" M# T% F' U1 f8 _4 d j1 r7 p! G6 U0 }) ~
function CleanHideClass() ' i& j# Y$ @7 ]# R8 \1 v) ~
{
$ C1 q1 j/ C: Q! g3 Q
: l. n* h" ?# S4 K this.on=function(id,bMZ)
3 |# M: E' |( k, { {
" u. `, S# N7 d / ?$ R- E) n/ I# o! u
if(id == 0), P/ c# } q: Q! L6 b5 X
{1 w& _* y, m+ A- O
var page=/* document.getElementById("content").contentDocument */document;
- T* }1 }4 W3 U8 q$ H* F1 v* Q this.RemoveHide(page,"span");
6 n/ G9 M5 Q$ X/ Y! {8 W6 r# }5 c+ E. N this.RemoveHide(page,"font");
( V: v/ a) \1 U0 d1 T this.RemoveHide(page,"div");
- c, ~5 n% D% g+ h2 Z this.RemoveHide(page,"p");
' |( v8 F+ w4 {( o4 L6 T( \; _ " i3 Y# g1 Y% X* n
}6 y/ J z7 M# X" ]6 J
8 h( w: a& W5 J4 i! H" n- a
}
' R: j# s. }0 ]' Z: O: @: T, B! c this.getobjstyle=function(node,prop) X, `' v8 e- y
{7 k3 ~8 H' V/ o, ~8 a0 T8 L
try8 I1 h2 l9 a/ S) k2 w
{
9 M& x- ~! M) ^6 \7 r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. U" q9 [6 J' }+ T' } }
: O: u. g' M$ x, F7 L+ o5 P' p catch(e), \3 \9 M E) d
{/ N3 j' D( @: H7 n2 {# d
if(debug)
D5 L% ]2 H" d9 y {5 X9 G8 I2 F) l9 l
alert(e.message);
4 E! {$ ~0 b% e; P& g; {/ q% w }
3 x }5 l2 m- p* U, C. j; I
+ d9 H9 K0 [$ n$ o+ j1 B return "200";
5 A6 ]4 D' O- R( x" |: c! R }
% i# k% |% {- F }
8 Y# t% E9 \! P+ M & f X6 ^+ A; a+ F
this.RemoveHide=function(page,objname)- O: |4 x; @6 K. S2 P6 \
{
2 q9 P6 T& Q( V' W try
6 e3 }# q9 n3 {" [$ m" I+ ^ {
! {# S" J0 }4 A n7 U var minValue=15;& A' n8 d" A, `" m- T T6 Y
var objs=page.getElementsByTagName(objname);
) T# s# Y, l( n, g) L3 S5 w
7 \: R, l: P3 {7 Q if(objs.length == 0) 7 M9 x$ h0 N' i& |# W5 W2 B' c
{
" G D. E) ^. v if(debug)
% J. ]& Z2 x0 k5 P: K {
$ P1 z2 t, z5 p, c- r alert("no object found!:"+objname);
# t. p" u" q3 }3 R3 G }/ l5 X3 V: i1 T" T8 `* K- b7 i
}
5 Y) h1 a( h1 o/ `0 M; u else3 `" Q* V- W' u
{
3 S+ ^& A( J: p5 n( t" x6 g
" z) h" `2 B( e) O for(var i=objs.length-1;i>=0;i--)
" b' ~8 |3 h7 J2 ^ {
; G0 r1 w K2 h* a5 r7 u/ ~- A) f var node=objs.item(i);
2 x! X, k4 L# m* d% a0 `) D
0 l' O) h9 \! e, x$ a; K
: m- V/ T( u- n* D if(this.getobjstyle(node,"display") == "none" ||& l2 e9 K6 w: ]" [8 J( N$ @
this.getobjstyle(node,"visibility") =="hidden" ||
6 D* e* M' d/ S- o, {3 m0 w parseInt(this.getobjstyle(node,"font-size")) == 0)
7 m6 G q# Q& d$ u) l {
4 n7 Q, U) s1 b; w, u if(debug)
( J0 D3 U2 N* @/ g' D3 C5 R2 p" b2 F& z {
9 S; a# T9 d) _( m, V alert("remove invisiable!");3 B; Y4 s& |9 e) @2 m
}
1 [! ~7 s! T4 A- f2 H& |5 M node.parentNode.removeChild(node);
6 r0 _" J* f& g+ s( \8 @* P5 b # r' u. B, {" W9 |8 `7 r( l
}& g) O. n5 Z: S4 ~8 ?2 t6 w9 \6 r
else
+ j! B7 w6 t" q# i: c, ^ {' ]0 T+ q7 a' Z( B) _- `) F' Z8 @
if(node.parentNode)
3 ]8 V: V: x0 A" C. ?! p9 \$ f {
$ ^) [/ v: v. t2 ]' j# z, \ var orgNode=node; G# }6 H/ }% Z# y+ o; E6 C9 O2 w$ h+ l) O! U
var orgColor=this.getobjstyle(orgNode,"color"). d' W3 l8 d5 l4 O' K
var orgRGB=getRGB(orgColor);
% j0 ?3 E& V) q( w4 Y9 o3 j / K/ W; y- _! `4 T' i8 ?2 J/ C1 ?
var parentNode=node.parentNode! r7 C+ C$ ?* F, i* z4 e& |9 ~# v# e0 {
var parentBgColor=this.getobjstyle(parentNode,"background-color"); [, U. C7 D0 s; W% {; Y
! _8 T. b1 s+ D8 S0 F. k
var isLast=false;
6 D8 |" X# l( P: n : Y! ^% L- E% L& X% b2 z5 R x
while(parentBgColor == "transparent")
) _" k2 C& t0 S+ D' Q. u/ W {1 w3 m: X4 x) [/ b* I( M- l
4 ]" O+ v: c; w
! l' j. r& `; Z0 p* D0 j
if(parentNode.parentNode == null)
! l) M8 @( k) x6 \! ~ {
) f" H$ d' r( J isLast=true;3 U5 m0 _) q0 n) I
break;
% k/ M" C* R% I( q2 A) F }9 x% `/ h8 ^: J' N% \( C: D
parentNode=parentNode.parentNode;/ z9 e! o/ d6 z6 {3 `1 ^/ h: a
parentBgColor=this.getobjstyle(parentNode,"background-color");5 U; Z G% h" n% {4 l y1 g; X
' _( h/ r$ r( o4 B7 `' L# n
if(parentBgColor != "transparent") ! f2 S6 F# y& B1 ?+ y# }
{
& n9 K; [, y7 _, I2 O break;
5 I8 H1 }2 e! u6 y5 V }. F. O9 ~8 h4 B
}. M% ^9 Z9 _8 i1 j3 D* L. P
if(isLast) 3 S1 _! Z& P7 R
{ P2 D8 H3 l( ^* D
if(debug)
' q2 D- o1 ^8 K9 d {2 G5 j N0 j+ s5 S w: `
alert("last!!");$ u, T! _; J1 a/ f6 m" H4 w
}
/ b7 _5 |% n6 B$ J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) i2 L- G: g7 Y {
- o0 U2 |( K. L% W" F' U j orgNode.parentNode.removeChild(orgNode);
% ?" l. \2 f/ y2 x/ h( @ }
8 O! i4 k) ~. W4 w$ i( t* e2 |/ K }( {1 q2 Q0 i \% P, i3 e2 p+ z
else. h+ y1 c" x1 K2 ?/ w5 G
{
# T* }" D( V2 I3 H. [ if(debug)
& P* ^" x2 J8 o% E8 h) Y* K {
, }8 E/ E/ w, V$ o3 m alert("compare color and parent bgcolor!");
# _: \9 [0 V* r) ?8 z* {& M }
- T2 `" Z0 F1 S: b- o w parentBgRGB=getRGB(parentBgColor);
. F9 ^1 X; Z c$ S7 V* @ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 Z' v& ~- j) W; F {# b* ]) k; z& }: [
orgNode.parentNode.removeChild(orgNode); : \, |9 V2 g- e! P
}
, p7 K5 k1 X7 p }
7 L Q$ C5 {; m# c# k }
8 \ P8 c. r2 @( n }6 K; ]* f, W7 I
}. _$ G6 x' ^1 h) C, W' E
}# ?* D( s0 |. x6 E j/ ]
* v0 Z) z5 [) d. ~0 R* ^4 |( g6 a
+ m" o; Y [7 N, \
var itemFrames = page.getElementsByTagName("frame");7 T! A% h# {$ z9 H, s, k+ H. q
var itemiFrames = page.getElementsByTagName("iframe");* R4 J! |0 j7 ], T9 K
+ c6 @ n7 M- _
var frame, iframe;' B6 L6 A: p6 u1 c! F( L
if (itemFrames.length > 0)
& _1 E }3 f6 s% @ {
% A8 {. L' F& W7 p for (var i = 0 ; i< itemFrames.length ; i++)
! @: C8 q9 [! h+ R. J+ N {
" X# w9 L T2 K2 {: z0 ^- D+ H frame = itemFrames.contentDocument;
7 d! b% p5 t$ J: ? this.RemoveHide(frame,objname);
e: Y$ i) B$ {6 p, l# I0 j+ E }7 w; b" h7 w7 c: P2 f Y/ m
}
7 W* q' C) L* @* Y. A( ]/ g2 X if (itemiFrames.length > 0)
2 Q- ^3 R5 G# H4 r, @. @* B8 R; C {
% b; a1 l& F9 e. R( G9 \6 b for (var i = 0 ; i < itemiFrames.length ; i++)
, t& ? F" Q1 |* q y! k& E {" S; f- K$ s0 x6 J- ~" f8 Q& X. P
iframe = itemiFrames.contentDocument;# j1 \' U7 w2 Q# {" P! u0 _& w
this.RemoveHide(iframe,objname);
2 C# S5 W$ w9 C) @1 N# {8 V* r( t: i& R }; Y- i& R$ ^% E
}
. p8 d ^/ F3 i. {' I, p }
. I" I% \( w* s3 N* b. x. K- J catch(e)) L4 s4 K/ w- |' ?( v
{
9 y/ _# H/ W' c" u+ L& Y( [+ b if(debug)
+ d) j. w2 h- k8 } {4 F6 n3 M# u5 \4 d& Q
alert(e.message);
1 M4 X3 A3 M$ o4 o# A }9 D- T2 B# E5 A% ]5 y+ C. n% v
}
0 ]. v7 Y4 C( d6 `6 r; h D, W( @ }8 {/ b! a( F. T& P
7 @- \; \& L) t: ^: k8 s
}
* g) B4 s& }8 f; k4 L @7 |8 W4 g# W7 I" M5 q2 Y4 r; ^
function getRGB(colorString)
1 D+ ?/ W% [8 _6 \/ I8 S1 s* ]+ d{; q3 R( s$ K8 N1 K h% e+ o! @
var RGB = new Array;2 F- c# r4 ?( X" n
var tempSting=colorString.substring(4,colorString.length-1);
6 F8 \! U* U2 \# L var tempArray=tempSting.split(",");
. s4 F" o/ T' `9 S# \' v1 W8 x- U7 F% V" o( u5 a$ l4 c- c. s
RGB[0]=parseInt(tempArray[0]);
9 t' l' `) h2 O/ \5 T* t) t RGB[1]=parseInt(tempArray[1]);' }: N5 @+ l3 i
RGB[2]=parseInt(tempArray[2]);1 [$ G; g4 V" ^! Z
" i% s0 w$ m9 D0 y7 p' Y- Y" |' w8 m
return RGB;
' E5 E8 q y/ K" ~: W3 d}
& y' s7 ~3 ~- R; ufunction keys(evt) ( K& ^* B, l- L
{ 7 n4 ]4 v. |% ~* @: a( t5 V p
if(evt.ctrlKey && evt.keyCode=="81") - ]5 _; c) E" v" D/ J! \& ^
{ 9 W5 H4 G3 y+ t9 |( X* k' Y4 W
CleanHideObj.on(0,1);
% F+ b( W3 T' k; w" H, M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 y$ j- r; o# |5 h
' }" U& M; ^2 t6 B } : M; ^2 U: g/ ?7 F
}
" D; n/ P {9 W V. i1 odocument.addEventListener('keydown', keys, false); 4 `4 T+ y! ^3 p3 K
GM_registerMenuCommand ('Clean Hide',
4 @ V7 n/ R' A) Y; jfunction(e){
$ g1 O# }% i! c0 T3 \1 R. e; ?CleanHideObj.on(0,1)% q. G9 L$ d) ]: f$ `; D3 y' S5 X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: a3 P$ Z2 G( O" z+ Q/ f});
. c7 r7 h) [- |, ]/ a |
评分
-
查看全部评分
|