|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ Q _7 r2 f U% O4 e. R9 t
' e- {' }. {, p2 o火狐插件,用猴子
& y+ K& {0 J. A1 \. x/ ^$ n& D9 c. |: }2 }1 e" S
var debug=false; + P( g, l+ b" d* J# t, G
var CleanHideObj=new CleanHideClass();
v" y& j; H! [* P% M7 }- v, e' F
: u4 R5 N m+ y0 Y. o% j. |function CleanHideClass() ! ]; |+ g, l9 d
{ & [9 Q$ [ V$ k
# N* V& w7 d1 D
this.on=function(id,bMZ)
7 Z# ~7 ?4 X1 ]! [9 s: F {- O/ b u: z) A# |
1 ~7 o: N: t" J
if(id == 0)
/ |0 z- a& V$ {" ]7 Y. s6 d {
k# J/ f5 F; I) E6 u7 m- @ var page=/* document.getElementById("content").contentDocument */document;
! F6 K5 C4 [6 x this.RemoveHide(page,"span");7 }" X9 v+ H3 L2 _* i0 I
this.RemoveHide(page,"font");' r# A. y7 A$ z9 b$ Y, P+ O% M
this.RemoveHide(page,"div");7 g9 ]2 |: Q \# @4 n
this.RemoveHide(page,"p");/ k) [' i! v0 U3 T: u3 Z& f6 N
( X- }3 h3 O4 ?( g6 @3 ~
}
/ D7 ~+ D% n& R4 d, ] Q 5 P. [/ I9 |8 ?% C: V
} |. A! k, ~4 C; O0 P
this.getobjstyle=function(node,prop)
! |% d$ u$ w# i { E$ k2 r o! {: E3 h+ e- n
try& a, b7 H9 x- S3 ?4 \1 c
{( }0 p; H5 j/ u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* ]" @" F. H4 K5 J
} y2 G0 r+ f- m) w
catch(e)0 @- ~' G" i1 ?/ n% @ D3 X- r; f
{0 n( f9 V' Q; i0 q- @) K
if(debug)* U+ F T6 r$ }, ?6 B
{& \) v3 X; G, S7 X9 _
alert(e.message);
) r. Y( l# N% c7 g( c8 s, H }
% {# i0 Q6 y( |$ a5 z9 ~* j+ {% f+ N1 w . p# T; Z" s) d" A; Q* r
return "200";
" x2 C' o' P$ D! L }
& R) c) q* c. l4 {$ ] }( e3 [+ U: r; S' q( O6 B/ Q3 D
# F7 j. ]' I4 \( z% Q% m9 k! y this.RemoveHide=function(page,objname)5 R+ B' n9 n+ R& z+ M
{
3 \' l* P$ \8 _- I3 ]" t" l try
6 e& D9 n4 M7 T) W4 M {1 N0 `, h! r! W
var minValue=15;1 |7 t! D% D" s) u/ ?: R( t
var objs=page.getElementsByTagName(objname);
) \( r* @5 a, g) v/ P% u, R* c0 k4 F4 }/ @6 R
if(objs.length == 0) - X. R) b8 ^% r @- }1 ^+ f, F
{
$ h# b6 C( Y4 ?: W if(debug)6 b7 Y/ n& F; A+ t9 S- ~
{% j0 Y/ I {8 N0 @+ Y( _4 S
alert("no object found!:"+objname);7 A# x" N5 R5 i c& l6 l1 f
}; h- s7 Y4 o: @0 t& V! W
}
/ J3 h$ a# q* k; D/ F3 V/ R else
% K2 K! O) Y F {7 E' i" _4 f# K' O+ x, y6 z9 Y
7 n, ^; Q4 `! X+ }; h/ ?2 D8 s
for(var i=objs.length-1;i>=0;i--) 1 N( L m) R% w
{& E' y% F' G* b$ b7 v
var node=objs.item(i);
5 @2 v H: F/ o! P9 s& A- K / `# P5 E: O$ ~+ s
x( J# |( Y1 D+ {6 e
if(this.getobjstyle(node,"display") == "none" ||0 h) W, _& V8 B3 |: P1 M
this.getobjstyle(node,"visibility") =="hidden" ||
7 @& y. x! v( }1 d. Z U parseInt(this.getobjstyle(node,"font-size")) == 0)
# m2 _0 F: l8 s0 h& _8 ^& I {
4 Y$ b% s) I8 N7 [ if(debug)
( d I% ^3 \7 X$ ]4 { {
0 M9 }, ?4 F4 J8 Q; p; }$ f* I alert("remove invisiable!");
6 e4 A% @; R; A; R0 { }
8 c1 A$ b% Q) v! p5 @1 E node.parentNode.removeChild(node);
* j: h* |6 Y7 X* W
5 D6 H4 Y/ L. B7 [ }
! \" ]5 m; F! M* d else
8 f5 U6 x9 ]% d {
6 T- z! B( X2 W( s0 f7 p. t p2 f if(node.parentNode) / w* G. y6 `1 V/ V) [
{
& `( \! ~! P: u) d3 a; y var orgNode=node;
; w& @' R: M1 ~/ p: F! @4 v var orgColor=this.getobjstyle(orgNode,"color")& X6 b; \2 z. ^2 m7 f
var orgRGB=getRGB(orgColor); ' o# F$ D$ I1 s& ?8 W# d( i) v
3 r2 N/ v9 D) Z% a, I
var parentNode=node.parentNode: b# i, s9 j7 d4 @2 W3 N5 y y! E7 H
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 H2 n2 ?& M2 X
* z5 v- q- D v& ~
var isLast=false;8 U" l2 k9 a" n$ I& I
& `7 a" G# c# {4 @$ b
while(parentBgColor == "transparent") # A. q4 @: X% c8 N
{" |6 v( u( U* }
3 g; D4 \0 p3 H5 ?
6 p: P3 T+ a1 p) ]4 i" r2 l4 r
if(parentNode.parentNode == null)0 i) | u1 V% E& l$ ]
{5 L/ A! F, C6 M2 T9 g
isLast=true;
& G" C9 g( a3 |: A2 d& B/ ^: ^ break; N, ~6 M8 r% t% t& m
}
: W) A1 p( S" z* \! Y% i* Y$ k parentNode=parentNode.parentNode;% N( a5 V+ P, R% X3 Z6 F/ z
parentBgColor=this.getobjstyle(parentNode,"background-color");* `! K/ Z, J) s7 P
P1 G4 p" o5 d1 W if(parentBgColor != "transparent") & K: v3 z+ ?/ i/ ]
{
I1 F" e3 V0 b7 e% j, d7 F break;3 J+ M2 }& V8 E( _% z' \4 q6 _; z
}9 T; g1 x2 G9 o. P, e h) e
}. Q3 ]0 B% a) K5 J9 Z" q% H0 e) c
if(isLast) 9 N+ C! S& I( S* R" X
{* y$ m3 H' N' Z( T$ n: Q8 m
if(debug)% C. s# {% W g$ P4 e; O3 u/ Y
{
- n' C3 x+ _! r' V) a alert("last!!");" M7 h( A* ^5 s8 i1 F
}' B- {% [/ C3 d& I5 e4 i- P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), w; [ Z7 j) y' \
{
0 Q% `3 L- c7 S4 `! U orgNode.parentNode.removeChild(orgNode);
/ j* j" Q7 U! R2 N0 w: a }. |/ S; c2 a3 G$ X. N( v
}; J( H8 @/ u6 F* A2 L4 O: S" t
else
: U$ @2 l# t: A+ v8 I" |9 {7 ] {5 c- w4 k) R" [
if(debug)$ ^: \5 S$ D4 [* O' U. b0 c
{3 D# O- @; k: ]4 p( p5 I
alert("compare color and parent bgcolor!");
4 @4 H; X. u# n! k0 @) R }
/ k- {4 n! W: S: e+ b0 k! ^* }: V parentBgRGB=getRGB(parentBgColor);
* T: P5 ]+ S- k if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
V! T( }5 R( t! p {
1 _$ P# f1 Q) P orgNode.parentNode.removeChild(orgNode);
0 o8 r7 _, P% D# W! S }3 H$ G4 a) Z, k& b5 T4 P
}7 Z0 q# A( k& |0 Y
}
2 ^3 g* h8 k$ X" d+ p }
* c6 ], }3 Q0 O' a; q }
. \5 @5 ]8 u( H }1 m) w' f! k4 d8 R
5 G' k( ~! _9 G* f- z
" ~" S. m7 t2 N8 w- f- d, a0 C
var itemFrames = page.getElementsByTagName("frame");
+ b0 R) K( W; Q" {4 f% G# j var itemiFrames = page.getElementsByTagName("iframe");' F. l# L6 t3 @5 D+ x# O
" I, P8 u y, J" U
var frame, iframe;3 R6 o$ s$ D, Q& U8 `; J4 N! g
if (itemFrames.length > 0)
$ w8 A. }8 l- `7 [' Y9 e$ [ { T9 D5 {+ e& F1 G+ q; H
for (var i = 0 ; i< itemFrames.length ; i++)
4 U" C3 A+ n6 Z6 i2 H {! d' \& B( d+ I' V" F# E3 o
frame = itemFrames.contentDocument;
& q% s0 r+ F' E' _ this.RemoveHide(frame,objname);
: C) A/ a, _% F, t& \. c }
6 o/ |' V: \ v. p* ~9 a3 ^ }2 O0 r% T, l3 n
if (itemiFrames.length > 0)- {3 ^4 Z+ |3 g8 S/ H9 @
{, r1 b b5 Z: e
for (var i = 0 ; i < itemiFrames.length ; i++)
* d) ^) L7 f# }+ E$ d; ?4 [ {7 r7 f+ ]" J+ o
iframe = itemiFrames.contentDocument;. D* b2 I G% X
this.RemoveHide(iframe,objname); - D9 i8 @7 @2 k/ H
}- E3 Q; d. X$ N0 N6 w
}
0 S) D4 {6 S/ g* |3 }$ G, ^ e }# m4 u0 P" W1 y( j8 e& i
catch(e)7 e9 C. B9 M; }( Z! W% f
{
3 C% W1 _! @! W if(debug)
( H* m* k/ u5 j3 P8 U) Z$ e {
8 }% a1 S0 \1 ]# u5 I6 |9 N alert(e.message);+ B+ J$ M+ J# a6 e+ T! t. E( w
}$ S6 J! e/ y3 m- n! p4 C
}
" K$ v- m' G+ B5 S }
( j# `. y6 {% s$ Y3 E# i ) \- |1 |6 @2 n/ l
}
" m, O% i- s, F7 l4 g ^
6 Y/ w$ g: h1 ^3 K0 `function getRGB(colorString)
$ O/ `3 Y( U( b2 ^/ r$ v* s- O{8 J/ B/ `# e" S b. ~/ k8 R
var RGB = new Array;, z) ?, [7 Y: {0 h
var tempSting=colorString.substring(4,colorString.length-1);
/ Z1 e7 S2 s5 h6 m$ x var tempArray=tempSting.split(",");3 O1 I5 H0 R: N7 N' H: I
3 K! R' _, ~$ N/ P- m RGB[0]=parseInt(tempArray[0]);$ R8 T! c7 q; V. ^0 ~
RGB[1]=parseInt(tempArray[1]);
, w+ ~' C. T# D" R i/ W7 s& P RGB[2]=parseInt(tempArray[2]);
+ U r0 B# c& T
Y; L/ f& G* t$ N! B return RGB;( q9 L9 j8 {$ v! J* Y# s" Q
}
S/ `/ P, D) t, K# f- w3 ~7 Y: Mfunction keys(evt)
* n/ h' }2 ^1 O0 v* D {
* G9 R: E2 i/ h% g7 |1 P/ E if(evt.ctrlKey && evt.keyCode=="81") 0 ]( Z- a6 u5 S
{
/ z* n5 ?, V3 M, I* ]+ G' v CleanHideObj.on(0,1);3 G. Q1 f* x1 J9 N# u# r/ z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 P1 a- c1 a+ V$ a: g
, N0 _8 N% G4 P3 m, d( A$ q }
8 t0 I( ~- ?; C% Y \& a } 8 Q3 M! o4 q! a0 O3 ?
document.addEventListener('keydown', keys, false); 9 X2 N8 B% t+ K
GM_registerMenuCommand ('Clean Hide',( L: B: d5 u: V
function(e){- e* N0 b- g. F. D0 o* h
CleanHideObj.on(0,1)
6 Y4 W7 ?0 S8 x' O! P0 {5 Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ w6 C, H: K6 V7 B7 T( K( `( l8 `( y
});5 b" \4 d3 ]5 o9 C7 Q3 K
|
评分
-
查看全部评分
|