|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 b/ B0 y* z% L% Q
# l( c$ D7 R r3 c O5 E火狐插件,用猴子
# J) M4 r. _2 B/ {1 V
1 e7 G6 H8 |+ P9 I- z c2 Ovar debug=false;
4 X o+ K0 p }$ t" |% [var CleanHideObj=new CleanHideClass();! D! h$ e4 ~) e: p# c
7 S2 A5 h! [' P; G7 E
function CleanHideClass()
1 V! y+ G1 o( e9 }{ 9 x* ]' ^' Q& w. h8 b4 `) `5 ^
) F8 J# Y6 O1 {+ ~: i" y this.on=function(id,bMZ)% Q# {4 F/ m! {. C, Q
{+ d7 G0 k' N' L. A F
1 i" g* h: d. [. a H. r if(id == 0)8 i+ L9 Z5 I+ B. \+ @" U
{
* O I" ]8 I7 h, u1 @ var page=/* document.getElementById("content").contentDocument */document; / J' _9 P# t7 y; \% S1 l! \
this.RemoveHide(page,"span");, E+ C. \, N8 B6 T9 }5 P
this.RemoveHide(page,"font");
" d2 K4 [6 u" [* j% A- Q8 z this.RemoveHide(page,"div");
) [$ c4 _$ N- D this.RemoveHide(page,"p");
; i# s. ^ ?1 g+ H: [2 I! Z7 l # R2 k' a+ i" ]- u* ^! f, [
}
5 T" P. w, \! j- H 6 T$ u8 d7 z6 e" |( z; p
}
5 b$ _+ O' R; ] a2 z+ c this.getobjstyle=function(node,prop)5 a. t' X$ S | X6 Q! D* z
{' Y- q. e- Q ~; R& [
try
) {9 C. f. K' t1 d0 ^1 w+ K' l {! X6 N; f$ n/ Q; O* W5 V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" c8 H& }6 \8 s! g" P, a/ |# q }# m3 B. u# X. F4 s0 B
catch(e)3 K) k/ M. x" g! ]* W
{1 d7 P( ` z% u
if(debug)
! I# T3 m k2 j8 w {
1 q$ C: W! _6 l8 n" n8 |* Y alert(e.message);+ t' M8 i2 A8 m7 o
}
! q) k5 o2 ^1 j# |- a+ l! W; t: ^% v 4 R4 H$ G/ I1 X4 J3 q4 B" L
return "200";- c& K$ o( {5 V
}
# x. _& [' |9 p }/ d0 g; m7 P( L- n/ T8 v' D, ]
. ?, Z1 w; I5 Q5 m3 O* J this.RemoveHide=function(page,objname)
5 z( e) @# o! K O {
( M- A9 A7 Z1 k) c! \8 B! ~ try8 V* Y' w# a, `
{
# t k1 F7 @1 i/ e7 E' {9 u$ r7 P& q var minValue=15;0 M" x- O. G, s. D8 C* W
var objs=page.getElementsByTagName(objname);
- a& G# Y, E( t2 } | C1 t3 ?, j9 o" _2 C( M# \
if(objs.length == 0) ( U- p8 M' S4 a- z. Z6 w# S
{. V5 H0 S- D5 j
if(debug)( ~9 L! ]5 ?" s, o+ K
{1 n# Z8 k, O |/ j3 n
alert("no object found!:"+objname);: G$ M1 _ G9 n. U9 K0 m2 j6 H. }; w
}: Q, r/ Y0 _: y4 ~
}
; e( r1 S9 M2 ]5 D: g else1 n4 {% L$ p. l
{
! X0 e1 U* d3 a/ ]. M/ r) Y( [ " A0 S: X) ?! X2 L
for(var i=objs.length-1;i>=0;i--) 4 C" i! [/ r8 M$ I" [- e; W
{
& g* D$ n( r, r- s2 d var node=objs.item(i); - [3 q) G9 B7 C4 f7 y5 P
- T0 x- O7 R8 [! y * U( c5 }- J& U+ y3 W/ d: i$ S- T0 M
if(this.getobjstyle(node,"display") == "none" ||
" }* U, Z# r# x) x+ Y; [ this.getobjstyle(node,"visibility") =="hidden" ||
0 x) B& H8 o- x$ ~* @- { parseInt(this.getobjstyle(node,"font-size")) == 0) 8 r6 |* ]* \4 N! L0 [0 G
{3 c2 o; T# s$ f9 [" X/ i' e# a- P
if(debug)+ C. w8 J' j+ J& A: ~$ Z8 x
{
) L' K, K* P* v: ]3 ?1 H) |2 t alert("remove invisiable!");. H9 v S6 c* j' w
}+ U3 R# s, [. v4 S
node.parentNode.removeChild(node);
?! x" g+ p# M2 |* ~# G ) Q5 K7 v+ K2 N: Y f+ K
}1 x5 s/ a1 t' u# V: Z$ j* _
else 1 L! Q# U9 {; \) t5 R
{0 ? f. T# o7 Q6 C* D$ G
if(node.parentNode) * e- [5 N, v3 f& ^5 N
{
~# b( l1 O4 M var orgNode=node;
7 ]0 L+ j/ h. e) x% @ var orgColor=this.getobjstyle(orgNode,"color")
! L; {" Y6 I @" @6 D) E& P var orgRGB=getRGB(orgColor);
$ n' W3 @, G( o h : i1 c$ O* f) i
var parentNode=node.parentNode
2 i+ U' d: G& T8 Y1 t var parentBgColor=this.getobjstyle(parentNode,"background-color");# M: ]5 q: f8 V
6 g3 z6 Y3 _6 H% J5 _5 a
var isLast=false;
7 }4 _, R. [! H
: Z7 C" r; N, M while(parentBgColor == "transparent")
& P4 _& W3 D# o0 D* V+ s1 X1 W% U {
& J# \) \. G' l- v7 R* V R- E) i8 J' L, v
2 L3 Y, e" g3 |6 M& A. V
if(parentNode.parentNode == null)" L! v6 t% d5 w/ s* l$ A% w
{
' O! |' g) g+ B, Z8 M5 ^7 a isLast=true;/ ?6 P! G v- q c; Z# T; [' d( W
break;# o" r, H0 F: j) R/ _9 t
}
/ i7 [9 f8 {6 g2 p% a( s7 e2 q U, P parentNode=parentNode.parentNode;
- ^, v* i' z' M4 b) F" w6 H parentBgColor=this.getobjstyle(parentNode,"background-color");$ x6 d1 _. x* o
6 U6 d* f2 @0 j9 Z. l if(parentBgColor != "transparent")
+ d8 e1 G' {- j# D0 C* ] {
4 V& c0 D" T* S* {: [) x9 X break;
# d) m5 I. T$ e V+ d" d) e& p }0 W, y z$ M/ Y' i, o- e$ R0 T
}) m* E( {, \8 Q! m0 c4 r
if(isLast) , [: ?7 n0 q* I. a
{
; r; Q/ _/ s, ] {( E. D if(debug)
k+ E+ k3 e. } [/ m* E {
2 w) @6 ?1 C, P1 @4 Y alert("last!!");
( p) J' I6 A- V/ T0 L } v! @& M2 w/ r/ Z: S8 I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% w2 c- [ c, m {
; x, n# s8 S N6 O$ k3 ?% |& F orgNode.parentNode.removeChild(orgNode); 7 G u, C& s2 z8 `5 s
}
6 ]) j' b" s% |9 P" n }
' {' ^ {' j' |/ f8 A' w else% H( D7 l! e- G5 h" m5 b
{
/ K4 u: [4 m+ [9 T if(debug)
" k: d5 S- }( a# Y) K2 g {
2 p3 k) D8 \$ |- d' {! c5 U alert("compare color and parent bgcolor!");2 g$ [; h; W$ U ~
}
$ q8 L. l2 y( o/ f% m4 U: }; p' S parentBgRGB=getRGB(parentBgColor);
- t& t7 H% }6 a" v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- w6 q5 m( ^- \
{
/ u, x- E% I! {3 H' u orgNode.parentNode.removeChild(orgNode);
, e8 z1 @8 r+ x8 P! ?6 I }' N7 B8 P8 c- m4 N
}
8 j" n @9 c+ M8 S }6 n" O( P5 h; n, u) T
}
' {! w; F4 ?8 e' D0 S0 \ }+ U- {5 D6 g6 E4 T# x5 I8 f
}: d8 ~( u% c0 N
h& e, r' K! P1 C1 S
! l1 u4 f H' q7 ~# r. y, }) [ var itemFrames = page.getElementsByTagName("frame");
% s7 ], M) U. f var itemiFrames = page.getElementsByTagName("iframe");" D7 B! \( g% M9 F4 A/ x. z L ?
! d2 t6 D Q, G2 p: u- O
var frame, iframe;
, i/ A% e' L# Q' M if (itemFrames.length > 0)1 { W$ Q( X) a: L
{ s% W* _4 {* K' Y+ Y/ I- R y
for (var i = 0 ; i< itemFrames.length ; i++) 6 W: z8 L) W5 F, U) B! v( J8 `' u
{
. C4 h$ U3 T5 u. H0 K frame = itemFrames.contentDocument;# ?: G0 M u! Y" _2 X6 `
this.RemoveHide(frame,objname);
6 n& E' W' K/ o9 k( n3 {( i! ~ }' A2 c& r9 ^' w$ V& k! |
}
; X, ?! R% @ {" G if (itemiFrames.length > 0)
6 N0 m) N1 d1 u& K& X8 q# a {& z. }; y' }1 P( b: J
for (var i = 0 ; i < itemiFrames.length ; i++)
j+ c4 B3 ^8 E1 _6 o, @# _. A {( F8 U$ q. {% }, k
iframe = itemiFrames.contentDocument;0 `& z0 N# G! \* h" i+ o! I
this.RemoveHide(iframe,objname); 8 E# Y+ _2 E% Z/ q, U
}
. |$ Z |9 W. E9 Z }' {1 R( h. Z( i1 n5 V1 U7 @
}
$ L- ]2 h( A4 s catch(e)# } H9 w/ s' T: U8 h
{
/ s* o' G% ~1 \# ^* S# i; p if(debug)9 C5 u% W- i9 H8 N) f* H) G& s' u
{
5 ]5 C) D& B2 B2 _, k+ X alert(e.message);
6 o4 L: y8 A& e }
! [" F5 m5 G! p& w }
, {" S# p* v3 l# F }5 X# @, v }5 y& v) G3 H2 W: c( x
; i9 ]/ m1 l; y8 L+ X}: h2 c4 o( ~7 m, U- s
. b; H% `, _$ i# D2 i8 Y
function getRGB(colorString) q/ A0 ~; S) }( h9 s" A
{6 V0 n+ l5 d% K4 X( [0 V
var RGB = new Array;1 C. M% j9 A( N
var tempSting=colorString.substring(4,colorString.length-1);* ]4 ~2 e/ u1 F5 O0 \- s
var tempArray=tempSting.split(",");8 K& R: C d8 h+ `" x8 A% x c8 i
7 @( I! i/ n8 Z! Y& E+ N
RGB[0]=parseInt(tempArray[0]);" E7 Z. \) t& j* p- o
RGB[1]=parseInt(tempArray[1]);
; b* S9 a# {8 S RGB[2]=parseInt(tempArray[2]);$ h+ v T" a; C& N/ C& [7 d
7 t# L! K; A+ L" C$ G$ V3 S0 [) k
return RGB;
. D. ~' m9 I* e D: w/ m0 h}
+ U8 Y$ w% C7 O$ W& }0 x) x. vfunction keys(evt) 6 [8 W! ]+ M c6 {8 C [& t
{
& P* V! N! e, J9 @ if(evt.ctrlKey && evt.keyCode=="81")
/ Z+ ?; o- J3 A5 G+ `& ? {
) c5 k: E) I* R CleanHideObj.on(0,1);* ^0 z* e1 o+ O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* C% l- m6 Y: f" B: @
0 U" @* |0 m* I! `6 j2 a }
R- V, ^5 M+ z& v }
* D* d) D1 }* P1 j2 y" X) ~- \document.addEventListener('keydown', keys, false);
' Z( }( k7 |1 {+ j qGM_registerMenuCommand ('Clean Hide',: Y C0 R. `( ?
function(e){
9 p2 b2 U+ x1 M( @5 D( S1 lCleanHideObj.on(0,1)
" P9 Z. Q, S4 Y: Z5 P! ]; Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, z( Y6 }; X! a; I2 K' ~% V
});3 W2 j! ~& k' z5 [& y4 Y
|
评分
-
查看全部评分
|