|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + R4 ~+ w# @/ Z/ X& h5 P
0 |: l _$ F* x* E! [) f
火狐插件,用猴子# D" r% n; ^2 s* p. U
3 i. L! z0 p3 ^+ q( h7 r# Lvar debug=false;
5 y3 U8 O9 ~% f7 L5 T0 ^var CleanHideObj=new CleanHideClass();/ k( p$ n2 g: G% s) e
& q& W2 m3 W0 q0 u3 Z/ g4 T9 dfunction CleanHideClass() ' \! r( u' [# B2 y! S8 g/ m2 Z
{ |9 z# F6 z; N* e# r$ E0 J" Z
~" ?# n7 B7 w( ^; b
this.on=function(id,bMZ)& t# T( v! }, l* x* J& W. i8 ^( v
{: O) M2 b! `) [
4 X. |) Z, e% f! r* c2 w
if(id == 0)' k8 g: b8 h' W" F2 |3 r, B
{
- g/ ]( b, P# n% w. E |8 y5 F var page=/* document.getElementById("content").contentDocument */document;
7 G0 o: _/ \( W6 D J4 L) h this.RemoveHide(page,"span");- d# m A8 z% d- J$ j5 L; q4 K
this.RemoveHide(page,"font");1 t# k2 o4 R$ H3 e& I* w* w( Y* Z
this.RemoveHide(page,"div");
+ u' D! k4 |% p) _3 i; G this.RemoveHide(page,"p");/ K( \& G5 L; H, i3 u+ h
: f- B" [6 I& h+ O2 y; V }2 s" H& M& i( ^. j( ^9 o
! [3 ^2 |, i% n' N) J& ]
}
# C$ B ^% |+ f: p0 N this.getobjstyle=function(node,prop)
( A! I; l- d* C0 R# I; N, K. P {3 `0 d, P1 I. h2 B
try7 Z4 O+ E/ g+ S4 x3 W0 ~
{3 I% C, t1 W, s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: l$ v% S+ m4 ~/ Y3 I3 a/ T: z }' V7 ]" f: {8 y! b1 b4 i4 x4 f
catch(e)
; S: |9 |0 K. ~& | {
* ^7 E; r3 O' d& W9 d' j- O if(debug)
w2 H2 a1 C; x0 \2 Q# H7 e {
1 C4 I9 _$ O+ v0 Y' w alert(e.message);8 J1 _ K# Z6 k* W' y! [. y8 [" S. R& v
}
! v, G+ d& o4 W, E" o* ^0 P' P 2 {0 |' ~7 O) l
return "200";+ A$ p7 U3 R) l! K8 a9 g
}
: S9 O% D# Z* ^( Z }) n9 `9 x- T' v1 B' v
! m4 d/ `) q; ^' @$ S& k2 Z4 t
this.RemoveHide=function(page,objname)( b8 U* _* b3 Q7 b8 }
{/ S5 n! s8 s' n
try; s2 ?6 ~6 d# ^) G+ V
{
6 a4 g5 j6 [8 s7 S var minValue=15;
- V! f+ P+ l7 s+ ?/ U$ | var objs=page.getElementsByTagName(objname); ) B% B, H; p! t
0 H8 j* H3 S0 W8 _9 V
if(objs.length == 0) ; I8 i7 F7 q9 e" O6 G$ w( U! U
{
% Q- f+ ?3 `& O2 H2 ^ if(debug)) j4 a% ]9 y! u% p
{5 r" `" a" c$ w* m8 l/ [4 A1 y- i
alert("no object found!:"+objname);. ~0 `8 K2 [9 [: c' O
}
' e {& `7 K1 o% D }8 m2 {/ F/ e& T: W% N
else
' o2 m& y4 m6 a( b# [ {
" g6 B7 T$ y, p9 ~2 T ; f: _+ m- H( u
for(var i=objs.length-1;i>=0;i--)
2 ]! X7 L& B" F" T! Q6 Y* ? {
; e7 Z! s9 V% d var node=objs.item(i);
: T/ n" s6 ?0 y8 y# S
; @. t9 X- m5 E
/ N' {" {! `( N+ O, V, f% c if(this.getobjstyle(node,"display") == "none" ||) Z$ q1 ~+ ?2 P! C; t4 w
this.getobjstyle(node,"visibility") =="hidden" ||2 h) c! Y0 k; e7 D
parseInt(this.getobjstyle(node,"font-size")) == 0) : h! I) F- |( P
{
* p; K7 K0 p" q if(debug)
1 C- C( o9 N% [9 d3 B; s {
! q; k& d3 f$ q! C2 f alert("remove invisiable!");/ v; M5 A7 ^" a; X) w3 q$ Q
}, Y$ l% g0 i& |* l1 D4 m
node.parentNode.removeChild(node);) |; K! z- h9 C2 I7 P0 d# B- C
+ k c- B9 r" g2 U( k
}
$ D4 N% T4 c/ j# ~$ Z0 k+ Y: f else
) a1 y) A+ N9 \ {
) S4 ]- _2 c1 e2 E( ?- W' k, C if(node.parentNode) ) r" D1 v9 X7 U7 `9 M
{
- ?6 z- y, i I, x. e0 Y8 F7 r3 H var orgNode=node;# j0 `, ^! W$ {" G
var orgColor=this.getobjstyle(orgNode,"color")
. }5 y* e6 J# F* K, ^ var orgRGB=getRGB(orgColor);
$ y: n$ p6 A. J
! J e/ x# f- D* Q* U/ ^ var parentNode=node.parentNode9 H* r9 `2 ]& W! p" i- X; S9 w
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ E/ t* k6 P' V- D- A5 F
( L3 X- H! q6 o/ x
var isLast=false;
# m1 v* F. U( X+ A( E( t `. j/ f4 R2 r9 N( x4 e& k g% U$ [
while(parentBgColor == "transparent")
9 T( v! I) m0 z6 t' m {
$ r2 o8 ?$ `0 h 5 k% e8 M9 W! r# T R8 f: a
% y/ {4 u8 i& e+ h" M0 {4 n7 i if(parentNode.parentNode == null)
* Q5 @ Y! ~. K4 Z$ g0 { {
1 z- A2 Y K- V4 W9 h7 w# `. Q isLast=true;
% ]) |4 i5 x4 e( a6 \* x1 _ break;
! r O& j3 A; l' Q5 a }# N4 g0 b& R) J+ p8 C. O- R/ G
parentNode=parentNode.parentNode;
/ g- d- j5 X {; T" g, P r, H parentBgColor=this.getobjstyle(parentNode,"background-color");* s: X# x* A$ q4 i9 b. E/ Q
4 n1 e$ g: ^$ g( j4 i if(parentBgColor != "transparent") ! G$ |& k, g- S2 K. D5 X- o
{* m( r5 h$ `+ d! @$ _ Y; @
break;/ ]- z) E! T& @# I, O, E
}
0 ~/ D9 _5 x5 a% [% A% w }
) B5 q4 ?; Y/ T" |7 e. I if(isLast)
$ R" Q+ ~/ ^* {, Y5 R {6 u- x8 B) C2 d" D3 t: o
if(debug), R- k p* z5 K5 W" Z5 _8 o
{
: N, T4 b2 G+ n; C8 V alert("last!!");
7 a A3 {1 E" p+ w }5 T6 {* E8 \# `
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 `. ]: w* q* j' X k {
; b2 B" D: b2 }0 B orgNode.parentNode.removeChild(orgNode);
% ]4 D' Y: q3 Q/ M! e }) b8 _: g" Y/ H R( E, R8 p
}
; X6 f6 s. G1 t. P. ~4 ~. q else
1 d$ L/ B! j0 K4 O* v {
, ]) s6 d) o2 E ]7 v/ m1 t; y if(debug)* h* \% H/ f2 |' P& i6 c9 y
{# o- L3 R( D' ]8 v
alert("compare color and parent bgcolor!");5 z3 l* C% R0 Z' f& Y1 |7 o
}$ l& U! Y. D0 Y9 W% ]+ c F ~
parentBgRGB=getRGB(parentBgColor);, j1 K6 `' Y% { p* Q; L' F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" z" |5 y/ x8 b4 s0 i* @ {
1 U6 k( y/ J# H; ]; {4 ^ orgNode.parentNode.removeChild(orgNode);
1 ^; c) R* [: i6 c) { H6 ~- g$ q: V }# G* u: S6 g, W) S# N4 ?& p
}- F( `' o- K" z
}: H. l2 H' T, ]
}8 a6 v6 e* D2 w5 r' T& ?6 q. ^
}
. @/ X% f6 t7 }" y% g( [6 D! { }* T8 k5 H0 T L
* k0 H/ K. J" l) I q
/ _( R& B# _2 c( @. u var itemFrames = page.getElementsByTagName("frame");9 e1 z$ r! @- X. v, ?( @/ _2 C7 [
var itemiFrames = page.getElementsByTagName("iframe");
! s3 {1 @/ L/ p4 H( ~7 t, r( m ) B4 ~, ]( F: n4 u
var frame, iframe;; I' R# N' G& g' B
if (itemFrames.length > 0)
4 @/ L: x$ i* j( v& I8 ?' { {2 t8 Q. v: O: \* q
for (var i = 0 ; i< itemFrames.length ; i++)
. O8 [4 V7 m4 l {
8 y; s- B8 N! V5 d4 Q6 O' B. I frame = itemFrames.contentDocument;
* p* r) z1 A* m) t& ^ this.RemoveHide(frame,objname);
X! S) j T4 d* R' P }
# w& F3 u$ p) w; t- \1 T }
$ B$ O& u! m) w0 V2 D if (itemiFrames.length > 0) G; ^% X- m, v( Y0 Q: u) t, \
{; u7 C( A& c" s9 x! M
for (var i = 0 ; i < itemiFrames.length ; i++) 6 B- \* k% y3 o H- }3 f. n' w
{7 F* ]3 v( ~5 U$ Y: ^
iframe = itemiFrames.contentDocument;
' m0 \ E+ ]# c* M* ~ this.RemoveHide(iframe,objname); $ S2 w7 X. y" D# d7 Z' y0 A" T
}
) x# Z( K; N J- r+ @) J7 F+ F8 ] }
- b3 |- x/ `$ j5 c }: s; _8 T& ]$ L# M( {7 F
catch(e)1 L: c3 ]. v% e
{+ K; t1 R* W' Y, S9 u
if(debug). _" I3 u6 e; H! M* r% R G! A) i
{9 c1 ?0 s& |( W( S/ x6 d
alert(e.message);& k W1 d9 N* J T1 S- p& i
}
% R- x! l2 e/ S+ F3 B }
" R# y- t; R& D( A }
4 i8 }$ H% F" e6 k: a+ X7 j: t & a0 i+ z. x. J1 K
}
9 G- i( F; a( n5 o7 x6 O X
7 k& O, T$ _2 F3 c, _function getRGB(colorString)
0 y8 Y) _/ ]: ^- I4 G* ?- K) w G{
5 S0 G* r7 u, i# [ var RGB = new Array;; i/ G: _- _( I) t& K1 C
var tempSting=colorString.substring(4,colorString.length-1);5 y {0 V p& d' w# x' S1 @0 e% ^
var tempArray=tempSting.split(",");+ C; z$ x" y. x* ?# r" c d
& f7 t# y5 M7 [8 M R RGB[0]=parseInt(tempArray[0]);4 A7 b. E2 b+ Z4 F8 N! p% r8 ]
RGB[1]=parseInt(tempArray[1]);; D& H' [ X9 ]8 J2 h" r
RGB[2]=parseInt(tempArray[2]);; v, Q. {4 `, @. v' l/ `8 }8 H
- y4 t/ U6 [8 D, [8 o, Q" o3 b
return RGB;
8 _ k: g3 N% n$ u( |% o}: o7 k# ]0 Q5 {& H1 i/ ~8 K" O
function keys(evt) 5 O# W5 V1 W% a Y# n8 e* N8 P8 \
{ 4 S1 c5 o2 \: [4 y: ?* w
if(evt.ctrlKey && evt.keyCode=="81") 0 o. U n0 U3 |' l, W, f
{
* a4 U* i1 f- j" ? CleanHideObj.on(0,1);
+ E( w5 O* n) s- u# J5 [; S1 Y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( T8 v' Z1 R: b2 o 9 C! l- F: m+ |
} 2 @8 w: y6 f6 X- a: v
}
3 r8 A: L" \/ g" K7 G. Rdocument.addEventListener('keydown', keys, false);
/ D0 G( j! {4 H4 y( G/ hGM_registerMenuCommand ('Clean Hide',( g7 E. b, e5 ]: C Y7 ?: z
function(e){
+ ^' O# j: m' ]% f/ RCleanHideObj.on(0,1)8 G* {( [2 v( b5 k- p6 S' h: y# p' Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");+ k: P! w6 s {8 y
});
% n1 k8 _; h! X |
评分
-
查看全部评分
|