|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ @. u o; q, _6 F$ Y/ J' I3 u% L1 h; u4 F. p7 E* Z
火狐插件,用猴子
* v! F2 v! n1 ^% {8 E* m( R/ @9 F
/ C. y* P4 t9 n/ e+ q4 u" Wvar debug=false; 8 Z- O- _& G+ f6 q7 k" Y- }
var CleanHideObj=new CleanHideClass();# L- ^3 M- R6 B, m0 B5 f
- z! ]" v, l) `, {+ D0 v
function CleanHideClass() 8 O- E5 ~; b" R% M; Z. @6 M
{
% T) j' s7 y+ @( h
7 E# p/ S$ C' e this.on=function(id,bMZ): P+ P5 Z/ B T' R* X+ W
{7 ^ N4 T) l- i" r2 l
0 n* r5 }3 }% J/ Z
if(id == 0)
* m; m1 V; G6 x {- u& c7 W1 } q
var page=/* document.getElementById("content").contentDocument */document; , w7 R: `3 `. P
this.RemoveHide(page,"span");5 e2 F' J. W- E- T
this.RemoveHide(page,"font");
5 M D. x9 b/ o. R$ f9 |9 B this.RemoveHide(page,"div");& e/ p8 Q% b6 U( x) Z" W2 R
this.RemoveHide(page,"p");. V: M L4 B: P7 O8 X6 ^
# M9 c8 G) I4 Y6 O) C3 t
}
/ s i4 Y) L4 }/ S
& S+ [8 y) k# V: g* | }9 ]# x' Y; @# Z# s$ W
this.getobjstyle=function(node,prop)8 n) D, F, W7 \2 |" u5 ?) x, k
{
0 T: y" d# t" E2 j; a3 X try! M4 @. E. z2 p
{. X, N& G: x0 C, D% O2 [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 V8 F j9 V0 q% ?) M) J+ q6 f! Y }, ?, b* p# B( D9 u. Y/ Z
catch(e)
" D$ n1 t& A' F/ o% r {
& f* [! v; H8 K8 F if(debug)
' J! y' T3 i" U% f5 |4 G( Z {
1 y9 p+ G, D( m+ m: k& k alert(e.message);
5 U8 y) N& l$ R" J ?$ Y }7 y+ k" ]1 y' n+ e
" h% r7 \# b3 p& b1 \, u1 P return "200";
6 V* u9 _: o+ a5 U- R/ ~2 B# ?7 } }; E8 b) B8 `3 x* u3 F5 H5 x6 @2 ]4 L
}
' c) E' Y4 e! F U
( w2 E5 @- y7 @$ M: M) O3 D this.RemoveHide=function(page,objname)
& @) r( |0 I0 D/ P6 E {) U+ Y5 k: a. }
try$ R) d* ~9 J6 B4 W! u {# p7 \1 h
{* Y7 k3 _$ I( S9 |
var minValue=15;$ |; |# @# n" F( T* b
var objs=page.getElementsByTagName(objname);
1 m' D% |7 }3 Z! ]% u5 H4 M
5 |( r p2 }9 j3 P# g2 }* h if(objs.length == 0) 4 q( v3 Q! }% G/ n
{' w5 H5 V7 w8 b3 e* ~' a4 Q
if(debug)+ R% }# A( H) P6 n4 j! c
{1 c$ q/ \& e/ g5 [% N& @
alert("no object found!:"+objname);
( I& o, N6 ~2 T% g }/ }9 X. Q H! R6 m9 \$ I
}# d: D; |- }" b. E
else
6 L0 O" v U1 B/ O7 M4 u {
E" x. C" N# W9 @4 @' D * j9 Q, X1 e0 T& O, V
for(var i=objs.length-1;i>=0;i--) 5 v1 X4 c( k6 j. u- x M" B0 F
{
, O& k X$ I6 t: c& H var node=objs.item(i);
4 ^4 d# Z1 X5 j: c5 Z- `+ p 0 d& h/ u( G* ]* O" v; H
: r" U5 D0 a$ X A3 m7 N6 B, D: L5 t
if(this.getobjstyle(node,"display") == "none" ||
$ T# o# Y! B; ^, M) P( s/ K this.getobjstyle(node,"visibility") =="hidden" ||: O; I- p9 e9 h6 f/ m' ]4 Y
parseInt(this.getobjstyle(node,"font-size")) == 0) q4 r. l# s& ^- Z7 ~$ ?
{
. o% i! u) v; ] if(debug)' `& ?4 J/ \) q, h$ R/ U1 `+ B: G
{
: h; S( s% Y# K5 g alert("remove invisiable!");
" |4 w% k( b7 D- o% d# L. @ }
! w1 |* Z0 W( {! O# W- p- {! [* L# |* x node.parentNode.removeChild(node);
4 `" X2 ]1 @& y, I+ j \
8 w d" R+ S) C+ ]# D% `$ r }
2 K' v' u( ?& H2 T/ b else # m8 b3 j2 p# Z6 E" C4 r
{, i% x* \6 _5 {5 z# X% c# w
if(node.parentNode) ) b3 H& z" j- w8 r8 u8 B$ v0 {
{- s% ~, n" j) I2 y1 Z
var orgNode=node;
& d G1 u2 G3 g+ | var orgColor=this.getobjstyle(orgNode,"color"); Y8 W) ?9 v0 R) p; o6 }
var orgRGB=getRGB(orgColor); 6 q0 p: ?! }) `/ `: F
, W1 o4 w* a8 D/ c, W% { var parentNode=node.parentNode3 a- O) L# S+ ` F& [; z8 o/ n
var parentBgColor=this.getobjstyle(parentNode,"background-color");& t7 w. Z) v* N5 p
$ f9 O: ?# X4 ~# {
var isLast=false;
6 O' q$ f5 i$ A/ t( J; C
; _5 z: w" o8 ?0 o t while(parentBgColor == "transparent") # q) F4 u+ q7 Z7 g& v
{* H/ Z# Q1 @* Z
3 y" W( B/ C* ^" W& k( l6 L
+ n2 V s! p! {, I. o, r% ]+ {3 { if(parentNode.parentNode == null)
! E+ e: p$ T( d5 e: L5 b0 f {% l4 {! O1 \1 r3 k; y
isLast=true;, p$ j, r/ O7 [0 t
break;
4 ?' u) o+ X- U. x3 a6 V$ t }
* s0 [/ P0 @. k+ o7 w parentNode=parentNode.parentNode;
9 u1 |2 T$ |9 N: {/ U0 v parentBgColor=this.getobjstyle(parentNode,"background-color");
5 F: F% Z( Z+ I/ D, C- ~
! Q* ~6 R q9 A N2 H if(parentBgColor != "transparent")
0 _4 C/ }. L, I b& s* S" K5 H {
$ q4 u- F. l' R; l break;; w, B/ R, f6 g) X) b
}
# Q* J! @4 f2 @; e }
$ L$ m c, {# M5 b* X if(isLast)
' m6 ?* X' c% G" d% r8 _8 h8 B {. a7 q u. A6 b: |1 e1 Q! y
if(debug)
( I! x7 P" s$ ~3 {1 a {5 y1 J' E! _3 p# T d3 o
alert("last!!");
# u( s' w6 S) N }
{1 j# J9 d4 n2 P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( ] g0 w! ]6 F3 u* t
{2 y( [( D& P4 _! D4 V7 `5 b1 j0 e
orgNode.parentNode.removeChild(orgNode);
& e+ |( M; _2 y4 s }
+ \/ m9 s1 g& d6 x }' j9 S P8 X( Y: x
else# X1 g, k% x! G U2 j( `7 Q) y/ h+ `
{0 p, J- K% ~# |* Z5 J/ E$ M F3 w
if(debug)& e% [- M. E1 I7 i1 t1 i0 L
{
( W6 @3 v* t( d4 m2 V; U) Z( u) r alert("compare color and parent bgcolor!");
* P m/ I4 y+ e' Y* i l$ s5 Y- z }
' c$ _$ L6 x0 e parentBgRGB=getRGB(parentBgColor);8 r+ @/ F5 Y, o! e; k
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ H) p6 X2 f- b v* i7 U
{
7 ^6 O7 x5 s' ~% | orgNode.parentNode.removeChild(orgNode);
6 i6 Q$ A, q( f6 d }# f8 q5 a% C- V: \( K" ^
}
. l/ c3 ^$ { A0 K- j- M* W }$ C# P, t3 b: m
}
/ | u, t- h% _* f8 ~, y9 G }
3 s4 S, D, w E; n- U" A! M% c }
; E2 W$ m0 g. v( ?, N: u( ?# s
. p6 ]" _) t4 C
. w z6 O0 i2 T2 i0 I var itemFrames = page.getElementsByTagName("frame");
4 s/ O; L5 ?5 j/ u var itemiFrames = page.getElementsByTagName("iframe");% }0 o' Y$ u* n' [3 M4 i/ A
2 e& R9 a K8 A0 S var frame, iframe;
7 I [* x; H6 x if (itemFrames.length > 0)
9 r O' B5 v' [' T% N0 z4 ` {& X3 ]8 \3 i- {' d# t0 m! b2 e
for (var i = 0 ; i< itemFrames.length ; i++) 7 ^' |# {4 i, o8 N+ |" o' B) n
{' J+ i4 S; |, \: U7 h( l: s9 A
frame = itemFrames.contentDocument;
! N6 T% O- V! ^; S3 { this.RemoveHide(frame,objname);
( Y. r% ]+ L- O6 O! M1 i }
4 h+ D; Y9 `* W }" o6 e# x/ ?! @( U2 a7 u
if (itemiFrames.length > 0)
) g. V0 ~# p' x4 c {
) c5 u5 o6 c! z for (var i = 0 ; i < itemiFrames.length ; i++) 0 Y- E( H) z9 z
{- x# H+ W6 h W/ [6 |
iframe = itemiFrames.contentDocument;4 {7 f7 J7 @5 Q& Q6 X
this.RemoveHide(iframe,objname);
c8 B* W; s" q$ [6 b; R }
& y; b: j! b$ Z/ e }% v6 V6 V* [8 S0 H, y- [1 E. s: t
}' m2 Q" ?; A$ L1 B, M
catch(e)
4 {( b h. C5 I5 m- E {# }" }/ u- r8 C/ }+ Y
if(debug)3 m# ~7 s& y8 [
{" y5 J" v) F9 T% c1 i
alert(e.message);
( }" U# u. X# m' B+ Y9 X }5 o, }" J3 Q3 j
} r) B! s# P3 q
}/ n* X6 b* \3 D& L+ K, v
; S8 D3 C2 ~, N; f}9 ?) f+ e4 T+ l! O) M& G' x' `2 {5 E
) A' i6 k J9 ]! ~ Qfunction getRGB(colorString)3 ^7 ?/ p. s2 P
{
" w1 I3 m- p8 \ var RGB = new Array;
9 _& A6 C. v4 Y7 b2 O var tempSting=colorString.substring(4,colorString.length-1);+ |4 x3 y0 u# y6 |
var tempArray=tempSting.split(",");% d6 Y$ k8 O1 [) B! r8 k: {
9 [3 L" [0 M; _- c" g; Q0 ~, l
RGB[0]=parseInt(tempArray[0]);- D1 q1 z2 E7 c8 ~3 c
RGB[1]=parseInt(tempArray[1]);
* V5 ]; S7 y) O- H* y RGB[2]=parseInt(tempArray[2]);9 p/ r7 h% r; N! L* L' j! ?& c
& c: f2 @/ a+ t7 j' d" M return RGB;
1 }4 o& a) q0 M: p2 O}. i- p7 O. ]) P' Y, ^, _8 W2 i
function keys(evt)
' h4 a5 x7 N& Q9 u5 [ M {
* B& S% T/ x, L A if(evt.ctrlKey && evt.keyCode=="81") * j D! u) u. @0 k% J
{ 9 C: w. v2 }* x8 {# u/ O. J7 H& R3 `, Q
CleanHideObj.on(0,1);/ S6 ^4 a& v* N% H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; E. I7 _6 ~3 Q/ E5 `6 y 9 S; _% M3 r' h0 h0 @1 ]
} - W2 W% d' I* i- K0 f/ {
}
9 H/ p5 p: A$ e& n Rdocument.addEventListener('keydown', keys, false);
6 ~9 E) W5 z! l/ \# G( h& {GM_registerMenuCommand ('Clean Hide',
/ n# j/ Q3 s3 Kfunction(e){
7 {% m% `% w2 J, C- gCleanHideObj.on(0,1)
e: j* h- b1 z5 ]* J. ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& Q/ k7 R9 Q' J, R
});$ M9 x* K* | y6 ~/ R0 q! D$ m
|
评分
-
查看全部评分
|