|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 A1 O4 F4 x' h+ R3 ?8 ^# s' J+ _! ]
火狐插件,用猴子; V o/ g% @5 L8 ^8 N1 m8 A
0 |2 ?2 J: I! J# r% v* uvar debug=false;
% e$ A! \/ i: N+ k- F0 L R2 {var CleanHideObj=new CleanHideClass();4 U; R! s7 e# m( {5 u
. _" N' v! a3 ~& Y
function CleanHideClass()
3 F, W- P) i4 K) w{
J( l f: `$ @3 _
% {$ _0 n( n6 a/ j! w this.on=function(id,bMZ)8 \# W% v* x# A. E
{6 v, A2 W: K' @$ C
' o6 G+ @2 ^0 D% x4 B$ F: D if(id == 0)
9 E- o1 q) [" P: q: g: J' v* o {
: B6 U; z E/ i5 Y2 g var page=/* document.getElementById("content").contentDocument */document; . b8 d3 n7 q" a7 j9 b* ]! D
this.RemoveHide(page,"span");* Q1 P8 C$ h8 @: O
this.RemoveHide(page,"font");
8 L: ]& Y$ X- E+ n this.RemoveHide(page,"div");" Q( k' ~& n2 V* c3 v3 D. U
this.RemoveHide(page,"p");
3 b' t# s8 q& v1 q1 x
- S; k3 |3 e5 @/ x. } }7 b& l% ~0 a2 `% |$ w, U0 J
8 N- j; Q2 Z9 d) M% Q
}2 S4 j6 L2 @- r6 v3 V$ J
this.getobjstyle=function(node,prop)4 J, ~: k( L W U% }( X% H
{
$ s5 ~" H& D' B" I$ U try$ B1 A* S; O z. D# v* a0 C
{, w: x, i3 K! y. Q- c8 ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) s, o: i4 Q; E- P4 k1 y }! a/ O& C1 D" k
catch(e)
( K$ k+ S3 [, p8 t: l {( p, W3 t4 [2 l9 U- y* f
if(debug)0 b/ x9 K& w& j" \8 q6 X) t" v
{- }3 T+ w( |) B3 m: `' ?; n0 U0 n
alert(e.message);# k5 g9 J) U' j1 M. Z$ h- A
}# O' P# r& A, y3 } f( O( s; r
4 @- G N4 ~2 ?5 W& c6 H2 R; u return "200";
3 `. @; e* S/ s5 X$ q! A }% F5 g! v( k3 y3 A6 n
}) t9 H' a n0 Q9 Y' K0 q) I) R
& K0 C# `) B' a2 i" Z2 i. K ^0 }2 y
this.RemoveHide=function(page,objname)
7 p9 l5 W5 ]; g {, {+ t/ b9 P& k* [& d" Y! d) }: \
try
" J/ F% v# w6 b" ?4 `+ ~8 S3 P: j {& B0 d1 n8 o8 M
var minValue=15;# J: V0 j' l7 A$ p$ G) u
var objs=page.getElementsByTagName(objname); * W4 ]+ J2 J' k7 o
3 j3 S2 U9 O' b
if(objs.length == 0) , |+ p9 r( u! X6 p# N
{0 T$ j3 K9 Q. K' B" ]9 }
if(debug)
+ n, q* f- A" T {
% `+ M% N" g# L* x alert("no object found!:"+objname);
" T/ ~: B- E/ s' a! u7 U4 x }
' S1 I0 y6 M% \ v: B4 l A8 e }
# m% a3 u; ~" [. X. F: ?; N else
; a! y. b/ l7 j! N4 a2 k9 R {3 l% b8 v9 g, {" I% D
5 g' C6 ~# h2 l- K: U* e2 P' h8 g
for(var i=objs.length-1;i>=0;i--) " k* r3 I8 Q g; F1 l
{ E" w* l% E4 V8 c! T, b3 [; T
var node=objs.item(i);
$ g }4 x! G# l$ J- e9 M. w1 L 9 }2 `2 m. t; X3 @% R
0 m) Q2 t8 Q- E- K: C3 ?2 w
if(this.getobjstyle(node,"display") == "none" ||
8 c* m/ F7 R; |& O& {. P" G) D this.getobjstyle(node,"visibility") =="hidden" ||& B1 y6 S! d. [& j1 `, J' I
parseInt(this.getobjstyle(node,"font-size")) == 0)
9 V* c: X% V( z; [+ _! T' G {! }# p5 q6 \2 M l! e3 ]
if(debug)
$ o" u: Q. j" B, T6 j( Y# G {
) `7 f& Y4 C" o4 B+ ~ alert("remove invisiable!");
+ Y. q! B' S. U% { }
1 d) R" C5 x+ }# q9 s9 U0 P node.parentNode.removeChild(node);* d/ W1 F/ q+ M' y' n0 s5 C
% a3 V: o" h c0 S& w
}, x# v0 }0 i4 R8 f
else
: {, W! p, ~6 H& j1 E {( J! s! A8 M8 R" m8 h. y& e; Q
if(node.parentNode) 9 [* F3 g- _- H+ |7 [
{
) L$ S* ~- H9 S) r k7 f* b var orgNode=node;
6 a: y, r6 F0 E+ \ var orgColor=this.getobjstyle(orgNode,"color")
5 C7 c; T4 J/ A$ k* w var orgRGB=getRGB(orgColor);
# K' j0 U: U% y9 b X. V# o 9 _: a( W1 y+ L9 L' S
var parentNode=node.parentNode
, u1 I6 Z$ b5 J2 d' t% k* I+ q var parentBgColor=this.getobjstyle(parentNode,"background-color");; v( B( \/ `, U) h$ G
3 [2 ?8 P8 j* t) h3 x2 l var isLast=false;
; s8 G; s" n6 x/ s/ Y _
3 n+ x/ @/ l; S6 n+ E8 Y' @ while(parentBgColor == "transparent")
5 b' S) M+ ~* r7 H4 a+ o% V' ~$ z$ d {) u4 `3 _8 L* S2 Y- z' j
) W" ~! t; `+ z' S/ ? 3 G' b! Q2 M& L/ e2 a, ]8 d+ B
if(parentNode.parentNode == null) o7 f8 b5 z2 _9 Q' Z( s
{+ P) f4 L' x' ` r, E
isLast=true;+ A$ [9 D/ N1 n8 m" E$ p: C
break;7 \# E" [ G, W5 j0 B1 h; ~. D
}, ?8 l# H3 ~1 r" r, H2 ]3 B. ?
parentNode=parentNode.parentNode;
0 l. h8 p# x" V) A$ P parentBgColor=this.getobjstyle(parentNode,"background-color");4 n3 y. h7 ]0 ` s( C/ _7 @
" c- g, j' c0 K+ ]& V A* F if(parentBgColor != "transparent")
5 f& X0 ?2 |* F2 D {3 z/ K& ]0 [3 c
break;# h$ [! @* F7 Q- g
} l, n$ Z( y' V
}- R5 r# J0 O9 p- r* f, [2 _
if(isLast) ! G1 w. S# J. ^0 z
{
/ n5 I% Q% s; C! W. N8 K if(debug)
& z6 O7 M& Y3 N; X# C2 C+ i {
) R5 _. [" t! {4 ]0 S" L1 }, g alert("last!!");
2 g# c$ z# c. I7 ^ }
7 {7 B/ A& D$ ]) v# k if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ w. R3 K- p6 T6 G9 w% U* r
{
3 k* o- d- j- F- c9 Z9 h9 Z% ? orgNode.parentNode.removeChild(orgNode);
. ]" R- F! D7 ?6 w0 q n }
" j( V1 o, C# k }
- t, C$ C [& j, U( ], c2 d& F else( [- x* X8 F8 I& s9 C& v
{
0 G, d# e5 @ o2 ` if(debug)
0 `: h y6 g" c" { {+ x# z# k) |; {, i E" G2 m5 n- Q
alert("compare color and parent bgcolor!");
8 [+ I) @, h: _8 |- p }
# M3 V9 T- Q7 G p! ]1 W parentBgRGB=getRGB(parentBgColor);
/ {) e, Q* a+ p$ t5 t6 E3 [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" B% S4 J4 i1 x$ r* n/ L# U! W {
1 ?) ?, f. C) ?# c. g4 Y orgNode.parentNode.removeChild(orgNode);
" i' N, D' r2 ^ A/ D' J }
; x0 n- L. W% x5 a( b8 G/ m }9 i9 s( H& M& X0 t( e- v ?
}! M5 n. W4 ^5 l( L, @$ Q
}
, i; n* c1 o4 Q- W' m ` }2 a- f9 L5 o; M* L$ @/ S& ~" L, x
}0 T/ H" M% S7 N4 ?
: Y" x; J' n- R
9 x* g2 l# a- p4 H% s; h) K1 s
var itemFrames = page.getElementsByTagName("frame");4 K$ b+ v% v' f& j
var itemiFrames = page.getElementsByTagName("iframe");( W5 M) O+ ]( s
7 n$ w2 H7 I8 @- ^- c5 x var frame, iframe; H9 x, t1 l. a( d8 U2 T3 G
if (itemFrames.length > 0)
% J6 V3 w7 c- f$ ^6 [ {
5 Y$ D8 R. N3 K2 f( _" \ for (var i = 0 ; i< itemFrames.length ; i++)
0 H& `- G2 G( U {
9 q0 [4 O4 \$ y# @% j7 W6 r2 Z7 K frame = itemFrames.contentDocument;3 q# V: i2 U! }' A0 t: j
this.RemoveHide(frame,objname); * {- A" m4 m* G6 T" @7 ?6 }) d
}
( o5 ^! o3 r; p A }1 w' _8 Z8 @, F6 b1 U B
if (itemiFrames.length > 0)
$ ^( @4 \& W2 | {9 ?6 G- o. O- X+ Q
for (var i = 0 ; i < itemiFrames.length ; i++)
3 t& Z# {+ |. v+ F: M) ` J& K* X: Y {
* H0 @% V, u- G iframe = itemiFrames.contentDocument;" M' `' J# M9 G) u8 _# ~
this.RemoveHide(iframe,objname); # n" s5 i6 r4 m( D/ a
}
; F3 `. X# s3 M* T/ @% y }
5 Z8 k7 ]: A* B/ g" o4 b }
2 j Y5 A, w! r catch(e); w' n! Q }3 R/ _1 W& q/ w
{
) l; G' x) V2 h1 ^* \* J if(debug) c( u+ o8 L0 A. u( O3 m p4 p9 f
{8 ]0 ]" }. p7 G) g8 |- B- d1 B
alert(e.message);
4 ? B; b# a/ @, m/ z$ t' O3 Q/ l }
+ E: m' f- m/ n5 K' f- {! } }
: D6 ^. T8 t7 S( Y. `. _4 V. H3 z z }
2 l& y% s( U$ r+ g, k% ] # n& O8 l3 P* t, u
}
( G0 e6 r! g Q, Q" i4 E
% `0 K& J8 S' X" k3 ]function getRGB(colorString)! h; d3 U# p9 E* D& v
{) R* [' @ |/ t1 F- O' I
var RGB = new Array;
2 p2 c [+ R8 _; N$ c0 |' y var tempSting=colorString.substring(4,colorString.length-1);
' Y0 w, \" _ w/ Y u. \ var tempArray=tempSting.split(",");
6 l9 r4 `' R+ h3 ]' i5 T
9 z$ h( }3 N! v; {. c RGB[0]=parseInt(tempArray[0]);
7 ~$ ]9 Y3 D f% r# ~ RGB[1]=parseInt(tempArray[1]);. \- Q# W" y9 o$ M ~5 N ?9 e; B
RGB[2]=parseInt(tempArray[2]); M; D) s8 Y1 Q2 ]0 a; m
! S! y7 K* J" v7 x
return RGB;! J( d' a% ^4 ^ x# m
}; o" F! A3 J3 v. x |
function keys(evt) J: g- W* p1 k8 h& o; U6 y& z& J' ?
{
7 W5 _& M' ~8 A" ]4 }) r if(evt.ctrlKey && evt.keyCode=="81")
, V- V/ n4 H7 n { ) Y$ ~ L" d- s2 q
CleanHideObj.on(0,1);
& Y8 X2 u* b6 M0 D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
?! h+ _8 v" o- R/ A: S) ]/ ` ! y* w( _7 Y6 w/ p( v1 o0 z& l0 p
} Q3 f6 l, }5 i' {2 G
} 1 c0 S' j" O" ~4 o
document.addEventListener('keydown', keys, false);
7 ^3 s7 k3 X% a+ S- `' K4 K3 j1 TGM_registerMenuCommand ('Clean Hide',, _9 m% C! @% _, w; u
function(e){
0 y3 h* c2 K, N' B* SCleanHideObj.on(0,1)
- D: f7 }5 N' y2 E: {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 |0 e, C! Q. k% H8 c
});
7 r& t) B7 {) z7 }" ?3 Q. J |
评分
-
查看全部评分
|