|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( B" u; A% [0 o$ _* `2 a
; b$ z# v' f# X- x
火狐插件,用猴子1 o, ?# J8 V3 x& F8 q
" Z* ?! r% w W) Q
var debug=false;
4 ]0 J; w/ {, [) q9 v# J ^- V7 uvar CleanHideObj=new CleanHideClass();
+ H# ^9 }1 [' z
3 k: f3 X1 P n+ I. e( O* Ofunction CleanHideClass()
" [2 @& A: Y3 v0 o# { ^' [( e. |{ 5 }2 c& ?$ H% \4 Y
9 H# n2 [# U) _1 k0 p. h6 a9 V+ J
this.on=function(id,bMZ) F9 [+ \6 {# D
{8 K) u. }9 E2 D9 [! A! M+ q
" _( R; N* u7 s' ? if(id == 0)/ b8 x7 J- ~1 _$ U3 x% }1 ^
{' K6 w& B- s4 I6 E
var page=/* document.getElementById("content").contentDocument */document; 9 s4 N: ^2 e5 J! [9 u/ e
this.RemoveHide(page,"span");
: J; J2 i# r# C4 q4 n: j this.RemoveHide(page,"font");
- Z2 s8 @( A- u6 ]4 f8 L this.RemoveHide(page,"div");# X% K9 z% H4 i
this.RemoveHide(page,"p");
/ F5 v5 }1 g$ S- \ {8 q3 ]. _
9 z" v2 W& Z) X8 F }& ]# I# W6 f! A% \4 c
4 s& ~' S* _4 K4 ~3 a( p }& {# M$ I: o" p2 F+ N7 J" S
this.getobjstyle=function(node,prop)2 h' i. w) X2 c/ }2 s
{ m H: v- D/ \5 h- Z+ P. @0 @
try
" _. ?2 v; c3 y. e {
( o$ E5 [& z: p/ R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 X: q& f& o9 F9 ?( ` }: H- J6 V/ u+ Z, ?+ b2 h+ u' q+ F
catch(e)- y9 M" ?$ q5 s3 @# w4 L8 u
{0 k! i* R9 \. X) ^9 u* {+ r
if(debug)& U# y; e6 b5 a3 r! b, N" R/ o
{
8 N# `& X& l2 ^0 H( \( f' u$ f alert(e.message);
; Z: ^% l9 W7 U: }* ]( h }8 x" p- e) H+ z* M7 V5 I
, \1 I) C7 p5 `! D3 s return "200";
2 p9 v" f( O& M3 ~- J" R- {) Q }* ^0 @" D0 o6 y# x1 W0 `/ V; D
}
9 J4 T8 i- M# P$ M: g ! d8 \. d4 \& }0 F
this.RemoveHide=function(page,objname)# i: L$ u5 o3 j7 t0 B2 q0 }
{7 {& g, _. H: G
try
! K0 M8 {" Z# ^5 v# N, J- } {: Z- ~ [" \9 H( }. P1 U
var minValue=15;7 M3 @/ b- `% N, k
var objs=page.getElementsByTagName(objname);
5 B& [& W* g4 K# E5 E# K
, X+ N/ p8 G; A/ Z! l, {4 b5 H$ B if(objs.length == 0)
/ G, P2 ]8 J9 n. z6 R, Q {
9 a2 K- t6 Y; l6 P% A* t7 { if(debug): _+ Z0 P) f) {8 P
{! P- A; D# I; }" B8 G0 t+ E
alert("no object found!:"+objname);
+ K0 i2 ~: z0 N }
) o+ _" o @- b1 Q }
3 C$ G5 e& d( T4 }& W O3 ~2 n/ ~0 p else2 _" f: y6 S; L$ Y4 E/ V
{' H) B& J/ ?+ \- M
6 q T# w! H, Q4 x' M for(var i=objs.length-1;i>=0;i--)
8 z$ z9 c) q$ u( m7 |- V7 x, @! n {7 A; ]; H+ T. J
var node=objs.item(i); * R; c8 M! E6 i% S% h3 A
% H) Y: m7 Z6 M# \' D
; X- Z2 E/ u3 V( }3 n
if(this.getobjstyle(node,"display") == "none" ||
1 ?) c k7 S+ l+ I this.getobjstyle(node,"visibility") =="hidden" ||. O R9 k/ f) g- X5 u$ K
parseInt(this.getobjstyle(node,"font-size")) == 0)
; S* P7 S9 m% f4 G: A0 T {8 N3 K5 S& S0 M3 u) X
if(debug)
3 }$ u+ o) k0 x0 a {
4 {% X# R2 C1 ~" i2 V9 r9 H alert("remove invisiable!");0 } ~* i( p7 w K
}* {, L! f5 ?5 q9 ^3 d
node.parentNode.removeChild(node);4 E; b* r7 ?6 T9 p- x) q
9 B' M8 K- i+ Q- @
}
0 U$ g! G. ]. z/ K' e else
2 @, h! a% j4 W: |2 v {$ x9 `0 ~& Y5 m! \! ~1 i; I
if(node.parentNode) + B4 f7 a% b2 g. n
{
W$ p4 u) C' H5 z2 S# z var orgNode=node;, R0 {! ]) k9 V1 O# x. L b
var orgColor=this.getobjstyle(orgNode,"color")
1 Q% W; C' `0 f4 f2 a" \1 G var orgRGB=getRGB(orgColor);
/ _& x6 i; t k! N; P
- n8 C1 Y: _ L3 K, |9 U var parentNode=node.parentNode! o/ I! n/ R" N0 V6 I" |5 j+ c* p
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 n. c1 s& q& Q/ e0 Q6 ]6 l
) N$ g. ?- @2 ?" S8 { var isLast=false;
1 l$ i5 e. ~7 i5 W' } 1 x5 Z1 s# W# m3 Y6 u t
while(parentBgColor == "transparent")
3 G. \: }1 l* l% m z {1 K2 o. }! }9 f4 g
8 [# L3 ?: c6 J, a2 o1 X2 P
& N9 L- m: ?9 {# k
if(parentNode.parentNode == null)3 |0 @' e( s/ V( W. x
{
& G$ i8 b+ }/ [/ r) O isLast=true;% u8 i+ o! U( w7 u$ X- @
break;6 J4 _! R+ [6 N) z8 A' Y
}3 A7 H% b7 v+ ^; C2 n6 V* Q
parentNode=parentNode.parentNode;
% ]+ H% k* K* F parentBgColor=this.getobjstyle(parentNode,"background-color");
S H; b0 T5 c/ I* |# F1 M9 x' e# g
if(parentBgColor != "transparent") . D0 \4 [3 b0 C) D
{
$ `( B8 O- x) v1 l+ d1 ? break;
4 J U1 F. ~* Y* Q }# K! V9 x- a9 o! y7 I* O, a& {
}' h* c. E4 J$ g8 Z+ U, v6 R
if(isLast)
: z8 q L0 ^! x# |4 s" } {
* N1 N# X& C2 p3 x+ F if(debug)
% s% g: ] X/ r2 \, t" ^ {
9 K4 v/ \7 e- ~7 l6 w alert("last!!");
( o7 O8 V$ f8 K+ \' W) E8 L }
3 M6 @: B+ `! q- e1 Z! \* F/ y! [) w4 @ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 \% i, O3 s4 G2 S ?6 N {- z: Z+ z1 N( c5 S3 x$ s( ^5 k
orgNode.parentNode.removeChild(orgNode); . u2 o5 d( n1 n# I2 w7 G0 k0 v# C
}
. ^0 |* s$ l0 y; R }& W8 J+ u: ^, w/ v% J9 ^: l1 b0 \
else
4 k% o2 S3 j) C3 k& g {0 H- r' y* L6 `3 v2 x/ h+ S) i
if(debug)
' c9 f% w% o5 f+ p9 k: f3 { {
6 w" l& e' e! M+ g Z alert("compare color and parent bgcolor!");* V7 G1 P- E9 K. i! c6 h# M9 D- R
}4 R" k( j" @) k
parentBgRGB=getRGB(parentBgColor);' s: \( ]. e% M) U0 k# ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 ^% q) X; r% I* }- P {
# p. `1 q: Q8 n* V6 Y" @ orgNode.parentNode.removeChild(orgNode);
* r5 ^/ s$ _! [. R }
) q3 M+ D; ~5 C# s$ k& o }' W( E6 g! Y$ V
}
+ K" P! v6 R4 q6 }: t }/ f- z* ?! ^/ F" K. [8 k4 y5 I7 R
}! L* T6 W/ c# B0 M/ V% o: U3 h' _( {# w
}
/ S/ |+ i* e1 @% K. I
1 E5 I1 h; Z- j0 v9 [- B' } O. V. b
3 _ a9 z( p6 v, C: t, s7 a var itemFrames = page.getElementsByTagName("frame");% C! G+ T/ S+ J( t% f
var itemiFrames = page.getElementsByTagName("iframe");* _" z2 \- D' n1 H
0 X& t) q7 W$ t- n, d) c, H9 T9 ~3 @
var frame, iframe;
( h# f" i& A: a- r- A if (itemFrames.length > 0)
, y" u) e* d3 g' R: I' r& b. A {6 M* c1 Z" [. _. M: b. f; ~
for (var i = 0 ; i< itemFrames.length ; i++) 7 u7 U8 ~+ Y5 Q) V/ V
{' m0 b9 B( G( y% S1 K- B1 B0 J+ Y
frame = itemFrames.contentDocument;
$ Y/ `" q' X/ s9 X this.RemoveHide(frame,objname); ' L: U; Z4 a3 O
}/ \* W( E- c) K2 [
}
$ N5 l# }$ a5 ^$ p; x if (itemiFrames.length > 0)2 G. m0 o" N- X- U
{
" r* n! ?/ @) i% N; | for (var i = 0 ; i < itemiFrames.length ; i++)
" k5 G$ x3 H( t% v5 Z$ C- F5 t% m {) y: K3 K; d o$ A& w: I
iframe = itemiFrames.contentDocument;: g# v0 y6 n! t s
this.RemoveHide(iframe,objname);
+ W, y1 A; O0 J5 P } e8 l5 j2 f9 z' i u- L g+ H
}
: C, `% r; F8 l+ _ }3 ?0 J# h# U' w7 o) n9 i3 y
catch(e). P0 D. w! w, v% s3 v' i/ [
{3 M9 _3 u/ a2 w) d
if(debug)
- O% |, V1 Q, z' f% p {
9 z# e, p$ r/ G3 U( e1 S$ _" [, X( O9 l alert(e.message);9 z7 Q( v6 _- x
}
3 q( N" {3 O7 _( i9 C } m2 I# ~% \+ E' E
}2 d2 P2 G9 l0 \2 W0 m
+ V* M1 R( U9 n3 x: V}- T4 v p ?" P" j
$ N1 k1 J" N0 T% h+ @
function getRGB(colorString) P w. W9 w) ^6 s) T
{- O" p n& t) P2 D& n2 n
var RGB = new Array;; D- a* A3 Z! U: V9 J0 J
var tempSting=colorString.substring(4,colorString.length-1);/ Y4 C, h: Y( ^, A) v/ k( z
var tempArray=tempSting.split(",");8 T2 e) ?0 @ i- |6 \: _
1 p# S3 D6 I2 ^6 S
RGB[0]=parseInt(tempArray[0]);
' V- p) I: k7 O; q0 } RGB[1]=parseInt(tempArray[1]);
- S# D. L1 }5 z1 p. z0 \; ~# A RGB[2]=parseInt(tempArray[2]);
2 s$ x+ d: X3 z% \- D / T- p9 G; o; j* s# D* R5 G8 E# G
return RGB;
/ @5 w! b6 J" @$ S}$ }) D+ P* G: i4 }0 s! U
function keys(evt) 8 ^! r4 o) c3 q' a
{
+ q; f& R" z! o if(evt.ctrlKey && evt.keyCode=="81")
# D; P$ k9 A+ A2 | {
9 h3 z: v7 w) d8 O: H CleanHideObj.on(0,1);% R$ s- o9 U1 m- A8 I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 z* K+ A5 N7 U' {
, q4 V, n2 e! x4 b. V$ k
}
) z" |$ A0 K7 a, G) f* j Y }
4 t9 u' u; Q4 O) {document.addEventListener('keydown', keys, false);
# ~. @4 g Y% [6 l2 dGM_registerMenuCommand ('Clean Hide',* @! y& e- l, ^
function(e){
$ ]9 l# i6 h2 i% z: Z# OCleanHideObj.on(0,1)
; N6 n u1 X0 V3 d9 p' I' M F ]/ Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- v1 q& @" c, a; s6 C' G
});
! P8 y4 s: p. P; [# e( A% N |
评分
-
查看全部评分
|