|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% G6 `4 p2 t; `. `/ @, b1 A+ N( F9 w4 e
火狐插件,用猴子
9 \" D4 S: O4 \$ [, e$ K3 q2 t* ~6 M, [% l& [% p
var debug=false; 8 b8 A- e2 ^+ K" D6 L2 n& J( l2 j
var CleanHideObj=new CleanHideClass();% X% B' H. f/ g
b# n4 o$ P% U3 R2 Z0 |
function CleanHideClass() 1 x* D) p& U: a2 Q
{ . n3 n; {/ G% O5 b
2 |/ G1 W) g: t% A. j! j- z) p( ^ this.on=function(id,bMZ); N& Q5 l7 i6 n7 }
{+ Z) P$ n9 P7 a9 C9 G* A* T
3 O. {5 p1 ]# v* R% h" n
if(id == 0)$ M' P* q' ~. K5 M/ L
{7 G M$ w0 ^0 B2 K& F+ c" V8 E
var page=/* document.getElementById("content").contentDocument */document;
4 X. F( y. v7 X. B2 J7 I; C' a this.RemoveHide(page,"span");7 q1 x# U: p% [/ o
this.RemoveHide(page,"font");
( f. r! I+ g( D" Y3 M0 V this.RemoveHide(page,"div");+ n2 b5 h9 e7 Z' E- p- v1 Y$ j
this.RemoveHide(page,"p");
& j5 A6 y3 p0 n2 {
7 \+ V5 o8 `7 N/ i5 c }' v$ L( k8 k" a6 D) W
: w4 }0 ?2 G. J* g( h }
# u# }3 C3 F, o9 y0 J this.getobjstyle=function(node,prop)5 ?4 E6 g% ^! D5 P! a' ~
{! r4 C4 u! Z: E9 H3 k. ^* p1 ~
try
' g6 B8 m' ?1 b( r9 p1 J8 }1 n {. }' _% m, _7 x3 L0 f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; v5 P. ?3 \% M& r& l/ J2 L! | }% [) M# X' W9 B5 K1 N4 c$ R# {
catch(e)9 [6 ?) X' n, f# D
{/ _2 n! y* {: @. C- v# w0 L+ n- o
if(debug)
) c6 x, Z! }! O {5 \1 b" H5 i; I. f, E9 c
alert(e.message);
7 @9 d8 |8 t7 _; Q" j3 C }: i1 S4 n5 l, @$ w5 v# ^
: S& p% ]2 V# W X L9 F return "200";6 j9 T6 W, ^/ D; r, h
}
/ ^( d9 G# F- n( J }
) M( `/ l' C1 _
$ ]/ Y) x8 j+ j9 u6 Q this.RemoveHide=function(page,objname)
( x. m$ ?4 [6 M: b2 p( t {
6 B4 t5 N/ c6 F) b( m try2 ~8 h/ _% V" U" y
{9 ]- F- ?/ M2 X/ C5 ]; t
var minValue=15;
H6 `( s) u+ I8 W; k6 R var objs=page.getElementsByTagName(objname);
; [. o: n7 v6 R: |' ?( D% q2 W8 s) h4 H$ {, j4 w. |
if(objs.length == 0)
1 \ M i' D& Q, C2 E W/ ? f {
4 P! Y4 ^8 y) B# H( \% a# Q2 n; l if(debug)
0 z+ Y6 a& L1 S b {& B' I0 [7 S4 Y
alert("no object found!:"+objname);$ W2 B7 b4 I# j. ] e/ U8 O: t
} x/ J. ]0 n1 F4 w. T9 B
}
" C8 L- J% E0 [1 g else) A3 P, I J ^
{. [" _' @1 ~* M: j( B" P0 r' I
+ p7 I/ k# R5 Q1 f: n$ U3 T for(var i=objs.length-1;i>=0;i--)
# f2 K' u4 b2 t: J {% ^: P" G% i7 T7 m7 b# G
var node=objs.item(i);
9 J0 ]. D+ {% I$ J5 \, |
" T6 W6 {) v0 p1 k7 a
* N) r% K2 b+ V9 ]/ ` if(this.getobjstyle(node,"display") == "none" ||
$ r: z2 ^% [4 |1 L m: `! C this.getobjstyle(node,"visibility") =="hidden" ||5 [: B0 w4 M: o9 V
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 S4 o$ Z( H8 X6 R
{( o: j* ^% E; ^9 i7 B$ d2 {
if(debug): E3 E" B' D' d9 T& ]6 Q' r" w& T
{' |0 J- V2 F% ~0 n4 h3 Z
alert("remove invisiable!");) ~: E. y5 V4 x3 z; M# F, N* L& U
}
, y- M" z0 j. V3 Q node.parentNode.removeChild(node);
, S7 h$ w$ i x. u4 x
8 c# |# L P' g3 n% L( j7 j2 O! H }
1 Y& g) e% Y6 @) K else
$ |9 v5 ]+ I8 \/ t+ J' D2 |4 \0 L {
1 O' O0 z! z! n' g- W- S8 x if(node.parentNode)
4 F0 A( W# ?0 C {3 ?9 d6 s* ~ M( Y r4 N. }
var orgNode=node;9 Y8 v4 N0 n7 k/ D7 X" n2 L
var orgColor=this.getobjstyle(orgNode,"color")
9 B' _( K+ Q0 B9 U var orgRGB=getRGB(orgColor);
) C5 `1 h9 r* Z9 ^- x2 e5 I
$ z! `! r N# Z var parentNode=node.parentNode
: O! i% \& S$ L var parentBgColor=this.getobjstyle(parentNode,"background-color");* K4 z0 x8 n T% u3 o! w& E/ i& E
, q% e! L4 d$ B! C3 B2 S var isLast=false;
8 y" p- s* n0 \ w6 x $ A j1 a1 Z* h
while(parentBgColor == "transparent")
7 S, K- w' ]% p/ r: [, N0 E {6 O; x/ a) x# ]) F8 U
) @3 [0 w6 @1 r
% f/ O% b3 q f p+ u/ @
if(parentNode.parentNode == null)) w3 c* ` O* t: P: G% t- @
{! F4 ~: I0 p( T
isLast=true;
1 e# U4 @9 ?: ^5 w: l break;
; v4 H1 o- U# O1 Y7 t }1 o1 e* Q8 c0 M9 [; J1 b) d
parentNode=parentNode.parentNode;
+ F) ?/ z; p% ^3 r parentBgColor=this.getobjstyle(parentNode,"background-color");
4 A; U* q6 e- e7 h* P2 [* r0 [8 | l o
if(parentBgColor != "transparent") ]+ T/ U+ A4 c
{: a. [$ t2 L N( D7 ^. \
break;6 L, R, o: ^5 w4 Q4 a3 t
}
" P7 p$ v5 K7 G; g# {9 S }8 z% P9 l* x. z8 C
if(isLast)
1 @7 { B0 v" q/ N* E7 Y" W3 P- Q2 ] {
3 D8 e3 o! _# s: Y& E8 U if(debug)
% X& T' `/ L& U- Q; y. C. b" x5 T {/ |. O% t+ m7 d, T; ?; o% Z
alert("last!!");
3 ^0 J* A0 S6 h/ J7 G }
7 C) X% m+ G5 h! l9 Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- I" u' S( n# `- j
{6 ?+ @: A+ ]) U4 G2 I9 I' S; P( f
orgNode.parentNode.removeChild(orgNode); 8 _6 O1 \8 Z. h+ K; E, M# x
}
) {4 O. T" }8 S. C }
) F9 T" U' r* Z/ I Z. O2 m. a( r3 Q+ H else
6 V& q! n% h( {! d c( b {
: U! Z2 I: C, `! W" x* }' \% V5 K if(debug)
5 g F' l% i" J4 l {; s/ y" a: v& C2 J
alert("compare color and parent bgcolor!");- @& g9 H- ]$ l+ X
}
1 }- V( }2 M0 } parentBgRGB=getRGB(parentBgColor);
& w9 f* g' Q% o& a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% j, Q/ }. n3 q {9 p6 [4 H( E" w( ]/ f
orgNode.parentNode.removeChild(orgNode);
3 i" G9 Y7 O {* M& L H" @* G }4 e. {2 N! B! \' N8 @
}
" g% J; v6 N7 s% v }
% Z, h% i; f% |& Y! x& q8 x }
0 I% ~* n" s& V$ D) q4 W* T2 s }6 l) y; r, L/ f8 N% \% T* b) z6 |
}) J+ a1 \- l0 ?2 B# t
, D3 q3 |( s0 z K' u
9 d* Q3 b+ N' P1 _7 q3 S var itemFrames = page.getElementsByTagName("frame");% d( }3 q9 M% k' d4 M" w
var itemiFrames = page.getElementsByTagName("iframe");' C8 M( |' _' j/ Q" Q! }6 j
2 W1 m$ g/ I7 E: E
var frame, iframe;
/ d$ ] g7 }! u' h+ A# Z e if (itemFrames.length > 0)
8 ]+ N- o6 p7 w {
: c9 I: L; U! q; m7 |! L for (var i = 0 ; i< itemFrames.length ; i++) ) U4 x3 U% G$ P. b! U8 T1 o, x0 Z
{
: M' s3 ?9 u2 M% d6 \ frame = itemFrames.contentDocument;4 _! _. a/ p2 A) ~3 O1 J
this.RemoveHide(frame,objname);
; `% E/ d& A$ R1 \9 c" E }
9 a5 b# r& k2 H0 I+ _/ [; o& {# \1 t }
4 q3 ^" j# n& \: W/ c) r if (itemiFrames.length > 0)
) \0 d* j. o- | R {6 x1 i, J1 r# H# F) O6 L$ T
for (var i = 0 ; i < itemiFrames.length ; i++) 7 n K. L) t/ L8 p& a* {( P
{) D) o0 U2 d1 s9 ?3 B
iframe = itemiFrames.contentDocument;- C- p0 S: x/ A2 x' p3 z }$ i t. W2 G5 L
this.RemoveHide(iframe,objname);
; V' F: S7 L0 W# x J/ K) ^! A6 @ }
1 b7 M1 B* t/ C( p+ J0 t }
7 K; \, M J- O. L3 Z }. u- x* A4 g$ S8 y, T
catch(e)
# A: F0 h" M" b9 N M; t! h {
/ O( V: S$ _8 [ if(debug)3 R: [9 A5 k+ t8 A ?% d) H
{
% |* V4 Y4 h& g- E# w! X alert(e.message);
]' L) ]+ G! `( f- c4 H; b* F7 |: m }
0 c/ _# P& G ], h }
' y, `& G, B- T s }
4 c Z8 o2 W5 R1 f6 M/ u) L6 r4 q # y3 ~" x% ?* l- f' Q( g; o9 f
}6 e: w8 m' Y8 K0 y# R
4 t7 a* F0 e7 r" T/ ?function getRGB(colorString)
; b& y1 P9 h2 n( p- F{
, k! N7 A$ A2 q# b/ @ var RGB = new Array;2 o& i1 T0 e# k
var tempSting=colorString.substring(4,colorString.length-1);
& Y$ J- p9 g3 Q+ m7 f: O9 V/ e! k var tempArray=tempSting.split(",");
4 }2 N) B5 `! A0 c
9 g8 A: q X% t# x' Y: L) k! P; g RGB[0]=parseInt(tempArray[0]);! |2 e$ z$ b9 f. x, e
RGB[1]=parseInt(tempArray[1]);
' M, t! o: ]" X! v/ b1 a* z" N RGB[2]=parseInt(tempArray[2]);
% z% U( }2 e% k
- {1 F" C X! u+ f+ j- V8 E return RGB;
7 J8 h3 z- L" R! O" q}
1 v# b- e# Y# ~- H6 F; u' c/ Sfunction keys(evt) % ?4 ?& W! S; F
{
8 O4 J- d1 m8 s( O if(evt.ctrlKey && evt.keyCode=="81") 2 c) D! ]1 J- K9 c1 A* l
{ & f: V! }* B( m6 P" m# E, B$ f
CleanHideObj.on(0,1);
. S0 U# P# r, d& S& l, g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* _- e, `* h. }6 R6 C0 L
% Q4 k6 W8 v$ k9 D; C } ' c+ J% L( L, Z \ ]
} # @) |& r3 J; ?
document.addEventListener('keydown', keys, false);
! `5 t. T! Y5 N% _3 v' ~. KGM_registerMenuCommand ('Clean Hide',
( V- ]! Y8 {+ o% G: f! }7 P" gfunction(e){
' c! B2 q5 `1 R# p3 nCleanHideObj.on(0,1)
) S: ]( j/ J4 `' }8 F. g1 `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); r2 X8 j6 T) _6 G4 B# f: e
});% ? V/ @* q6 W% c& }, ^/ v0 n* i
|
评分
-
查看全部评分
|