|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 Z1 U& G( L1 }- ^$ @
& s/ L7 N0 Y# E/ M* A. I& D
火狐插件,用猴子
$ F/ L- d! W0 s7 m4 {+ C% Q2 [, g# u) S, @! B
var debug=false; ! Z X5 E* ?" q+ e; t5 S. M
var CleanHideObj=new CleanHideClass();3 A+ k& w' O8 [$ o7 B7 U, W( P
8 c6 o; n" q0 O1 u: l: `! r# Ufunction CleanHideClass() 3 @; a) m* B6 ~) D; h7 B/ Z
{ ' ?; f* `0 d2 M: P
7 S; x5 k: J% [8 w6 k this.on=function(id,bMZ)
9 o- W% G9 {* I {
0 @. B. T' w c% {! q1 m' q ]( u Y% H$ h! e' J" F
if(id == 0)' {: h1 W* H# U/ W. p' L
{1 {7 x7 A) o, H3 ?9 V$ q9 z
var page=/* document.getElementById("content").contentDocument */document; 8 Q9 l- o3 D: T6 J! Q8 c
this.RemoveHide(page,"span");/ l6 F7 k2 f3 h& F0 `& T$ e
this.RemoveHide(page,"font");# c/ T% C; D! h) Z0 h
this.RemoveHide(page,"div");! O7 @ \1 c/ Y% Z- ~
this.RemoveHide(page,"p");5 T B' `/ U2 C; k
' u8 d- i, p7 G) a2 n: f! N }$ F! |* N: u. W: x" M d1 u) l$ e
, U" b) G8 t( i) k x- M
}/ y, Z2 f* _, \6 X" V; Z: h p
this.getobjstyle=function(node,prop)! y& p5 v( ~" |+ n$ Z2 w
{
4 j2 _7 [/ O9 h- V try" M W; e- d i8 F
{
) @0 x9 f6 \# E% \* o D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 m% k6 M3 _, E3 F; ]
}9 ^- D0 g4 y1 p8 g& u% h
catch(e)
7 X* y; C0 Y7 U( N) h0 ?( ] {
" o7 A0 v$ L3 ]7 x h if(debug)
8 d: {+ \2 \! j. [4 G7 H P {
4 t9 A5 |8 r) [$ Q9 c alert(e.message);
! Q6 }" R& S7 `4 P2 g0 Y3 n+ W( | }
* C' _! q! q# q$ y 4 Z0 |2 L$ `3 p: Z( ^5 G" a- B" H
return "200";
0 a# \. R4 V2 ^# z7 m7 @+ X0 w }3 F, F% X8 [" V3 O' y
}
+ V1 S6 i: S9 J* i& D # v; n+ c* m& |; b& t; e$ g
this.RemoveHide=function(page,objname)
' `% T/ l& l1 w5 Y* x m) f+ K- U {
3 f% o+ Q: K& o9 Q' W i! W5 ^& C try+ S6 r- z2 @, H# M
{
# R. K4 e7 Z! h7 X( F# H& J var minValue=15;
" o" U5 c u# w8 E; F' d var objs=page.getElementsByTagName(objname);
* D* Z. F) k& H& `
* F, Q H/ r; r7 n! y if(objs.length == 0)
, P- {7 P0 G) z' K4 y {6 m0 V8 r: _3 u! E( B+ Y9 {
if(debug) c2 |: Y* s& h' h0 Q/ F: w
{
# R4 U. {7 v& L2 p8 B( s; ~& ` alert("no object found!:"+objname);& J7 R) t* H1 D, v* K9 X; T# r B
}4 A& E& Y$ G, U8 M2 }. T) u3 x
}% K, b* j* R& S! d3 d# Q
else
4 M% h; a2 z2 D: ^) e* a {
$ F+ _. T+ ?4 V . Y! W' c. n- w( s+ n8 c. b
for(var i=objs.length-1;i>=0;i--) " l# W! d @) |- D8 x
{
/ W/ X1 ?2 M5 K var node=objs.item(i);
( C( I8 [" P" `% }. E
/ k$ P' X) Q i9 P6 A
3 [; |; a- X. | if(this.getobjstyle(node,"display") == "none" ||4 i) I# ?# w$ T# T
this.getobjstyle(node,"visibility") =="hidden" ||. I, v/ e8 J, V
parseInt(this.getobjstyle(node,"font-size")) == 0)
7 e8 L$ j7 J' S2 J( L# H. `6 \ {1 @1 G5 Z- r @6 c
if(debug)
, X; E4 \% e6 H {
/ t7 {9 n7 f: Z# ? alert("remove invisiable!");
" E( E1 ^) l7 c- w }" m6 _ E7 T, q2 d/ E
node.parentNode.removeChild(node);& V" Z7 K; b- b0 {% K. H
9 }! P. a6 t7 V* M }
! j( v5 R2 @5 @; `6 S, p else
- l6 [8 l& c+ c% L3 Z3 d+ y {: K4 [8 M$ I5 G7 q9 ~: @
if(node.parentNode)
0 s+ x* [5 M' U {. X1 ^1 @/ ?- a1 H( T% Z' Q( O. X J
var orgNode=node;9 @7 n$ i, N% Q' F. b& x
var orgColor=this.getobjstyle(orgNode,"color")
4 d# S+ l P( z( e var orgRGB=getRGB(orgColor);
. a8 S2 r+ `0 @; `$ e& c 7 u8 i% H* S3 J: s( J
var parentNode=node.parentNode
8 \$ x5 a! F7 c: I" T var parentBgColor=this.getobjstyle(parentNode,"background-color");" N' \/ ^! Y- e3 {5 j" y
% R3 \7 R4 d) V7 d0 \ var isLast=false;) Q+ b* M" t3 P' n! n1 N
# ^+ f4 Y1 @5 k+ }+ o7 } while(parentBgColor == "transparent") ( ~$ R5 A: \9 x( ~+ q
{6 c: ?$ k- h2 g7 ^0 e. c- T G
. K# c% l; u9 h7 @7 v3 ] ! |" J- Y( b. k G( ^& F+ t/ e2 ~: F
if(parentNode.parentNode == null)
+ B6 A& i' F: o6 O$ ? E S- E {
7 B, ^, x1 T. `& B- i isLast=true;
2 E0 F. Y$ H% A; C break;' V% `4 v8 j4 }; M' R7 j
}2 f# N( g) M1 F1 R
parentNode=parentNode.parentNode;& ]! f$ A( D. c% p
parentBgColor=this.getobjstyle(parentNode,"background-color");( y9 {5 j. O% o/ `# E4 }
F f) P7 \; x" V if(parentBgColor != "transparent")
. w- @7 _7 s! ^, E, ` {
7 `( N( g& L T6 b N+ q break;$ u6 J$ w' R2 O. X u
}
5 K% \: x! I7 Y3 p }
" L2 g+ d( ?( u: l. E if(isLast) 6 R' m' ]- H+ W! p: d
{5 k8 U- G+ O3 \6 t
if(debug)
# F, u; z& E; o( B' l+ U6 ^8 y6 ~ {1 m9 Z# e; K$ y( E, V
alert("last!!");0 f/ R# z( u1 X. W
}
. N: v+ z. _% @4 B" l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! N e% t+ @% t9 Z7 R' ?* P q {
. p }' V3 f2 s' y9 p& q/ H orgNode.parentNode.removeChild(orgNode); 4 z: `; o% G8 m8 C, x: q5 Y+ W$ |( f
}: B2 s, s6 Y7 O) _! L
}
0 Y+ m6 ]: T) O% M else; s/ J/ z, a$ V
{7 Z' }9 F) @ j; N: y5 `- n! E5 _4 k1 {
if(debug)
9 W! G4 H9 [2 `3 b( Y4 U {. A% T8 ] ~8 P! `4 {5 B' u5 Q
alert("compare color and parent bgcolor!");! W5 A$ q, c0 [9 b
}' `& V0 D8 ]1 a# [
parentBgRGB=getRGB(parentBgColor);
7 P; c" G: W3 k3 ?+ P. @( G if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- q' a, X7 p1 ?* [/ |9 |: E5 w1 b* `) a" K {
! G- J9 U8 ^9 {8 _ orgNode.parentNode.removeChild(orgNode);
0 g2 O1 j$ c4 E; y* S }
# {% k+ j/ Y5 ^3 j }
5 G$ d* {9 B# N) M& S. n }
5 `6 g3 O% B' E7 p6 T3 X }2 f. q0 a" r. E h% l
}
6 E/ a2 V G& {& U7 n }1 q8 b4 ~: o8 C; M& R& X
6 E. i- x5 [9 v5 z- A& r1 [- ^
4 X- R9 Q" G' K4 l+ t var itemFrames = page.getElementsByTagName("frame");
- r6 a0 w5 ~: G# O1 K var itemiFrames = page.getElementsByTagName("iframe");2 d% S5 x1 ^/ y$ L; s$ R' r3 z# X
8 p# S( [$ d. {3 G2 I. e var frame, iframe;
% N% n1 G4 T7 f9 `& Q9 F/ Y# k- p if (itemFrames.length > 0)0 _9 O2 o" }2 C8 y, i0 `& R
{
" G; x3 `( t4 a( ?/ t9 A# p" x. Y for (var i = 0 ; i< itemFrames.length ; i++) 9 O% E( J! H; V9 ~
{
, H8 [$ u: B' r" |% Z, t frame = itemFrames.contentDocument;
6 ?& n: j; {* s' X( X& S/ v {: W this.RemoveHide(frame,objname); 9 R1 R4 [' g6 s0 {: e3 J% s
}$ j, I) x1 y$ D. b
}4 V4 ^+ t+ w( [! X6 e8 ?, h
if (itemiFrames.length > 0)4 e5 i% k# x4 U+ p/ {8 b
{
2 E% J' S- J4 E: I" _' z for (var i = 0 ; i < itemiFrames.length ; i++) 3 q$ Q) `3 D" |5 }' F8 A4 _" Z
{
4 y; J' l( N! c R( s iframe = itemiFrames.contentDocument;" I% i4 d8 L* F
this.RemoveHide(iframe,objname);
/ v1 S) }5 t) p( N9 R. p3 w }. F! y1 m& W3 V
}2 x1 U, J+ W1 n
}! F3 z+ Y$ H x& h: w$ g: W' G3 w
catch(e)7 W- J! H1 {( F
{
]; n+ h! y) A* K6 b if(debug)0 \; Q/ H4 ?% s1 Y f* [6 p9 ?+ E
{; T7 v4 G8 H4 G5 n4 W% B" i
alert(e.message);+ h# W( i1 f8 _1 l! B _$ P
}: w" l) w3 S; W% p& k
}
8 m, z7 H) j! s P1 S }' O: I( e- u( _7 g
- w: @$ }8 l9 U8 b
}
, K# i- Q3 y7 w j9 @$ r- u5 k, D" V" A9 F0 d
function getRGB(colorString)
3 t# A# F, o( ]: }: G, s" j{
3 Y8 o# A" M7 d- {/ Y var RGB = new Array;
# r4 N1 e& u; i$ p: v var tempSting=colorString.substring(4,colorString.length-1);
; ^# G' h. [, c+ U var tempArray=tempSting.split(",");
9 r% t" ~, I: ^" D2 B1 C* b B, d0 f, e
RGB[0]=parseInt(tempArray[0]);
( v2 b! @3 i" i6 k0 l& W RGB[1]=parseInt(tempArray[1]);
8 b7 D$ U5 { _8 B RGB[2]=parseInt(tempArray[2]);
" O: J% D# c1 Z3 d7 _& L& P% r" l
( h0 R; T" W. L return RGB;
+ T8 \5 Q3 I' `; b* A}; U4 I- b; A& h: A
function keys(evt)
/ p' }# r$ X& p% f1 _9 _- c2 q; j { % E% R8 Y1 v" U8 m
if(evt.ctrlKey && evt.keyCode=="81") ' |# J4 `' w$ C! @* N
{ . }5 d4 Y# n8 T5 R
CleanHideObj.on(0,1);) J& ]* t" C7 s' F$ g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , l6 M0 A2 J k
' u+ L! e. w- @- }2 U }
, X$ v- {. V, k& t# D. K: r+ O+ N } L# F) r- _) v; Q0 b
document.addEventListener('keydown', keys, false); 7 Y! M; h1 Z; v- o! h
GM_registerMenuCommand ('Clean Hide',9 y5 ?2 h# S" C! q: j: a
function(e){
$ Y) u6 {6 G- u+ @. {CleanHideObj.on(0,1)4 V, w' }5 ]: `, i( L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 W) {5 c% ?# O" k
});
( e5 [$ L8 I! C# b9 u |
评分
-
查看全部评分
|