|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- |$ O; T6 b9 w
% W: D" G! u% k- x火狐插件,用猴子
5 |$ l& B0 ~% O* h' w* H" J8 k, @( t0 U% F% r8 j
var debug=false; $ l1 Q W2 D7 f, w! l; @6 r
var CleanHideObj=new CleanHideClass(); }2 e* A G, h! {+ E) N: e% f
' E2 h8 a: P1 O. L. gfunction CleanHideClass() - z6 x( C" i* z' j6 g
{
' ^( S. K' o# e) ^
' U% e! c# `7 q \; Z* }6 }+ U this.on=function(id,bMZ)5 R1 {( V2 J5 v0 E' z3 ^+ C
{
" m! J1 |) P. ^ $ C5 E% k1 N9 x4 Z" T
if(id == 0)
; L. o6 N- f) n8 V {9 | h, ]: y& W- q, w# K8 t
var page=/* document.getElementById("content").contentDocument */document; 1 u4 d/ e9 N0 Z2 B
this.RemoveHide(page,"span");
! N, n5 `7 b6 a0 H: d" K N+ I r this.RemoveHide(page,"font");) j8 @& \) v- R* `3 ~
this.RemoveHide(page,"div");: u. r$ {' n2 P6 x% X( U3 \- E9 k6 h
this.RemoveHide(page,"p");* E# q# P- p. \! Q
S; C6 J$ b! f. a1 U/ h }# W; S$ g; I6 e& E" @) @: e O, W
' f# K( T5 L: m. }( z( r }8 n" u4 w8 h+ |& J, ?( X
this.getobjstyle=function(node,prop)
& ]% d& W8 B& A9 T$ v1 a" X {
* E; Q7 E7 @- q2 s( d$ G% z k( [ try
( @+ J, i5 I4 X e# p7 h6 Q7 G {) w- |& Z. H0 q( _1 Z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 ~( ]0 } T3 U/ U+ d. U }& J9 G! c/ Y* u2 r% \, A
catch(e)- O4 g' j2 h7 @+ X& Q. Z
{3 [& m1 k/ B; [* n% m: A
if(debug): X, l$ @# U a6 |$ S" Q
{
# ~% y1 D. F. {5 K alert(e.message);
! k2 U( h( }: r; ]1 E& ^ k }+ h* c& y) z2 D3 Q& @2 @- e
! A8 d9 o. w9 N* ?
return "200";. z; ?' M/ E. x4 I) ?
}
# b* ?3 S$ g D: j( ~) w! @ {8 \ }7 ]" _" p) }4 _6 F/ e/ x3 e( s. O! Z
* j0 o I0 v& }8 ? this.RemoveHide=function(page,objname)! c6 k% _8 E' j0 o( X! s3 K
{/ A1 c4 x1 P* j7 k0 S1 m; q' k* u6 d: N
try( J0 w! P0 m! J. U" c
{" m/ ]5 S: d# H7 `( x+ A
var minValue=15;
0 p5 Q- J: \" H% \ var objs=page.getElementsByTagName(objname);
7 G& ?; k+ r b+ e/ ]; `
" {8 A' D: Y) d* J# D2 { if(objs.length == 0) & b# C8 L. k' _2 D' [) A
{
: V+ f& N, N: \' ?, O1 b7 d if(debug)% m* `$ n* v3 x+ p# }, a
{2 {+ A! Y6 P# O& U4 L+ o7 U! m' u
alert("no object found!:"+objname);) c' z9 `, Q. }; a% C
}
@6 I; h+ d- D! G }
) P7 h7 o$ E2 w) t3 L+ e else! W5 w3 q2 f/ A7 ^
{# n/ k, ?6 k8 T( D
1 T I# S3 E. [1 G( f for(var i=objs.length-1;i>=0;i--) ' M; \0 |6 `9 h( ]! _
{6 P+ [4 J" c, A. V0 z% N. g$ \
var node=objs.item(i);
- V) U" H8 y4 a9 C- g 8 }- W, z* D+ `0 K9 I4 N9 S
5 ^ n) q5 k% \9 u/ k6 d5 Y& y
if(this.getobjstyle(node,"display") == "none" ||5 W* j" v. j$ _1 y" ~
this.getobjstyle(node,"visibility") =="hidden" ||
" F5 r3 A, P# h parseInt(this.getobjstyle(node,"font-size")) == 0)
9 r* D8 c- J( P: i$ B* s {& }; ~3 z( i* q u: E4 J9 C/ p
if(debug)
n5 j8 s9 p" _' z0 A4 I2 ]8 s {' U; G2 Z9 d6 m, z1 \6 H
alert("remove invisiable!");; |: f: `! Z% P
}6 R0 r5 ^6 I; q; \9 R' q* U
node.parentNode.removeChild(node);1 K9 v7 z2 Y7 ~+ p) q/ _
6 q8 S) q3 C& }: {8 b F5 A
}
. R$ r' a1 d# f else
0 L9 H4 y3 W' r( E8 H, ^: x {
0 X- S9 t, S9 Z/ @( H3 |" ^+ D if(node.parentNode) 6 E+ X% C D- F& n* Q4 }( ^7 ^
{8 F" q* X) j) N% q* @% } k. ?
var orgNode=node;: i) P4 F* P4 z* L- \, M
var orgColor=this.getobjstyle(orgNode,"color")
5 b b" A O" u7 n/ a c$ e var orgRGB=getRGB(orgColor);
3 x {; D7 S* Y# _- i
! a0 L& V- V& j# i7 Q# V) x/ \ var parentNode=node.parentNode& d9 P2 Y. G; P5 n
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 k. |& m! U! O8 E# [$ E
. y X& [5 S" ? var isLast=false;) R* Z" c+ a* _
( P( R1 L1 M2 c5 |( ?4 |0 j while(parentBgColor == "transparent") ( R1 L0 _$ N r1 D. z6 q3 v7 U) n
{! d1 _( @( Z/ N4 h$ x. h7 o
$ b6 T* T* E7 u/ x- i/ l" _, L
3 D+ X4 g( M: Z4 G8 g" A! }: } if(parentNode.parentNode == null)
; p+ {7 ]% j7 H) Q5 G6 Q9 B5 y {
" \" Z, d/ ?! x3 r) G' I4 a isLast=true;
& H7 X: z5 X2 E# a* S8 F break;/ n! I& L: ?" s! S
}% `) P1 _( g, {' [
parentNode=parentNode.parentNode;1 _. R2 ?" b1 [9 p% p* z M
parentBgColor=this.getobjstyle(parentNode,"background-color");
4 K2 }! A8 t/ G0 T3 N" k! @ [0 ?0 u7 J8 s5 M
if(parentBgColor != "transparent")
0 M4 }. o& O8 N6 R2 e$ N {
/ n1 d" d/ f6 B4 w' d' T7 { break;/ q" n$ _" g; P
}
9 N p$ f$ O6 C9 J3 I a% s% R }. \) }' a( n8 t* n
if(isLast) 5 S6 g# f& w) S# J8 s; ^
{
' k) M7 z9 y! b+ F4 e0 x e2 } if(debug)
% T* q3 w, O* E( Q% q& O {
* O7 Y- h( t F$ R* v/ A' N alert("last!!");8 {+ t: D4 q9 M, _9 e3 K: M, C
}
( E" o* [; E* z, h4 O if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
Y$ {% j( |/ {( n7 [' h {
$ ^6 D, e2 `( ^ orgNode.parentNode.removeChild(orgNode); 3 u4 F; x5 D& K$ \
}* ^, q+ |, Z0 |& A9 \( D
}
' s5 u) K$ f" F: o2 z else- p( l( ^. O, e# G
{
7 |! U, U' {# {2 I0 x, k if(debug)
) L J4 k$ M s8 b# a# h2 u {
! T2 s7 c: s% G5 z2 F: C r alert("compare color and parent bgcolor!");
" U f- m' u. j: e }
8 V! y# \ H8 X. T: f parentBgRGB=getRGB(parentBgColor);
+ ]( s H8 n+ S. F" q0 |4 }: Z! F, \4 w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# v6 Z0 G4 \3 i* z. [. p T {4 D$ m4 i; \9 w; ]1 O3 X" n; P, ^
orgNode.parentNode.removeChild(orgNode);
* J' V |+ t( @. s. ?: B% O* Y } N4 b- x8 P- M4 V! l) X& x+ q
}
: f, }# R; B- t: R( A" ]1 a! @! E3 Y }
9 C ^3 W" q2 n1 a# {, F }! |- m: H' v i$ Z' K
}
6 ~5 `; D: L2 I, K& [ }' K- c( J7 |8 w& Q+ Z6 J- |" q
M+ S) A) s1 \! n+ v4 w+ {& d( ?- D * T4 h6 l' T: u8 ^8 Q
var itemFrames = page.getElementsByTagName("frame");8 \6 x1 L% G: r" ~ R* D
var itemiFrames = page.getElementsByTagName("iframe");
( [' |# G" Y% g {+ w1 |7 C
8 v# q$ Y) V, }% S6 V var frame, iframe;
" ~2 J& Q- S; S/ p( e if (itemFrames.length > 0)
' N2 U9 V- m5 F. F/ }: l, u) ? {
' p! ^* Q' a# j3 F* ]5 L2 h9 g for (var i = 0 ; i< itemFrames.length ; i++) 0 Z+ q% _, Z- m0 Q
{
4 V7 p* _8 m& L, t( Z8 x2 U1 q frame = itemFrames.contentDocument;
5 r( F1 S5 m: A' a/ @9 b: b this.RemoveHide(frame,objname); : P/ ^" G0 T( u6 j* G
}
- ^& C. H* @$ o3 a9 ? }; M7 i% b1 E' f
if (itemiFrames.length > 0)0 c! F, m8 Y3 \% _6 V# b5 F1 D) f
{% E& Z/ o7 s1 O7 z/ U' n/ A
for (var i = 0 ; i < itemiFrames.length ; i++)
# V: ?5 L$ t) _: K9 z" F% L# _ {
+ k9 }, y4 J( X }* t: P iframe = itemiFrames.contentDocument;1 V% c: a$ n; G. x2 s" L
this.RemoveHide(iframe,objname);
9 w2 j* o. d( Y- B }* m; q5 c4 I2 Y; ]) J
}
6 H0 F: {7 q% S, k }
?" M" }8 E+ l; R, ?: l J catch(e)+ i5 }" s/ Q% I+ R$ p A: g
{$ }* k0 W: H% ]! F! T0 j2 B
if(debug)
# ~+ I7 _5 v8 h0 s {5 s% H4 C6 N- G3 B
alert(e.message);
7 z5 U. z! B' c2 G }) M- S% m3 j0 O, G- L
}
g' R9 h7 H: e( @. K/ N t6 j, ^ }! L7 C: L1 W7 E) _
9 l1 d/ u9 P( u; @5 b* X
}& z% e ?5 [5 c" ~. v% e' g
3 Q! D6 |2 u/ f6 \5 j1 j
function getRGB(colorString)+ s1 {6 S4 n; K6 n _
{1 @) b8 e, Z. }
var RGB = new Array;7 t4 E, s" s- d1 z% i" Y7 `) l" u
var tempSting=colorString.substring(4,colorString.length-1);
3 H7 d: ]9 t4 m5 o! V0 a9 a: X var tempArray=tempSting.split(",");5 l3 A8 ~" q/ G6 J$ y
0 l' H/ `; c& P; A RGB[0]=parseInt(tempArray[0]);$ b( K, b1 [5 e& Q
RGB[1]=parseInt(tempArray[1]); o# ^: S1 i5 B
RGB[2]=parseInt(tempArray[2]);" @+ b" Q8 o6 @7 V2 s. A
: L4 x6 f/ T. D5 T8 g; v
return RGB;
0 X# X; ?* y# d6 p& h" e}
# s& m5 [: D2 R0 H, |6 \1 xfunction keys(evt) + I. S! ]$ d: B* R
{ , q2 H/ W! R0 K" G, @
if(evt.ctrlKey && evt.keyCode=="81") " q5 D1 L9 }1 M5 |( i: y, f5 ~; X
{
8 u+ j" l+ X- e3 r- | CleanHideObj.on(0,1);
+ x7 ?; P( j- ?+ T: ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 o9 T* l# D4 A, F% H" \
3 K, d) z0 b! o$ \! T
} ! y- i1 l& ?& j. |% H8 u e! G
}
3 G" d B2 ^7 B5 `$ e8 {document.addEventListener('keydown', keys, false);
: V1 S5 r! ?" Y( r- {GM_registerMenuCommand ('Clean Hide',: h Q# Y! Y! e, I% {4 o5 U# R, I0 A
function(e){
5 d6 {- _$ h: |+ B$ v) v0 JCleanHideObj.on(0,1)% R% Y* g! ]; \# [% R3 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, N1 v2 \' K5 h% U7 _
});
+ V6 ~3 i: Z& c' y' Z; U) r |
评分
-
查看全部评分
|