|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # t" p6 D& H0 Z# A! j+ t$ V. l. [( i
! A8 x+ `$ x2 [7 E( o
火狐插件,用猴子
4 O& i+ `2 s% a3 Z. @) K
" g( T9 M* f% s! S- k! bvar debug=false; . T3 p6 [ B, H3 C5 j
var CleanHideObj=new CleanHideClass();
0 L" b k6 N* d6 t8 A( E
( U0 n+ c j9 F# S$ j6 K* _function CleanHideClass() 3 s" r) S. F% F& E8 S1 `
{
9 H q8 S; w$ U# E
& H# ?+ @6 J" E4 C0 O1 ^: x this.on=function(id,bMZ)" O" ]* Q7 t( x' B( x
{
|) t# b) F8 k
# N$ Y+ |& U$ {: \* G' y+ g if(id == 0)
/ ]! e( g/ q' d d {4 p) r8 ^5 u: ?( J4 a
var page=/* document.getElementById("content").contentDocument */document;
9 w' X" e* Z. S7 d this.RemoveHide(page,"span");
- K; A) O M! M6 }. l% T this.RemoveHide(page,"font");
4 T1 t1 L$ ~. {' x+ k A this.RemoveHide(page,"div");
1 \. Q( N3 V- h/ z+ q this.RemoveHide(page,"p");/ @/ e' [, I3 Z6 r; G/ j
% W7 C4 R2 z( k! u0 H5 c
}( N0 A4 s0 [2 z9 g/ b
- o% K; ?7 a' U. `- M- ^: ^
}! l: U' a$ q% O4 R
this.getobjstyle=function(node,prop)
$ x4 d1 e# I( z/ G4 T {
& t1 C5 {9 b8 f try
8 h" W5 @2 |+ [4 \6 r. M, U' }2 D {
5 F. W# n$ q/ A k9 ~7 h. e4 M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" D4 @; T* k) M* b1 k5 S* J2 \
}7 o! Z' F' d& q) }1 Z7 p# X( j
catch(e)4 I- x2 G/ m( d( B6 f5 o+ f0 S7 m/ S
{
7 i6 F2 Q: U7 t2 d/ Z6 O. U% P if(debug)
y2 }* q6 X; [5 a) Z* ? {) L6 W7 ^/ K# p' i
alert(e.message);7 j+ _2 }9 g* B: h, I% b8 r
}! B8 q5 [: Z" a1 ^- Q
2 e1 U) Y6 _2 n5 r1 A$ K
return "200";9 r$ l& R6 R( B2 l. |& u2 ~& ^
}
1 Y& l! s/ ] O+ b: P0 N+ @: C }
) f& o6 @3 f8 [: r4 n ( ^6 V# X) |+ H# P& q- h( V/ A
this.RemoveHide=function(page,objname)
+ l$ }) ?' E" y) U+ u {# Z7 _: B: [% n; I
try
/ v0 {. A2 l: t9 v7 g4 \" {, J {: z4 e3 Y' W; e4 p
var minValue=15;' S0 J0 _; Z$ _! ]# {8 @. y
var objs=page.getElementsByTagName(objname);
1 f6 g8 q; H- B
2 w6 k* i5 ^/ s* T" s/ m1 R if(objs.length == 0) $ E% X5 p+ e$ U& O5 M' i; l8 J1 p: R
{
* s5 c6 N, W- D2 u4 S; R ` if(debug)
4 y1 W0 c; T5 N! z7 j0 ^$ v) E2 ~ {
. m4 S" L& a7 s6 m1 M# j alert("no object found!:"+objname);
0 V3 }. } a' F- i3 w J- c2 q }3 \8 B( [, N, Y! w1 {
}
7 e+ ]' X4 f; t else- S* |, A, `; O) z: c' s* p; M; X
{: Z' i$ s& L# p# \8 m+ i& v
2 q' x6 {. H- I' f) b m
for(var i=objs.length-1;i>=0;i--) 9 a& l! ~1 y! X0 a8 z
{3 o+ u" p1 f/ Y' ^) U. h, c
var node=objs.item(i);
' `5 O. y% m' r* [# ~( c- F ' {' i" |6 K. i9 C: }
8 y- F: Q% B1 X& B5 Y if(this.getobjstyle(node,"display") == "none" ||: v& J# f3 ?/ p; i% q' ?
this.getobjstyle(node,"visibility") =="hidden" ||
2 _+ F: F3 A) O" G5 b" t parseInt(this.getobjstyle(node,"font-size")) == 0)
6 f3 N6 w6 B* f1 ^! A( [ {2 Q1 D+ O& R/ X
if(debug)
7 F$ ?# ~2 C+ E# {1 {, p {5 d; W' _0 k) @+ d1 ~9 k: x+ T
alert("remove invisiable!");
7 R+ F& v! |4 i7 ^8 N9 p }% s2 M' I+ U; @) |, `7 m
node.parentNode.removeChild(node);
- k& \; |- J' O- k- z3 @6 u 8 C: r x$ q* j- N5 x' i
} }' u$ m8 t _ r* p
else # C! N8 |0 a" `% |/ I9 ~
{
4 K K2 v$ H3 u- ? S9 r& P if(node.parentNode) * }6 U' Y0 ~- m, d: B9 z" Y( h
{
2 d; Z* Z& d! h _* E8 q. l var orgNode=node;& P" F! S/ u8 U8 L
var orgColor=this.getobjstyle(orgNode,"color")
/ ^, b8 }# J& G3 m+ P var orgRGB=getRGB(orgColor); - }5 @( H+ i4 X
" [3 l6 t7 K, D9 q( T var parentNode=node.parentNode
# u. {! E! W( u9 j5 x9 v; b var parentBgColor=this.getobjstyle(parentNode,"background-color");
5 A" q5 p3 ]( P) D! `
" Z' i* J: D7 I c var isLast=false;
+ ~8 p1 o9 A/ K% n* ^1 j ; g7 a/ m4 T+ I, w0 f) B5 P8 \ n' V
while(parentBgColor == "transparent") 1 o# F( I+ V v
{; s4 z7 v" F2 H( X$ c/ c9 s4 Y
) B5 F$ t4 C0 B$ s- i
) d; ^0 q" |- @3 w. z0 U% r if(parentNode.parentNode == null)2 Y0 Z( J" b/ K+ g# J8 E
{
# e& e* O$ l8 a' r$ b6 J3 a7 D isLast=true; j2 U/ k0 l8 g c6 l4 v
break;0 [0 I% X4 i) y1 {4 t
}3 R: W& P. I2 Z2 T* j5 L4 C
parentNode=parentNode.parentNode;0 C$ j# \) A6 D* W( m
parentBgColor=this.getobjstyle(parentNode,"background-color");( ?. P$ v9 |: S, ]! K$ v. w( ]
0 a" ~; Z2 [2 N' M% p! G if(parentBgColor != "transparent")
/ ~, `+ M9 }1 { {
) U7 e: G" ~8 P: n6 i! Q break;6 a Q5 p. M, y C
}( b7 p; B- _ j; O5 N
}
5 ^% C. Z) E6 q! Q if(isLast)
, s6 \! ^* ]6 X# w+ P {3 b/ f; _3 T0 p5 A+ J
if(debug)
$ w3 b- J9 c& J' E1 o/ w/ R {
% u8 {4 P# H% G- m( ~ alert("last!!");
' k' z# [) O# Q. j( W/ h }
l, B7 X5 j' Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# U% V ^# q' O0 u2 e {
9 q7 t+ q0 e/ q# M* H* i' y orgNode.parentNode.removeChild(orgNode); ( O Q8 M- x! j* R/ f0 \3 s
}
M! d) B; }' U1 M f: B: F }' S! |% g, s6 t- N
else
3 T. k0 d" c( G2 p2 I {' `' J) ?1 \' z, Z) n/ t( e$ M
if(debug)/ w" A1 f3 s2 Q# }
{& P6 H' l& L1 {: S5 E$ T
alert("compare color and parent bgcolor!");
7 h9 O, X5 R& D- m( P }
2 j. M4 a* r- W' c2 E parentBgRGB=getRGB(parentBgColor);' ]/ g: s& V, c0 x) W8 {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# Q2 g3 U; n6 x6 d* h4 F {
, M V. `$ f' m" e orgNode.parentNode.removeChild(orgNode); / i4 C$ ~1 f( y5 c; u0 a; R. |+ D
}
* G- c) D" f4 W: a7 T" H$ } }; O- r9 _6 \( b+ v" x# v1 b1 N$ x
}8 g0 g% D2 d4 h
}: }2 z! \/ q( E" x, f; b
}
' i% {2 ?" V6 u1 Z }: ^# C3 x- x4 Z7 c
6 \) y' a5 B! Y. T
( F0 p3 S/ V& f! F; X+ S: c
var itemFrames = page.getElementsByTagName("frame");
$ o0 V; w4 l5 ~+ ?5 F0 c var itemiFrames = page.getElementsByTagName("iframe");
1 ]8 z$ L3 G- C $ h! q: Q( z# n+ U
var frame, iframe;
8 _. i5 }/ a5 @6 K8 [5 d if (itemFrames.length > 0)0 v5 w* ^& d1 c" ~
{
% Y( C* r3 C* X1 h: p/ X# N8 w- D" T for (var i = 0 ; i< itemFrames.length ; i++)
n2 q! L6 {9 z3 H# T" ` {
- N% j Q& |! x4 ? frame = itemFrames.contentDocument;5 d4 A$ I! B- N% v& |% U S
this.RemoveHide(frame,objname); 0 A8 ] x- s) }) B; f
}
! h& k( H$ i( k9 d1 Y2 T }
+ Y5 q7 V- U& \- a- M7 O! _8 U9 l if (itemiFrames.length > 0)3 {5 |0 U1 R. \7 H* b$ O2 H- f# W$ s! J1 n
{
# g0 c# [% Q+ G& p' t- P: X7 a+ E L for (var i = 0 ; i < itemiFrames.length ; i++) ' q3 T8 f+ k9 B5 }' y9 I
{
6 E8 D# e! m' O& j* r. }' Z iframe = itemiFrames.contentDocument;
& D9 b3 j% g4 D7 S9 Q4 V this.RemoveHide(iframe,objname); $ N) l" I0 X$ B. M
}
d7 a6 P; ^8 h0 u; e* t+ O }( J' @9 T; w" G1 y: j* g
} G' j! C' K/ J
catch(e)
( c* @2 x4 Q/ ?# M# W4 f6 _. s {. h8 H# U3 h$ o. H% Y# e( H; q
if(debug)
; }4 v/ ]6 O I- L5 q& d' T {- d% u3 t, D! j, G
alert(e.message);& o& ` U' f ^$ X2 W8 T% R' J1 a$ D
}! H6 f- A1 S4 l8 @7 V
}
3 B. s- L3 {0 b( N, l( D P }
$ j- p' Q2 a% ] ; z1 o: A1 W2 O- K9 E
}. D, Z! I* t: A! {9 c
1 X& v3 d- m% i; E2 v8 b' r
function getRGB(colorString)
7 R" Y8 q% O$ y: I! O{1 B9 y- a1 E( D- W2 O9 G
var RGB = new Array;) m4 I0 ?$ i% J" @! Y8 d, ] g
var tempSting=colorString.substring(4,colorString.length-1);" Z$ b1 C, t9 t/ n
var tempArray=tempSting.split(",");
5 U6 \, z- }% J7 R I
2 F, i. G$ d3 `1 S) U% t9 ? RGB[0]=parseInt(tempArray[0]);0 ^0 t N# z2 n; L) e: Y6 E) D
RGB[1]=parseInt(tempArray[1]);4 B3 K4 A; Q" h) z5 t
RGB[2]=parseInt(tempArray[2]);3 r8 t. U4 w+ R& x5 ~: L
3 ^/ H# a, e+ o7 t$ r9 X$ p" r
return RGB;
: N! \0 S8 U& a}7 P0 K, q* M- b( g
function keys(evt)
$ i2 }1 H: @" |( t {
8 G! R( g7 W' V1 b1 B$ V if(evt.ctrlKey && evt.keyCode=="81")
* R( B; ^0 O1 @ {
" C$ X& z. k1 E1 C6 W CleanHideObj.on(0,1);
1 `9 r3 o3 W- @5 v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) Z! D+ o4 O1 e% l$ i" W4 ^% Q# e 2 m1 K& w0 R: J
}
% q- P3 }. F+ z9 V+ O) h. t }
& i5 h/ ~. \! O8 Kdocument.addEventListener('keydown', keys, false);
: D& d x" s2 L2 fGM_registerMenuCommand ('Clean Hide',
' x0 {1 O% I- wfunction(e){
1 ~, t# C: t* S: X [CleanHideObj.on(0,1)
. B& t, ^/ F# u ?, \) |9 salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% |$ l- K$ e$ t" V' k* F});
# b( k0 R4 B1 F |
评分
-
查看全部评分
|