|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 Z+ @6 u* _9 g* ^
+ v. _. H; f$ }: P% |; _" Z1 a, }& ^火狐插件,用猴子) ~) X0 K* T; g) k; h9 [; m
( z$ r/ J4 u* Bvar debug=false;
2 S; D: ] ?* G5 w8 I, gvar CleanHideObj=new CleanHideClass();
- M" I; b3 w- T0 s" `8 u: E* f. O: `4 h& V6 a6 F
function CleanHideClass() + u9 i& Z2 ^1 E" l. i X. P3 {
{
5 Q$ p5 `) a w$ R- J% V) H! ]
/ ?, s* M4 S3 Q/ y this.on=function(id,bMZ)
. O3 U: M# M) D) b8 i {
# i1 o5 g2 { ^+ W ~4 D& C ' X9 n) G j; `/ T* w9 T( m+ p
if(id == 0)0 h. p+ o! a9 V
{
9 d1 Q0 a( Z: N4 `1 R& I1 g var page=/* document.getElementById("content").contentDocument */document; 6 `: {" i: {2 J1 V% W) f
this.RemoveHide(page,"span");6 F, V3 Z4 h2 b$ }1 y, P
this.RemoveHide(page,"font");# G. C: V3 g8 N- @' W+ x
this.RemoveHide(page,"div");9 p$ V3 `* t4 o4 l3 E
this.RemoveHide(page,"p");8 P, {' U4 `9 a
3 K) F, {- ]$ _! [% u }
6 \. x0 t9 G% u' ?
: {1 j/ M) i- ~% D6 p! M) q. e# ? }# O; e3 A# _' W, C& F4 |$ L- j7 N5 b
this.getobjstyle=function(node,prop); `& I3 ~. v8 }! Q& b
{
5 ~& C U4 B2 F s$ ^/ _ try2 _, u$ J; M* g
{% @. t, {1 s l0 s( @
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 N- u. _' h& z0 A
}9 f! ~8 b, W" p3 |; s I& M) B
catch(e)
3 a% z2 D0 }) |; _' K {( `- L: h5 d! B8 }4 n2 Y
if(debug); U6 b' o0 @' }! B C |9 m: p
{
# |0 K; d) P( x1 m' t4 N6 }% Y alert(e.message);' R' @* _: d3 y& I @" B
}
) \7 L5 H, }' M- x 4 Q% I$ E% Y; o! o
return "200";
3 }9 k( Z; r8 U& B4 }* I. Z8 v( k }
* ~# g4 I0 B0 l! G }
' ?+ {: |9 K4 @0 N& S" A1 Y5 O
% |# s" N! w7 _. W/ R% B: c0 M this.RemoveHide=function(page,objname): Y0 }7 L. n6 |1 [; }
{
' {- f% i g8 |+ w, o/ \ try
7 F7 W3 L, J6 `; |- F" v {
. K' h, [4 }* d2 A" F var minValue=15;! `0 A4 b& A4 Y0 w* t* R/ M7 l
var objs=page.getElementsByTagName(objname); 3 ?6 X# c8 q. D, K+ n7 ]) X
0 F( W p5 Q0 z' ^1 d6 v
if(objs.length == 0)
( P) b. [$ `& ]( q- ? {0 G- [( l- b( j4 o
if(debug)
1 c- `, e) Q4 @4 D" P' A {: p% T5 P3 M; p. T# _
alert("no object found!:"+objname);8 I* K- A; u* ?/ ~5 j
}" S+ [* J5 U, ^" f
}
, o8 b& W& @! O$ C else
' e3 }8 H, e2 } {+ H- \9 U3 Y6 O$ q t! p- F+ x
! A1 C0 r6 w; b5 ~
for(var i=objs.length-1;i>=0;i--)
3 X2 I+ } U; C8 _3 Z1 U {
9 g8 P# v0 K, J) O5 F& U2 X# O( s var node=objs.item(i); ; ~) s: U" e5 a& ^, f0 ?
/ p$ m6 M. }% k$ ]8 {
4 D+ `: h2 g: {
if(this.getobjstyle(node,"display") == "none" ||
% t, c0 ~ l3 R5 ~* q this.getobjstyle(node,"visibility") =="hidden" ||
K2 Y% r8 C0 x; y( o parseInt(this.getobjstyle(node,"font-size")) == 0) 7 J9 T7 Y, g6 ~5 @+ L
{% E; r) X$ T# |% M' ^) A' `
if(debug)+ K; \1 z9 i2 `
{
5 X2 K& |3 A$ z( u- E! Q7 j; y alert("remove invisiable!");
5 q) f) c' A. W }0 [. a. N$ t8 @: h. Q
node.parentNode.removeChild(node);& _/ }( U1 B% N* A
7 Z% ]/ x V" x) n1 J
}5 h) Q. n" q, K+ J( X* f$ J* o
else
* n0 u- Y6 R' P5 n( L& L' P {, ^% ^" P' z; M7 g+ Y
if(node.parentNode) & ]; N+ M. Q* D& u/ m
{
* M- D% r! k9 @; p9 t. J" n _ var orgNode=node;5 a B R. x- w/ M8 Q
var orgColor=this.getobjstyle(orgNode,"color")9 w5 Z. w7 c# i) Q9 d
var orgRGB=getRGB(orgColor); 5 g, S* Y" ` o9 P* U
: |2 K% s6 A1 J6 \' K* |, `' G) x7 h" j- n
var parentNode=node.parentNode n2 O7 X6 `( C: @( U K
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 q, ~. V6 Z1 G+ z5 q6 L
) M i5 @ d+ N+ d- U8 V% q0 s var isLast=false;, _3 [0 C$ z! t& u3 k1 ~
# o( }# ?8 c( V% k while(parentBgColor == "transparent") 5 \8 z/ h: |, m' s/ |
{
7 E. M) y, Z+ x' H2 I6 `
) {/ `, V% j! C7 l0 p1 O9 B+ I2 V: Q4 n + T. v& ?7 e( h A- m5 G" r( L
if(parentNode.parentNode == null)8 a- P/ h% M( ^$ t/ ?/ O
{
" A: d0 c" U: o0 b' I& [ isLast=true;0 w8 g8 N; Q7 J! E4 U
break;
: F" J3 G. x* S! F }
* r" Z3 V7 n% s0 Q3 ^ parentNode=parentNode.parentNode;
* C4 O( J! q/ T) K3 e P parentBgColor=this.getobjstyle(parentNode,"background-color");
2 ]' Z' i3 x1 r5 T" ~9 y& K8 o. {9 g6 \# ]& U
if(parentBgColor != "transparent")
8 e5 ?, ?# m* K1 W6 J4 t {* J v7 m/ [ v1 m$ Z0 _5 S
break;
5 @: F1 E$ f# n! M7 o4 Z }8 ]6 O5 e6 p9 Y. T m! X
}
S$ \# ^0 n/ q9 Y( e if(isLast)
6 G: ]6 C" H+ ^( t( I {' d6 d! z$ L1 Y3 N$ P( f
if(debug)
3 O |* M1 j& G2 N A {3 f6 x' k* Q+ x* R- b
alert("last!!");
% D. c# }" k2 @% [& m }
+ g8 [# D$ O' A9 c if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& g" t) s+ N, b. a o
{9 |6 s9 r0 }& F2 ^3 w
orgNode.parentNode.removeChild(orgNode); 1 d& S9 e& [' ~; a6 E& ]: T
}
- B3 r( o2 ~. @* } }+ \8 s# I, W5 M. q/ e& B
else# ]6 @/ v3 Z; U+ b
{+ \( \8 u+ p$ v# { y( T9 A: v/ {
if(debug)! b% X9 N5 |: c4 ^3 D
{
0 y0 i6 k6 m `" h0 F4 Q alert("compare color and parent bgcolor!");
: u4 ]: ^1 G" L1 X- ^9 a/ w2 @ }
9 a) b+ c- c3 ]+ m; ] parentBgRGB=getRGB(parentBgColor);! W3 |7 N' z3 f- X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' I8 o6 W b# v3 T6 x- [
{9 M5 S: O1 X; T9 h" V
orgNode.parentNode.removeChild(orgNode); + a5 O0 Z. s# q. W% x
}4 K9 j/ ^; e" w# d, W1 ~
}
% A( a# B! b8 z- N" o4 b; L, R }
" b* `9 m( B; k; K( @9 k }
7 I. g# w3 Z% q- H' \; L }
' E+ d1 O# b+ e6 R6 l) J2 S& L }
0 Y; X( S9 X7 c4 R' W1 Y2 M
( C, j/ u/ d/ E W$ x2 u3 y
; ^; B* T" }9 I8 O+ | var itemFrames = page.getElementsByTagName("frame");& M9 _5 Y0 r: g. _ s, O
var itemiFrames = page.getElementsByTagName("iframe");% Q9 n0 L+ O& a
2 q" V/ a; U8 I
var frame, iframe;
* W+ i" ~7 B3 D9 Q( h if (itemFrames.length > 0)1 c8 O6 I- {! }
{: v" i8 x1 u, O1 o; R0 D
for (var i = 0 ; i< itemFrames.length ; i++)
' R; Y+ W+ j) u3 D+ C" k {+ b, w" O% G0 K+ N
frame = itemFrames.contentDocument;
I8 R: ^- d& T5 x- i6 ] this.RemoveHide(frame,objname); # J2 `( e# p* `& o" L0 L# T3 W
}4 y9 Z2 Y5 d7 q. g c6 H5 f$ ~5 l
}
8 A% n1 u* |0 n if (itemiFrames.length > 0) f2 b* [$ d- n, V$ v+ m
{
! K0 I3 r6 t R5 _" Q$ G for (var i = 0 ; i < itemiFrames.length ; i++) ) H' w* [* s, X7 Y0 u" Z
{
& L, d# j% @& k r* ~ iframe = itemiFrames.contentDocument;( {6 y: d( X$ v F9 [" p
this.RemoveHide(iframe,objname);
% R% V, l* M' C0 b9 W! O6 c }
9 N4 h; o+ r& D2 r8 s }
' M ?* \& s# Q; Z/ U5 S }
0 H: f# `7 S& B catch(e)
8 D9 u7 C2 Y3 N' g {: d# Q2 F; `! q
if(debug)
4 R. J1 ~0 B0 a0 V( n% {7 Y. o {, u6 l* T9 N6 q# S! g2 Y5 ^& u ~) h% [
alert(e.message);( v ^! a. _+ J3 @6 n( j/ b
}- o; ]9 V( o3 z; v2 t1 w$ M/ P
}
7 T9 R. L; A1 u! M3 i. ~3 t }. J3 C- H* c' b# B' H8 U
( h% D, U* `, U6 h
}
0 J; x% I' {4 x! v9 L( w9 n5 G% T$ |5 v! c B
function getRGB(colorString)
$ [" w8 P( \0 u{7 S# l! L; D1 m0 v- O
var RGB = new Array;9 m- S/ @& J6 h! B, ]$ I7 J+ W
var tempSting=colorString.substring(4,colorString.length-1);
6 x$ _# v( n3 Z: Z/ ^0 z var tempArray=tempSting.split(",");
, [ w: B! I8 {2 ~: _" C( h6 |
2 Z0 G: O% L d RGB[0]=parseInt(tempArray[0]);, k2 ^0 U# U. h% }$ I$ O4 e; |3 _# t
RGB[1]=parseInt(tempArray[1]); R. O# W- j; h/ J
RGB[2]=parseInt(tempArray[2]);" h% ?/ f, G& F* k
5 M- R. k, ?( a, L; [ return RGB;
( t+ ^; S/ v( j) r& o0 n; _}
' `) v. o9 Q( U+ tfunction keys(evt) 0 M) Q. U) Y; F/ m
{
5 {9 ]% V( i2 M. _2 l% `7 s if(evt.ctrlKey && evt.keyCode=="81") 3 x& z; }* L7 g! L7 ~; \
{
1 C' Z: E4 s1 H6 b4 O- L- m CleanHideObj.on(0,1);6 ^. Q, n4 e% P' g7 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) q# U9 U$ I4 h; L& a, f* d
. W, z, m/ R/ ^" c9 R$ I+ [ } , o. A4 i% r: L6 Q8 m
}
/ x2 g! O& O: @* fdocument.addEventListener('keydown', keys, false);
: J0 P+ e3 K6 e- p& j. wGM_registerMenuCommand ('Clean Hide',
1 J% ~) r9 H3 R- I+ g5 afunction(e){6 n- Z [ z! \3 J
CleanHideObj.on(0,1)6 B5 t$ T/ }. k8 l. P9 b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 k) I2 v4 L6 |/ l$ F' p});
$ | f+ h3 o- C! P" e, t |
评分
-
查看全部评分
|