|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) n: r, t6 \8 F' k- v% W' L
8 U( J/ {7 y* b7 B; {- r' y7 s
火狐插件,用猴子
2 b) ~# `( |4 r3 S: k$ P+ l' n
' j. f0 [* G6 O& i" }var debug=false; # O Z" O# s+ |/ U, }
var CleanHideObj=new CleanHideClass();
- U7 W2 B r% ? K) \$ G5 ]( h# J: o) c( k4 k. y! ~4 A
function CleanHideClass() ) }+ X& t1 `+ D9 P E+ I! @) P, A
{ & w" E/ e+ Y- t$ t6 w* T" L. K
1 D+ _& p+ K3 b7 s1 x4 v6 |8 F3 r" c this.on=function(id,bMZ)# H: E8 I0 h! T/ w7 p2 v" j
{7 U) q( [3 x" n; A" H2 V U! n
L" a Q b m" e: h8 Q
if(id == 0)
! K0 o; t& z5 } {; a {
x- n6 h% Y! s9 c, s2 f, l var page=/* document.getElementById("content").contentDocument */document; 4 x2 O3 M S$ x1 `7 @
this.RemoveHide(page,"span");
1 K7 c. T3 t7 s( L) N this.RemoveHide(page,"font");
) i' d; O( f3 G/ o2 W this.RemoveHide(page,"div");. F8 s0 c {! W# S- d( J
this.RemoveHide(page,"p");
5 p, u9 q% j% R& J" ?: X- N
" \0 _6 X& O6 I( R" l6 h }
; I4 K' J9 | D( o% o & O( K* o$ j6 m* q) n8 R
}
! F5 q( w4 H+ ?5 V2 D# C$ \9 e8 x this.getobjstyle=function(node,prop)
' u+ U3 B& S9 c I. I3 ?$ e {
7 H! u1 U4 r0 f. G3 P, A1 P9 g try, F2 t3 m" X ~$ R. i( m
{! w/ A4 S6 Y- P Q* G# R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 t# B9 j6 u: D
}+ M! x; ~# L" d# v/ W
catch(e)3 u# |- m% r/ q- z1 a5 T
{5 m$ J3 D3 O2 _& Y0 j- l7 G" D+ I
if(debug)+ Q8 c7 q6 a7 d. y% h! \, _
{& J4 R; I- r! Q; s
alert(e.message);
) {4 Z: n8 ?4 H1 i3 Y; J% F% ` }
$ k1 g/ f$ R$ |' S3 l & [2 d ?, U. ^$ Z8 x3 m
return "200";* Z; C8 I) n# w% Q: @. G* i% T
}' M) Y8 X. }2 o; V4 ^3 X
}
2 ^- n2 A3 k7 ?6 T( L0 B% ]1 Q7 n ) i3 B a8 }& Q0 N
this.RemoveHide=function(page,objname)# z+ g. M6 ^- C- u
{9 }* Y* |: g; Q$ W( R# C4 h1 W
try
% w* D& n& Y% p6 w3 q3 L {
4 E3 j9 v4 K) g3 S' `# j1 u var minValue=15;& b; B# z% H; f
var objs=page.getElementsByTagName(objname);
5 O* J; x1 h/ }
+ }/ B4 k/ B3 r k2 F if(objs.length == 0) 0 z; I, W: o0 }! M3 _' f3 d
{
* k3 R8 U4 x0 R) \ if(debug)+ x5 W7 }/ O1 v* _/ N0 g& m) A
{
- y' ~2 Z8 L% G/ c& L alert("no object found!:"+objname);
+ N" G9 d2 c6 _, Q3 m. M }
8 R( J+ s) u$ U4 [# \ k4 a }9 B. h* }4 s, c/ M, \
else
, Z2 V# D. w( c T {
$ a" h0 U! [9 K- W) m# F" _9 f 1 G+ x+ c( S$ ]* p( P* ?
for(var i=objs.length-1;i>=0;i--) & n8 }9 a1 W8 j& [" W
{
& W6 q" {& K$ L2 D) I var node=objs.item(i); / i+ `& T c: l" j
6 g" {- W& `. K5 L3 X
! g) P' u$ ]& @* |/ R; l
if(this.getobjstyle(node,"display") == "none" ||
' M. F4 {6 `+ I this.getobjstyle(node,"visibility") =="hidden" ||
4 ]+ |2 E& j& w6 G parseInt(this.getobjstyle(node,"font-size")) == 0) ; d* z& t9 i0 y6 X) Z1 O
{0 K5 Q7 E( ^# O, ^
if(debug)( J1 x1 ^2 r$ \8 k1 Q9 R
{
! E, c" p' s3 \4 M! w8 Q% l alert("remove invisiable!");1 v, P( n7 t1 [3 z" S% X
}( x) ~% ?" L+ J# f' Y
node.parentNode.removeChild(node);. T: X! C. ]+ c; V% Q" k7 Y: K
2 |3 K! s8 m2 P! Z' s2 u' n }
& P% S9 n2 P$ p( \' k. Q8 G else ( V( L# n5 c( u+ w; I3 r T7 u
{
6 u2 P; n8 P- v F, U6 \# v if(node.parentNode)
7 A1 C0 j0 d+ |7 P1 c {
b! E- c9 Z% U7 z/ I- s var orgNode=node;
; w; O3 w. ^" i# K, n+ F' U. I var orgColor=this.getobjstyle(orgNode,"color")
$ e' U) M& F! ?: A B var orgRGB=getRGB(orgColor); 3 Q- Z6 O% I6 F" O N
6 h4 O* E5 B! Q! B
var parentNode=node.parentNode! ~" V' Q& {' D+ x+ ~0 k$ B
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- K% f m/ w) E
+ I3 O0 G4 L" U var isLast=false;0 x8 s2 d% N |- \4 A% |6 r8 [% \
! f# H+ r$ I* \1 i+ c
while(parentBgColor == "transparent")
H. ]* b( s' R% l9 } H+ o" l$ B {
- N$ n' z X, E. I
; R$ k: D" u j4 m/ r
- W" P f- h/ R5 Q3 v" Q* O if(parentNode.parentNode == null)
( U0 n$ N d q7 x! [: L {9 s" z- \' a; P' T, {5 T4 k0 L
isLast=true;/ Q$ b7 d c: s# x
break;+ _: [8 F! G( ~4 O
}
; M$ K$ z: F6 ]" C) S parentNode=parentNode.parentNode;0 X' ~2 V( o7 K/ P, U
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ d) F" s6 z$ j; A3 }% `% f, q9 S) m& j$ `- Q
if(parentBgColor != "transparent")
3 g& ~* q/ z8 ^0 f {
8 L: g2 C; Y) _3 A break;1 u* Y- c+ r" j, Z
}
9 }8 y6 d8 ?, F+ j/ H }# a: q9 J) L2 j6 F+ M) R+ e
if(isLast) / s; f( {# l. w
{
& ]; j0 J7 b Y# t6 j if(debug)" _ F2 N- M1 X
{" p0 g* }: K& Q+ [! k
alert("last!!");# l. J9 L( z2 F; h
}
. ^1 I0 F6 Y" C; }3 B2 V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) j) a7 n+ D( |( d: J3 s
{
* V8 j' a- l: f orgNode.parentNode.removeChild(orgNode); ; |. \. p. ^( F, P
}* a6 _+ o! G# z! N2 H0 G
}
* T0 v; R4 d% h4 R else+ i0 r* z* k7 B+ \3 [2 X$ j
{9 o& x( H0 n4 [ Q
if(debug)
- S" q, a7 U: Q& M$ S G( F, m {% D, s, [. j& ]3 Q# F3 T* z
alert("compare color and parent bgcolor!");3 n$ ?% [ o- K; _& z, p
}
+ F) G' `- y# N& ~ parentBgRGB=getRGB(parentBgColor);+ v, a; G1 m5 Q! c3 N( A. x2 R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 a% \2 j- J$ g& J4 E/ k: p& `/ C {
, W% C" g0 I( K, m: B$ k3 f orgNode.parentNode.removeChild(orgNode);
* ~ E1 }& V* }( \& Q }1 q0 Y+ D1 i( a: C% @* [$ N) q
}
( H, p8 U2 G/ O) ]% d5 o* ? }& G, G" Q( d5 b. x. p; _7 d
}/ o0 k* f# K. [* ~: q: k6 m
}
# T1 B5 u7 v+ |6 n- M) O8 M" p }
0 j/ c; A( G1 t' ?
, q; x8 I+ C$ Z$ D3 {% s: O# Q7 ~ " ], d# @9 F2 D! }
var itemFrames = page.getElementsByTagName("frame");
' K3 U. ^9 W! y( @ var itemiFrames = page.getElementsByTagName("iframe");
0 i( q" R' E5 L 8 r5 I9 C! J4 A) ]" T6 h
var frame, iframe;! d1 Z% _# Y3 S" o4 ^1 V7 E
if (itemFrames.length > 0)
8 x. N3 I; p ]0 V# E4 ]3 n {% e" E( [+ F! P# I( o Q
for (var i = 0 ; i< itemFrames.length ; i++) 3 U3 D3 n/ y( l8 w& z4 \( }
{
8 u! \5 |; ^4 ^( o% H; G( S( X frame = itemFrames.contentDocument;
+ {, L c/ M9 o ] this.RemoveHide(frame,objname); ( B+ c! w- k) V8 F c/ p! ~
}
! v6 o, F" U( _) f& q }
+ m$ Y) A0 f- |& L0 I if (itemiFrames.length > 0)$ k- X! z. E k% \& `4 w+ q. f
{% u; \0 o' J2 m2 S. e4 E
for (var i = 0 ; i < itemiFrames.length ; i++)
2 G' i/ t% \2 ?: [ {( |; K- l8 q5 Y8 G4 j4 C
iframe = itemiFrames.contentDocument;
! ^9 L0 H2 d5 _5 D7 \- I this.RemoveHide(iframe,objname); 4 J4 i, L4 b e# Y% i) q7 @
}
4 d g, G4 D0 \, W }- X( e+ [) X" _8 Q& s
}! M s6 Z* n% y( w. Z" ^; a
catch(e)( E/ w( i6 b2 ^, D" ]0 K) P$ i4 m
{
/ |- ~ A" W/ L if(debug)
8 {0 }# i3 S* k1 N( O3 | {
8 n( C& E) \1 g( [3 t6 ] alert(e.message);# t, K3 t2 Z3 j' Y2 z' r, { i2 V
}8 u7 E3 E4 [/ o# Z5 D7 p' v" I
}
4 ~ ^8 }( }6 Y( B: n: W }9 u) C( Q6 i6 n- i
% s" a% k7 ~/ y6 Q/ J
}
, K/ v6 _2 c s j! E8 j3 {3 g4 r& k2 S f1 i) Q, P
function getRGB(colorString)
' u. P; \6 O! j5 @$ n{7 r; E8 F4 Y g* w. ]
var RGB = new Array;
: @( X5 }9 b5 `1 ^1 v& m var tempSting=colorString.substring(4,colorString.length-1); d9 Y: H0 p7 ?! f0 T
var tempArray=tempSting.split(",");
1 U( u3 I; n0 _
$ S& m# a+ s/ b! X+ O; u RGB[0]=parseInt(tempArray[0]);
+ u. o) ~* u! e. n( T7 n RGB[1]=parseInt(tempArray[1]);/ Q' @0 N* m. x* N
RGB[2]=parseInt(tempArray[2]);
; P9 T( p' K Z9 Q
% Z0 B5 l6 c( ~4 }2 Y! P/ L return RGB;
% u3 ?' [7 O7 ?- h, o}
+ g* ^, r- d; r- V7 afunction keys(evt)
0 t# o4 g; |9 s7 H { / A5 g* c, d' }- [& |
if(evt.ctrlKey && evt.keyCode=="81")
0 O, O2 F4 L. Z! v {
& d: K/ Q- s0 h* a/ t6 m CleanHideObj.on(0,1);
, L2 C0 O( s% z0 b+ J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 K7 S1 W( i% ?* X8 Y- A' |; V 8 d7 r* o Z8 ]& M
}
6 ?9 e* w3 z2 E$ O } 0 T* B: H8 Y5 e# X3 r4 ?
document.addEventListener('keydown', keys, false);
7 D* }' D5 |4 T2 l) GGM_registerMenuCommand ('Clean Hide',
8 D( @1 p2 _7 sfunction(e){. u7 S- ?9 y% z, ^& ~ _6 S
CleanHideObj.on(0,1)
6 }. ~3 J7 U B# d* B4 galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# U: \$ A0 E& t P
});3 c; z* W5 @* Z+ B+ v+ K* M
|
评分
-
查看全部评分
|