|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 L1 u! b. [; R v
" ~6 Q: L0 E4 q$ q u& e火狐插件,用猴子 g/ O# E; `% H
, }+ B3 I9 R+ Q) j. j Z; u
var debug=false;
& }2 j4 ]( w2 V: c- `var CleanHideObj=new CleanHideClass();- N {4 K# |. O& z5 Q3 Q
) p: x' h+ A2 T! y, {! p4 g2 t
function CleanHideClass() 1 j# p3 h7 _/ z8 B9 }, |+ M
{ - S# b, @$ v5 v0 l3 H1 s
' p( W) T0 M5 i0 L" B/ \ this.on=function(id,bMZ)) x, N6 F4 {) @' K/ A1 w; G, f
{* y2 y( H" e3 r1 c: i5 U5 p
& Q" J* o4 y# |4 F if(id == 0)' V9 [2 U; L s0 K) G9 Q0 H+ G
{
: {! y* s2 `# E6 H" r var page=/* document.getElementById("content").contentDocument */document;
7 i8 t" H$ P0 E' p! ?, c+ P this.RemoveHide(page,"span");
5 f# \) ~) V( V ? D this.RemoveHide(page,"font");
) M3 s, G3 \/ m7 b( E this.RemoveHide(page,"div");
- t1 s6 z0 z% ?. ]% I/ O" s this.RemoveHide(page,"p");% r& d( r" M2 ~- l% z! x" a- Q
# u/ _. j3 K/ Z' Y' }
}
- a8 S! ?$ h+ ?
+ r9 e$ t# V5 A0 t! q( j }
9 k' ?( \& C. w: R( y1 w3 b this.getobjstyle=function(node,prop)# h0 L( B' e7 X; _$ g9 r- S
{7 ]$ N; b4 v- C" b
try
: D- G3 q- d0 B, N7 A! V. L; l% T {
: ~$ _0 Q9 S6 ?: ^; |- n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
k m2 t. |, P+ u" c% m }
6 C8 Q0 V/ B. P7 i+ l# i$ J catch(e)
. F* m. m7 [/ w' W {
( B9 a& U! j/ }/ f9 o" V if(debug)
. C2 m% F/ r0 K5 S0 e0 u {8 d6 C8 ]) y' Y. v0 E; a
alert(e.message);
3 H, { @" A1 Q& } }
^; |- [2 s. D' f% S) B
2 ~$ p. Q( l0 c return "200";
$ E! ]* D/ C( X% n7 d, e6 l }
- w9 Y5 c. z6 j }9 K! a, A8 H7 h1 q
! V+ C+ `+ u/ U9 F8 d( M4 M this.RemoveHide=function(page,objname)+ ^" g7 t/ a' b0 \0 l' ^% }
{1 [2 O& h+ ?8 n& ^( _
try3 a" F( w' F1 G* e4 p
{
! L. f. |* _% z2 q2 U var minValue=15;3 g5 m5 l" G/ R# H5 \& p' x
var objs=page.getElementsByTagName(objname); ( F* c# W" f* s5 A }0 G
' B1 o5 c. z6 ^* j
if(objs.length == 0)
% v" h5 x6 o6 c9 r. o( k* t: f7 E3 s {7 `9 W2 n9 Y6 f
if(debug)
$ D+ D2 ]6 N& {7 i1 Z3 y) _1 r/ g; A {
$ k+ d) k. L" }4 \+ v. l% k alert("no object found!:"+objname);7 G+ z, U; G. D( W& h6 f+ D
}
( g5 f! @" c% @0 L+ U: u) r }4 i- X" R: z H
else: L" m, P0 [1 O/ ]/ M
{# c( K8 {2 X' t$ ^
. y7 D8 a' S; Q) K! u8 U for(var i=objs.length-1;i>=0;i--)
3 A; h. |( F! X: C7 f {7 R9 p% i: a" c/ n' V( x
var node=objs.item(i);
- z7 M( t5 N! u! G: ?' y8 E, ~6 v 4 o- u2 m m5 M: r+ W3 L
% [2 l: ?4 W$ O2 Z' B' \ if(this.getobjstyle(node,"display") == "none" ||# P$ b) e7 z8 v
this.getobjstyle(node,"visibility") =="hidden" ||
4 Y/ M# w$ Z* M5 I% ] Q$ d parseInt(this.getobjstyle(node,"font-size")) == 0) ) U- b( ~" T* K A; m' _
{
; c% l* z0 C- e/ R if(debug)
' z9 `- k: a0 m6 N {1 j/ s8 |: Q3 b
alert("remove invisiable!");) J+ ?0 X6 R& B g1 p3 m
}7 ]. t6 D/ g" V8 i( m# s! P0 O
node.parentNode.removeChild(node);+ M7 K6 U8 \# Q& R
3 O0 P0 G8 ~9 S3 e }( l8 ]) Q6 D8 g1 I7 ~
else 7 d+ W8 B' ^8 a9 H
{
( {4 g$ k- t; R- I( c if(node.parentNode)
% e5 \1 W7 |' b {
7 G2 x6 a+ m, ?% m3 M j var orgNode=node;9 b3 J, S1 l- H
var orgColor=this.getobjstyle(orgNode,"color")$ m3 L) w) V- f# A: ?
var orgRGB=getRGB(orgColor); " h! U2 g) o: g
$ @( R" ^, b: Z1 U' { var parentNode=node.parentNode
. a; A% E2 C/ ]; t: x( I0 N- e8 | var parentBgColor=this.getobjstyle(parentNode,"background-color");. j% c/ a; v- G! y/ I# Q: {
) s$ { X! E' S) x var isLast=false;* K$ ]4 f7 D/ D9 B
/ L+ f; ^( t! b$ v. i1 C while(parentBgColor == "transparent") D3 Q- [6 W3 \* T' e& q
{* H* _0 @9 W+ K" a ?3 U) T
, a/ Q& H: O. j0 k# r + d% u- Y1 j" l0 t% o4 L& K
if(parentNode.parentNode == null)2 h$ L, t( X N1 [/ A" ~
{
5 K7 x+ K' ~- E* ] isLast=true;
' p: q& ^( s, w0 p break; |0 N4 S0 D6 {. U6 X
}3 H( J" Q0 g: X; O* o' p
parentNode=parentNode.parentNode;& ]: w) ~7 \! a5 D9 s- ^
parentBgColor=this.getobjstyle(parentNode,"background-color");
% X, B3 i8 G5 R$ w9 s0 F7 K
& s' o0 L# d5 X6 h/ P+ s: _2 d if(parentBgColor != "transparent") / [& ^8 u# v4 H6 [/ W
{4 }/ F; I6 U% K1 {$ h
break;
( h) k" Z4 M0 j& J: U9 y }
7 P7 w6 A3 O7 v" V( E3 a; J+ P }8 k; B" G/ d" A% f; k* y
if(isLast) / ` }; S$ @' a+ u
{9 q# b/ l: {! m9 u% |
if(debug)
+ k. ]: d+ Z1 {) x$ Y {
) Q: f) D! k# C' {) d* D alert("last!!");* c! l5 G6 G9 Z E2 J* e$ [
}
3 |1 q3 v, N; E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 X0 u) N; Y1 {/ q {
7 O: |4 W7 q2 Z. |3 u9 R orgNode.parentNode.removeChild(orgNode);
2 v& r5 E, N9 P% X }
! W+ E/ a- T. T# R$ g$ v6 V }
, O. X" D% W3 U1 ^ else5 _- v, X1 a0 Q
{
1 D5 j7 d9 H- r+ d: g: ?! K if(debug)
; d1 A/ I. l, T G {
: c) M# H M8 x" A alert("compare color and parent bgcolor!");
, i9 V# |& q3 \( |) ` }
& C# M2 q& Q6 } parentBgRGB=getRGB(parentBgColor);% e( p/ R8 X# H* b% M/ m
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) { b" q3 \+ G. h0 A8 U- ^
{
8 q7 h s& {$ I orgNode.parentNode.removeChild(orgNode); # J4 N0 B. ^5 ]' K
}7 g k3 C! O5 ]) R( p
}: B4 A9 U3 l% b9 c( T* F
}2 M* m# i3 M, p' A4 G$ D
}
m \8 q; \$ r }" h- M+ |$ B2 p$ }& ^6 a, a1 h
}
5 x* F/ s6 G' {9 A. [/ J 7 L! I2 O6 i1 \( Y/ K9 S; H, ^
# W6 l" c: q( _3 U var itemFrames = page.getElementsByTagName("frame");- \) ?8 K* k8 L6 Y
var itemiFrames = page.getElementsByTagName("iframe");1 j" a1 ]2 x7 f; ]
4 s% U2 z. P1 Q% j) J2 z0 E/ ^7 ] var frame, iframe;
. q# m1 J7 P; {. c m( A- A# m if (itemFrames.length > 0)
N5 j" m/ Z3 f! ]) m# R& _ {
; L% e4 l2 q0 d. z for (var i = 0 ; i< itemFrames.length ; i++) 3 m/ `* z" K" N' ~5 i) V
{
! ]1 M$ k: S+ \+ l- K+ A; `+ s4 W/ F frame = itemFrames.contentDocument;* r0 L$ w2 ~" R* x
this.RemoveHide(frame,objname); 4 r! @; _# |8 B6 k* S! D2 ]
}$ \; {$ e3 Q" }( G8 G9 c$ L
}1 u2 m; [1 r) s7 y& ?) i0 O
if (itemiFrames.length > 0)- P; t4 M/ N' L5 B7 y
{
9 ?& ~4 q: b \9 |/ F, V. g for (var i = 0 ; i < itemiFrames.length ; i++)
2 e* `7 W& ]" s9 t* ]: D; S' r- p {' }! S+ k' N5 h, M* d! |
iframe = itemiFrames.contentDocument;& K9 b4 y7 ]2 K) ~' b. d
this.RemoveHide(iframe,objname); : E5 _' G) s& n. R
}) r$ f7 Y1 L6 D8 ]( k, X
}$ O0 q; q; T* t, D7 B% T: _
}$ @3 R$ m" O/ i% F) b
catch(e)" z' N0 ?2 m" f) R
{
- t" h c$ q5 Y" z( T if(debug)
4 L( r6 e O7 h6 A9 U {0 h- ^& j4 j: a/ q
alert(e.message);
! D% H1 _& ]! H# ]! a; c2 ]. L }/ ~ b2 E+ I+ Y. j
}
9 k- |3 w( _! n; q- F' e4 d }
+ C/ x2 w6 Q5 s 0 i, r, x9 f$ t" Q6 ? G8 C
}, Z2 O" _; ]2 y+ {" }
7 p- C+ |: X' y7 s
function getRGB(colorString)
, q, Y. [8 R2 ~7 B8 N* A{+ z3 s4 L+ B/ b8 w
var RGB = new Array;+ G% M7 [0 _6 X; e# j& M2 W
var tempSting=colorString.substring(4,colorString.length-1);
9 U8 A* }( @) p* W+ |( V var tempArray=tempSting.split(",");
& n l* s, Y4 T" |4 z y5 k' g" P. T2 N1 K6 x
RGB[0]=parseInt(tempArray[0]);
; e0 {* l* `5 j& c# u/ C RGB[1]=parseInt(tempArray[1]);/ o' R! {1 o' e
RGB[2]=parseInt(tempArray[2]);
; L( I# U$ Z. `8 { h
4 V8 s( R! d6 P' f- v( W8 ~/ { return RGB;
! F; L/ Q* [ y: u5 t}+ b7 `- h7 @% g- o' Y
function keys(evt) 8 ^; q5 c- n9 D; l" e
{
* P1 y Z8 s7 z- ?/ j if(evt.ctrlKey && evt.keyCode=="81")
) [0 X) o, d& G {
/ C8 K! q2 Y6 |! f9 B CleanHideObj.on(0,1);. Z, Z' b1 s* O( Q, b( R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 v4 l: \% G* N" ?1 _) _
( F# w* E4 z: F0 q8 R. Y }
. p0 K- U8 S: _: Y" [: Q }
' |3 A6 a( m, ^: V0 a/ ydocument.addEventListener('keydown', keys, false); / I: j3 U0 X8 Z' H
GM_registerMenuCommand ('Clean Hide',* r+ A1 R2 T7 T( N' w R
function(e){
! ~" b7 ?3 z* v4 f9 Y4 XCleanHideObj.on(0,1)
4 ~1 d9 @* G2 E+ o5 P$ { ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! e" R! v* s& }8 G});$ z8 f7 z6 A: w+ n
|
评分
-
查看全部评分
|