|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 x; [$ ^9 U# ?! W1 O2 ~* a3 l
火狐插件,用猴子: K1 e! A0 u3 u5 |2 _. ^
3 X# w; t. B! J, A: K$ Hvar debug=false;
; ~3 E9 d; @/ zvar CleanHideObj=new CleanHideClass();
5 ]- x6 u) Z H- C7 I
7 X8 R3 k; S6 F" e5 Qfunction CleanHideClass()
% ]0 }! l4 `& W{ # N7 J" n2 C7 G! Q. P$ B' i) P
5 s$ v+ [; i) U/ w7 ~9 G
this.on=function(id,bMZ)0 ]6 x. T; O9 n: S) r+ x+ [% A; S
{5 D$ e3 J1 D3 \9 d$ ]0 q
. z* b- v! @5 Q7 Y9 R' y1 f+ r) t
if(id == 0)
) L/ F1 N/ W! R& s {
& | @1 Q( j7 [3 P @ var page=/* document.getElementById("content").contentDocument */document; 3 e+ K) z4 y. \6 V ?( `; m
this.RemoveHide(page,"span");5 ?! `; M, w* a' V
this.RemoveHide(page,"font");
R) R8 O6 K* N! S3 p# m g this.RemoveHide(page,"div");/ R% ?4 R& l5 O
this.RemoveHide(page,"p");
: s+ P6 o& G$ q( Y* l" W; f ( W2 k7 S( B. G7 \; L: Y
}
, q7 V, y4 c0 _% r( e- t4 G7 p; G * j$ N H6 E% p+ |1 [ ^
}* m+ q- ^' ^7 s$ p L" P
this.getobjstyle=function(node,prop)
# H2 d: x G; ~ {9 u3 ^& D- _& A" G1 h8 s3 ^
try
) J9 {# |( O: m0 @0 ?$ _4 q9 D. V, R {
/ b9 t! \! M- W' K. E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# A0 z- M9 C7 I& v" z" X5 D* b
}8 `& V# G' u7 H/ t8 k5 o" b
catch(e)+ B- J: L- S* n1 X
{; C* ]6 R9 v( ]2 g
if(debug)
! J- r- a' O: d- I9 H" ?% p {
2 ]5 r9 _1 N) y |; i alert(e.message);* X9 L+ Q. q0 I
}
; @3 V/ D# l n) Q 4 S( f+ J5 N& p3 B; G! K
return "200";4 |+ Z: F/ T1 k. I( h
}3 c1 ^' g5 J8 x. b! l* Q" R: y, t
}
3 \+ O9 ]0 F9 s- a
) O% |. n& T1 z7 B2 M7 N this.RemoveHide=function(page,objname)9 N' C |! P$ l0 F8 E
{
" ?; C& o" Z% X) f& D1 ^7 V try
) t+ b7 K' N' j+ u$ e4 ^5 Q1 U {, W# A3 @) T/ T; D" n
var minValue=15;7 T5 k0 U9 |1 X- t5 X* a
var objs=page.getElementsByTagName(objname);
6 {4 w$ `0 v! b9 c0 w8 J6 W' k/ }+ S- p& b2 N1 y Y1 K. m2 c6 e
if(objs.length == 0) 9 g \* @# K6 D
{
" e" P) j( ?6 N0 |5 T: G if(debug)- y8 I" Z/ a2 c- s2 ~& h
{* }$ i. j- T- K- G0 J: U/ Z
alert("no object found!:"+objname);
" c$ Y5 i5 J* O3 R8 X, I }7 A) _( H* r0 S5 P, R9 u
}
0 ?. C) e' B. p3 [- A6 h else3 Y( v, D' ?2 F8 P/ t* Q
{( K- Z. z. a- P$ n' D
8 t! O9 X. u9 e& u" z( q0 x) J
for(var i=objs.length-1;i>=0;i--)
% y# y, b4 A/ L, w1 o$ o; ` {
, h7 @* D" A$ T0 w. L% j var node=objs.item(i);
7 U' g" s) N4 M: v
, b4 B/ t, i: B/ G * u4 E9 P: y: f9 E5 s @
if(this.getobjstyle(node,"display") == "none" ||
{6 A( L" s8 g this.getobjstyle(node,"visibility") =="hidden" ||. q o; M) N8 y# |* ?1 U% l
parseInt(this.getobjstyle(node,"font-size")) == 0) ) [. u" o' S9 f4 V) q7 t8 S
{
3 |( p& R' J. h, c- M5 _ if(debug)% |" ~9 |. h0 m$ d8 B9 z- x
{
) ]$ g& Y6 R1 e! D' K: @ alert("remove invisiable!");
' p: ?7 |$ V8 M" r } Y# i. V$ G- H _! R6 Z
node.parentNode.removeChild(node);
, d# x! J3 G( f' ?3 R/ M
5 g3 ~1 d0 y/ ~* g+ X; G }; o$ [/ x5 ?5 q) m3 q X
else
: |6 C# s- M8 F" R6 I {3 k, S" r# S2 n
if(node.parentNode) 1 i3 y, l/ f" P) y7 O
{8 x: y& x7 t* k+ J9 \) q
var orgNode=node;4 M; W3 m4 A" U( _
var orgColor=this.getobjstyle(orgNode,"color")
8 ~1 w8 F3 U4 g: g1 z var orgRGB=getRGB(orgColor); {4 | Q: C; a% h% O5 q
4 [9 M7 F% L7 o) c% w! v% X5 b, }
var parentNode=node.parentNode
8 J0 j+ r8 v3 t/ d var parentBgColor=this.getobjstyle(parentNode,"background-color");
! k! I5 M: S9 z3 D! _3 `+ v
5 [7 J0 z. g9 W0 m8 X var isLast=false; `4 g2 ~' g3 _' X( y! X
* o* [# U# J6 `0 W% O
while(parentBgColor == "transparent") $ ?/ C0 Y: Q5 i' ~
{
2 S, `. M" L+ P) f. L ) t7 f- i" h e$ i
# B2 A8 E# g: y1 a; Q5 Y if(parentNode.parentNode == null)5 u& Z& r7 T# _
{* @1 Y/ I( N6 V0 _, o% A6 H
isLast=true;0 _. h/ K; M" C7 y& o
break;* q! c# w( a- W7 V
}# o, {$ Q/ ~+ a) }4 X! |
parentNode=parentNode.parentNode;' y9 j+ o: n2 \8 ]6 H
parentBgColor=this.getobjstyle(parentNode,"background-color");" C3 w9 w/ u3 B) D0 j0 ~, C
0 V5 D" R; y c1 a( K
if(parentBgColor != "transparent")
/ m5 k/ S# H& U/ M3 W! g* s {
4 g ]) o) E: m0 N5 E# ?; u break;. p Z' Q. U3 N. g1 h V
}" i# A! i V' k. g2 [
}
( U7 ]$ } \: W4 ^' v) ?& P8 @0 Q if(isLast)
3 x1 T# s3 Z! q {
: t& T# n5 L1 w( n if(debug)
9 n# y/ d6 J. |# s {* ^. E, A' D$ v, c r5 V& x) _( g8 y3 n
alert("last!!");
% _: O9 i' f4 t- I2 W9 c! D+ @' U$ r }1 R" ~) j7 F; T; b
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- L& O+ T: R5 R$ d# ~
{
4 e4 ^* y& a0 ^% R orgNode.parentNode.removeChild(orgNode); ( |3 T* a, e) T% z! L+ z
}
; x M( W q5 @' p+ G+ x }+ ~) @5 Q: Q! A3 _; d
else6 q' m' Y* G1 _! j! L: P
{
0 ?0 R2 |6 C/ [, t. o L if(debug). b9 t- @5 f4 V9 J& i* {: o
{
& f3 S( @' ]% |, K' J! A0 l alert("compare color and parent bgcolor!");
2 U9 f( f0 M' t$ L6 n }$ F. L6 ~- W! l |) ~
parentBgRGB=getRGB(parentBgColor);; h+ y3 d9 E: W3 A `# b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 p7 q+ b: S2 i, b" _8 q {
; x; f o7 i/ h9 M! q( ^& E7 } orgNode.parentNode.removeChild(orgNode); # [( n. _, s6 W
}; F! ?; k1 w* a; u
}
5 j; g) [; y/ _' x- c }
; k6 Z- @) {* |1 w) \ w. s }5 d( R# X9 p8 x! W8 [ B
}
5 N; L' I" o9 l3 F0 s; X }
9 E, @2 j6 P/ l7 S2 g( U8 B
+ |: ]4 q' ^( b0 Z+ l: @
6 D3 r8 z3 K; O4 o& j var itemFrames = page.getElementsByTagName("frame");3 E1 T% X- k8 s, v
var itemiFrames = page.getElementsByTagName("iframe");$ f% X' ?. E$ u1 h
* I0 m5 P. r5 f i var frame, iframe;1 ?; T& G, f$ ^/ a5 k' A
if (itemFrames.length > 0)
. g) B4 X# O) {2 c% N7 o: z {
1 d2 r, H9 T; r. K for (var i = 0 ; i< itemFrames.length ; i++) $ B+ z, K4 N( _$ D" I
{, {* G6 Y. |. E2 l! K) v
frame = itemFrames.contentDocument;6 b2 `8 J5 t0 W* f
this.RemoveHide(frame,objname);
6 d- ^6 r5 P$ ~( G; q9 q4 G }9 u# L9 m7 e' l# |0 k, v) u. ~ Z
}
5 [" N- G( O9 g" q4 l5 j9 k if (itemiFrames.length > 0)
0 C6 |* V. t3 l$ L4 N' s; L {
; u8 h& d$ }+ `4 f& v* v for (var i = 0 ; i < itemiFrames.length ; i++)
% O9 @4 ~! _ a) N7 i {
% { R! g4 Q$ { iframe = itemiFrames.contentDocument;
2 U8 `. y* j( g7 t( A this.RemoveHide(iframe,objname); 6 b- X2 l. [/ o8 B7 H( j
}' Y1 Y% b7 Z; d3 i
}) W* r+ ~% c+ [0 e2 g% `; E" ]
}* I% f+ @* P& K% _# A: `5 ^2 f
catch(e) @4 V% w! ]' @( j$ Q
{$ ~9 p H ]5 p' [2 F4 u+ E! r
if(debug)6 e8 e {* e% l% [* y9 t2 f, l1 v
{
8 b: j% y8 D5 _ alert(e.message);
9 c3 i. U" R0 o' G7 v } l! Z8 ?2 o5 J+ x* ]' T
}2 O) c' n# W& {' z
}( [5 F5 I- d6 Y8 |2 U: o/ v
6 c# i- s' z0 _0 [* L4 _- W2 ^/ k4 m) m}' L4 ^8 s# O$ c
( c2 e. m4 c1 B& @# jfunction getRGB(colorString)
K% H1 @' J( [9 k4 H{; G( E( ]* R/ k' E1 E+ h8 K
var RGB = new Array;
0 k* o2 w" o/ w var tempSting=colorString.substring(4,colorString.length-1);* g% [& u; A* k
var tempArray=tempSting.split(",");
b3 V' ~/ T3 e' a
/ k( \1 Y, ?& }7 ?; }) j# l RGB[0]=parseInt(tempArray[0]);
y! {3 r9 X* ?4 w' T: Z RGB[1]=parseInt(tempArray[1]);
9 |+ O2 Z# C+ [7 q1 ^ RGB[2]=parseInt(tempArray[2]);! T1 }% P1 I9 G
* L8 `0 J- j b' R* P7 Y return RGB;1 G0 J9 i6 A+ y: X1 P8 n% F6 |
}5 z: Y% E# q# `& ~. F
function keys(evt) ' P5 A- |! e6 X" |- u& R
{
0 \( C6 p: e) U" R if(evt.ctrlKey && evt.keyCode=="81")
0 U5 X q Z7 D$ ], y {
# @- s9 E1 C& P. A! A! x; b CleanHideObj.on(0,1);
6 K0 R3 V8 \+ I6 { alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 F1 @3 ?5 z5 @& k" a. G& Q2 S
) e7 h+ s& w9 V9 w } * W |+ l" d0 I
}
. z: O# \2 y; ndocument.addEventListener('keydown', keys, false); ) g8 [% u' ?8 B$ I) Z
GM_registerMenuCommand ('Clean Hide',
# f( g! r: y& z& q' Ufunction(e){
9 e5 B) s1 S6 F( C5 E; D& M/ zCleanHideObj.on(0,1)
+ k5 r0 N1 h- {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. N& I: H; u" S3 K$ _});
6 o6 R3 M" ^, Q8 H- ?# d, o |
评分
-
查看全部评分
|