|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% U0 R1 n, H+ x Q; L9 e; p0 V/ z8 V# Z% ~
火狐插件,用猴子
( \) i2 y( o% o: ~3 q
8 D+ f0 t: f4 K! v1 Avar debug=false; ; l, ]. Z9 O% K1 {) M
var CleanHideObj=new CleanHideClass();
& F! ] _" D( P. V5 X! K& I2 s, |$ b3 ?" S
function CleanHideClass()
J+ E; y# r3 U& h$ G{ ' m S9 d2 A8 x1 e# U
& s4 N( r* Y3 H: B, D. r1 o2 a this.on=function(id,bMZ)
! J' C( g/ d! A {1 u( B5 o) b; ~: N9 w0 v
2 `, _1 }; U! j( N. ^" Y
if(id == 0)
4 w7 D$ k' C2 W {0 b* |9 J7 j0 O% C" o& Z; j3 b
var page=/* document.getElementById("content").contentDocument */document;
4 C9 r. A& M1 ]) n/ B$ E this.RemoveHide(page,"span");
9 H/ x1 W* C. z# b7 t9 M this.RemoveHide(page,"font");
& z9 a4 D- Z# ~7 _ this.RemoveHide(page,"div");5 B% J3 }8 R" @6 \4 K |0 d
this.RemoveHide(page,"p");
7 v, w1 U' |, @) X9 ^% x' I4 b, { , I4 c2 z2 K( [
}7 U; c3 `% y0 N3 H% l5 W) ?
) ? X6 b( R/ i0 C! d; [
}4 [- U& V: F: I- S5 z6 I; p" g
this.getobjstyle=function(node,prop)
; S( G: G( L0 g: u7 n9 c3 a, | t {& K& s7 g m/ v' w* x" j
try
6 ?) m5 t, @* i0 g7 a0 @" L+ Y {) j: y1 D' j+ Z! {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 Z7 u# c1 ?7 v- e
}
( H8 K! i' ~, d1 N' D. T catch(e). `, w. P4 M# r" s) k
{# A. ]! ?# [) p, b. {$ E( `3 q' B. k
if(debug)& E, E; v6 g) p5 s
{
; Q1 j+ d2 Z/ {2 z4 S alert(e.message);
, I+ ^; { o. V7 r2 f6 A6 b1 { }
0 @% B5 K( T* A: D9 |1 l2 @, T
% \: U! J4 d I$ u return "200";7 e8 U3 m& g! D( F* n- a
}
6 E/ m/ ]. Y" `% Z% J" Y, E }1 i8 m; T/ U& C e: _4 B( v
* g; A {4 X s) s
this.RemoveHide=function(page,objname)+ J& M: A3 i' q0 ]5 L6 P& S; h; |
{
$ ~$ ~' Z9 y9 ~% T try
" R# ^' i9 F! ]! ] {
+ V* E3 U+ e: `4 j) T5 A var minValue=15;
, J1 l8 O3 ^* M. y0 V/ q" b var objs=page.getElementsByTagName(objname);
$ G* T( J5 f( \) l/ Q& C% P0 Y& L* j U
if(objs.length == 0) 7 y; m' ?; _9 ]( n3 Q* b" Y
{5 T4 t" z6 O% a8 @0 b9 E$ G# B
if(debug)5 h1 {# [ Y6 t
{
2 x. ^( s+ c% |9 y alert("no object found!:"+objname);
2 n. _( J1 Z0 o6 z2 o F }! v) n3 a3 W! w& l! f/ W6 \
}9 f J! @3 D# o0 ?
else
w& _4 ^" R) B t$ m+ q" E {' o" ^6 R1 C, C& ^" Z" o
/ R5 h( w' O$ j( P& b7 g9 d for(var i=objs.length-1;i>=0;i--)
3 e( b7 O" h9 t! Y {
0 z, `6 f4 B& _1 O; j2 } var node=objs.item(i); ( {8 Z M6 ]! `6 X( N, ~5 _
& W# I6 O' [* Y5 J) b0 @
4 C2 v- G$ J$ t) I
if(this.getobjstyle(node,"display") == "none" ||0 t% }4 X+ \4 m
this.getobjstyle(node,"visibility") =="hidden" ||
4 z: w$ ]) k$ z) |( C) D% u parseInt(this.getobjstyle(node,"font-size")) == 0)
9 W; b5 s0 l$ v; P {' C/ i1 C- @$ v- ]) m
if(debug)
# [4 b) G: j, V! G2 c: C( t4 J& o {+ x5 C# S3 ^% U* j' |; d0 P' l
alert("remove invisiable!");" s5 m/ A0 X2 w1 E
}
. c/ K/ S1 c7 e! c9 S node.parentNode.removeChild(node);0 F N" v7 G4 S& T: a$ K4 M
* r: g3 i4 F0 f }/ x0 x# e( O+ @% H, f
else 4 S6 I& v; ?: I; G, {; W) ?
{: f) M" b b" \1 T q5 R
if(node.parentNode) 6 e* y5 {: X) |+ Y# i$ \, t% `
{
% e& x& M% p8 k! E var orgNode=node;
% e7 V- t, g5 }' d5 z var orgColor=this.getobjstyle(orgNode,"color")3 G; |# y: D3 R2 \1 _, O
var orgRGB=getRGB(orgColor); ( K* l& m$ y6 s( B
) ~9 k. y1 m4 ~" p. N
var parentNode=node.parentNode$ Z; I, j0 t$ q
var parentBgColor=this.getobjstyle(parentNode,"background-color");% H& v- i1 t+ G0 i+ H
: h8 w% d2 j9 f0 I6 s# U8 N+ z var isLast=false;/ X- { B0 w: Z0 d
2 T8 s, _+ _7 ~
while(parentBgColor == "transparent")
& }. B1 _! ?+ N* s3 Z! D {
9 }/ }: ]/ K0 n + c0 H3 M. ]% {- H- }
! A% s7 {$ d. G8 x: f% w
if(parentNode.parentNode == null)
% B+ \+ m& E# L$ A- C4 N+ q {
/ \6 m; [4 G( u( X9 h$ R isLast=true;9 Q! X+ }4 ~0 U
break;$ ~: J. O- U9 W4 K7 }- {/ }
}+ J3 p! x( O" \& R% ?5 k* [& R
parentNode=parentNode.parentNode;
+ k7 K4 a- d( ~8 Q( A parentBgColor=this.getobjstyle(parentNode,"background-color");+ F. f, F; m0 {1 F% [
- |# |2 a8 M9 a# Y" e X
if(parentBgColor != "transparent") 8 S3 X# R+ J4 _) j3 o
{
: d- E9 j3 z E: G break;
x% M1 e; {0 W }7 L' }7 [7 l1 ?( e' V
}
* B" W/ E" _7 Y# q; I, A if(isLast) 1 L" h9 ^) K8 T2 E
{0 K' d* y( u7 L: ~+ y0 K, u) _
if(debug)) K6 a- [( Y" l& N5 Q
{+ `- f) E* G6 A
alert("last!!");/ j9 v) h, |4 B! k7 c. L1 d- x
}
F5 Z) m) L: K/ E. J. r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& y& Z% R2 T6 S, G: s* w1 e
{
7 Z. L1 s' B1 H( v8 o orgNode.parentNode.removeChild(orgNode); + \: G, F H6 x( y7 _# `) K
}% n8 Q# S. K4 @7 F" v2 g. J8 V- `
}
# G6 R- I" p7 j else+ _* k, ]7 I& |3 b+ S
{* R4 Y, H# g. ? z
if(debug)0 k# K2 a) K0 r; j; R
{
( f$ L3 I. ]" m- B; F& [; Z alert("compare color and parent bgcolor!");* L$ G) q1 n& c
}
0 |: |% L5 F4 ^0 d( N parentBgRGB=getRGB(parentBgColor);8 A7 G" M$ J- R' A# F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# p/ a+ m: I% |1 [( f- s! v {
Y# J4 O& {7 Z/ W orgNode.parentNode.removeChild(orgNode); 5 y7 l# ^; O& K
}
; d4 }: X5 }% ^: `+ [) u( m }
M9 @: C/ m/ X2 f# e7 O! S }
* v( _; G! M. w& O }
% j, ]7 M$ C' k7 M% d! S0 _+ J$ P }
& l" g' X5 G! R$ Z/ L }
9 J$ N Y/ \4 a) M& t % J9 k! ?2 n! o8 k3 Y
! K+ P* y+ W" d j& |/ \% [0 V5 O; ] var itemFrames = page.getElementsByTagName("frame");
8 J2 l" R8 i) h; ^ var itemiFrames = page.getElementsByTagName("iframe");
+ `6 d1 \7 X( E 3 X8 l! c/ O2 G$ c) V3 }( ~! u
var frame, iframe;3 n3 x: P# x9 U5 s0 x
if (itemFrames.length > 0)6 I: A) q" J7 g* M9 _# H4 W
{+ u4 r' n0 o% u3 H/ L$ l
for (var i = 0 ; i< itemFrames.length ; i++) 5 |8 _; g7 O, S$ D% I- P, i' \
{( O4 w% b& @+ q# n
frame = itemFrames.contentDocument;
2 q3 \% M1 a; y$ A& {& | this.RemoveHide(frame,objname); 2 E: X0 |9 a$ k m, @
}
2 ?0 U# P2 s8 X0 e }" r* ?2 B# e! R/ U- ^/ b. q
if (itemiFrames.length > 0)
7 U% H# `* A. H9 p) k: k, [ U8 l5 m1 ] { N( `! u8 `$ d- g ?& A7 t: ^2 y
for (var i = 0 ; i < itemiFrames.length ; i++)
/ U$ k7 ?# V$ A {
1 C' r! [' U3 Q# o iframe = itemiFrames.contentDocument;7 P. o* `7 h7 @& {3 E3 O
this.RemoveHide(iframe,objname);
4 w+ g) q M0 b+ ?6 Z }8 c/ R D: _2 H9 H' {' D0 l- C
}
2 Z, d# U7 Y7 L, U }
; E& p" h, U. K/ h0 D( Y7 m4 @ catch(e)" H. i! G+ m& C3 _; M
{7 W: d6 u% H4 ?+ P2 N5 s7 m
if(debug)
, n4 A9 n* S+ i% N9 m0 g! y6 a {* D" S; |1 G) e+ K$ K" d* p
alert(e.message);/ p7 f3 h$ j" C: _$ F4 [- D/ b
}' O' j4 J+ L. c9 ]: j i8 c
}
9 Y0 x/ D* Y$ Y9 u5 B" | }
0 ]1 l- D9 h# F2 M# P/ Y7 O 9 b& F* d7 `6 T% ~7 N! M
}' ~. O Q" C a$ U
/ F% p4 E: u8 H! x
function getRGB(colorString)
7 S9 @ Y9 z. b0 I& Z{
$ Y# h4 p8 x9 O8 A% \& Z3 Q1 l var RGB = new Array;, D+ C2 r) J2 |3 o+ `7 Y6 s3 K& g
var tempSting=colorString.substring(4,colorString.length-1);
& R+ S$ z$ t% o, `$ M' N4 Z var tempArray=tempSting.split(",");( H6 L1 W" n9 j N
! B" }" i8 [& d RGB[0]=parseInt(tempArray[0]);; V' b6 F% J$ q$ p% n: S; I; t5 D
RGB[1]=parseInt(tempArray[1]);+ f+ S$ I N% n+ |
RGB[2]=parseInt(tempArray[2]);
8 ^4 t7 C4 W9 |/ s $ ~" q9 R1 r2 R: t9 s8 b' u$ S0 H
return RGB;5 N& ^3 A6 q6 K& a$ a
}0 N( d& r2 W8 w
function keys(evt)
2 D: _+ ]. Q- k { / @4 T$ N" v1 |: w2 V
if(evt.ctrlKey && evt.keyCode=="81")
; T: ]+ B$ v x/ B# T {
/ D5 I- {& e; }' V) c CleanHideObj.on(0,1);
6 d0 Z. F1 B- x1 b4 ?/ D9 ^1 W' y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 S0 w; p- Q6 N- N! _ $ V9 j4 a: N' j) _
}
3 c4 B/ h Y1 Q! ~+ o } # J+ n/ P& B" ~: A/ M* ]
document.addEventListener('keydown', keys, false); , v; S8 j F5 @% X4 v$ l1 f4 X
GM_registerMenuCommand ('Clean Hide',+ ~( M" A: S$ R/ P& G
function(e){5 g" O2 {1 N( S# I
CleanHideObj.on(0,1)
- v- B1 a1 R5 B# O# W* s& e+ valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* @ \) R3 E% P4 S2 U, f0 [' j});
$ q ]& H7 P2 J( O, y6 z: u |
评分
-
查看全部评分
|