|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 r- D9 O& r+ {8 q
7 x3 Y; H; B1 d
火狐插件,用猴子
- w+ X& ^+ J( z' W7 [
6 c% x" E9 k, H1 k; M$ }/ q, V$ W$ Y N+ \var debug=false; $ Q2 Y% J$ p3 e# l3 x: |
var CleanHideObj=new CleanHideClass();: T+ n) [( e% c) U9 \+ l5 ], B
; d( V8 M. P5 G& v
function CleanHideClass()
7 F0 v9 [( q& M{ 6 ?* O/ Y' P; v/ |. k: [0 a" Z
Z$ Q/ X* e B; H: w this.on=function(id,bMZ)! E9 I& Q0 Z6 g" N
{
z9 X: R& B& u! x) {: P: s9 L6 m
( c3 g8 S8 s8 E3 b; _- O4 ` if(id == 0)
& L5 f z* _* w" P" p {
" E# A4 e% b. d7 i var page=/* document.getElementById("content").contentDocument */document; 2 A, t R* [- ^$ p$ J4 M
this.RemoveHide(page,"span");9 ]8 i( W8 n* R5 h4 `0 F" X+ ?% ~
this.RemoveHide(page,"font");; c, W- s; L: d/ \
this.RemoveHide(page,"div");0 Z0 {# A" {/ p. V
this.RemoveHide(page,"p");) |7 y3 [% o* @1 \- O
3 a; P4 Y" f G) y% z! [ }
: a3 u7 S1 a% ~ 3 c3 V- y/ Q! i- v c( Z9 q4 g& t
}
. U2 c/ b) }3 Q% v5 m0 q% g this.getobjstyle=function(node,prop)
, @8 r7 n. c- u9 c5 e8 p {2 }7 o7 L+ N( k4 c( _0 p
try
9 o" q7 j. A) }# E& f5 Y {
& ~, k2 r R# u6 D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 h9 [$ E3 r3 d; M# j: l% A5 r
}( e: r7 Q6 M- l& i: f
catch(e)
# j" S# q0 Y4 i7 j4 m {
0 D& B/ `( }% \5 x+ d/ Z. m if(debug)8 o% S; A; H$ w, m
{2 N$ S* O( c% P# h6 |1 B
alert(e.message);
( B7 y5 }9 f4 R" h1 ~4 ~ }
7 z: x! [" _9 {; j8 E
9 @% }9 S( [$ _5 b return "200";
2 r# f7 ?7 c3 o+ l0 ]! k- z }! Y# B8 u0 s: w5 I) u# W
}$ U) @, r$ b# `6 M3 h
2 z! k5 e2 a: O! Z1 |- b' g) w this.RemoveHide=function(page,objname)
- _& s4 y8 H! \1 u3 I' {: v {
5 ~3 j: G. b* h ^- | try6 R P3 ^" R/ j# z% a9 l
{
5 W8 z& G# X5 {3 t0 H. g( _ var minValue=15;$ M3 O) I- b5 H3 x, ~) ]$ M
var objs=page.getElementsByTagName(objname);
# |" M; K/ j! K; K9 m" T, [
. Q; I2 N! }: @4 }' c( _8 M- L1 k if(objs.length == 0) ! \% P1 E' [! d+ j# y
{; i ^6 b+ C9 N, R! j; v
if(debug)
; f3 |* w4 X% m) q$ {+ J0 l {5 q* p' h- A" ]# B! w, H+ `% Q
alert("no object found!:"+objname);
. @! n% c, B$ c& t2 E% M/ g0 | }7 i7 Y" k1 u* m# n+ S
}
: u- T9 w/ g% L( g else0 K1 p) ]6 W& A+ _4 Z
{: _( y1 F3 }& \5 v0 Z; M
0 s/ E) T6 t, Z6 Y2 B0 ^& c1 w" o2 Q for(var i=objs.length-1;i>=0;i--) 5 V5 w$ \$ l5 V6 i! v
{- x7 }. u @2 R( G/ a) o
var node=objs.item(i); m1 K* ]- h# t6 H. M4 w
, V" p% B' E; c, R
. Q) |4 z& N6 j; f" e3 k
if(this.getobjstyle(node,"display") == "none" ||1 G0 B1 b- A- Q3 q. D" ]
this.getobjstyle(node,"visibility") =="hidden" ||* g5 R# d, b+ q4 D- [0 b
parseInt(this.getobjstyle(node,"font-size")) == 0)
( W: f7 [, B J { D7 }# z& a3 q" s& y5 p
if(debug)
" T4 p' v* e/ S3 F. L. Q1 `& N {+ x h3 l7 K- W+ [6 w
alert("remove invisiable!");
# g; W. L, h, g s) s$ c K }
/ Q6 z! Q; B( d8 d9 ` node.parentNode.removeChild(node);5 }1 [" D' k- D# O3 y
7 v) s" I! O# m a( T+ S
}8 E; @" {2 \1 ]
else
$ [* N: I( @6 d, u, b {6 Q+ ~* X4 }* y( r: ?, G, t
if(node.parentNode)
: U' \* |/ u! V" ^$ _ {
9 D8 l" Q6 @, M var orgNode=node;
7 j0 X) |- W! @0 [7 X2 k: C/ a9 g var orgColor=this.getobjstyle(orgNode,"color")7 E0 u1 D" G! j3 O6 R5 B9 K( F
var orgRGB=getRGB(orgColor); * G, p8 z8 v& E# D9 c
) M, d, o/ V% R: G# `
var parentNode=node.parentNode
, Z5 B" w3 P+ e, }: X F0 K var parentBgColor=this.getobjstyle(parentNode,"background-color");7 C" m1 }9 [) n, x
, |$ L9 l1 v3 H1 _$ A
var isLast=false;$ i4 E' c& i, G0 {
5 p- q7 c. H; |( o0 D while(parentBgColor == "transparent")
" V' E7 p# ~/ I; ? {
, X! j2 a0 ?$ z
6 E! b. H; b+ Z) E9 m3 d $ x! [! y, W' O; |2 g
if(parentNode.parentNode == null)# B/ h( ?& {- |3 A
{2 x/ ~" k5 t( Z7 t1 d, }' t
isLast=true;5 x5 P3 o K0 `0 G/ b+ r, q) v
break;, K2 E% H: m, N1 o* n5 P# H' ?: J
}
" k) k. C& Y6 d" V: s parentNode=parentNode.parentNode;
; A7 Z, ]) X" T+ T3 S parentBgColor=this.getobjstyle(parentNode,"background-color");- E4 C$ e/ {( j* V2 V
- I9 {: m; O+ `2 a5 e( c" }
if(parentBgColor != "transparent") : [% }5 J M9 i1 V- b+ N0 o
{
/ I8 o5 M4 [; s: T7 k6 h/ o break;( ~( d/ u* o7 _2 F/ m/ a' O4 g7 D1 T
}+ I v0 _1 u @/ B' j* y8 `9 @3 ]
}; N0 m" P5 U4 u! u$ _7 s; F
if(isLast) 5 n1 t8 u8 z9 A
{
1 z" [3 e, e {7 ] if(debug)" p8 B3 ]: W$ d% ^; t8 _7 }
{
$ F4 g. h4 }0 r8 D alert("last!!");
9 E/ c) `& x; `, i) E- `: E: G o }
; f# P. M+ Y) t" u8 `2 i: x' h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ G% p9 T1 U J' @ c {
2 b3 q; [: g3 q orgNode.parentNode.removeChild(orgNode); 0 f0 F9 b! U; Y5 _0 i. i
}" y$ Z! J E0 ^, q3 y" E) @3 T
}
+ A5 C8 {7 l7 K# X: u( N else* X4 f- y! |) P6 g2 A
{
8 B6 @. X4 v5 s# m, u/ z% E* [+ u if(debug)& T7 Y6 c' I$ U' \; ]! t+ {
{
4 J4 v$ x* d9 z, N3 l alert("compare color and parent bgcolor!");" w4 M7 E7 |/ t1 V5 I5 o% r
}
! Q& }+ ^$ x7 `9 i parentBgRGB=getRGB(parentBgColor);
2 a7 r. M6 F" L9 {$ t% R7 g) ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ D3 E+ P8 c2 w. m4 h' ~1 m {
: B7 y& j% {- u( \/ Y! p1 r8 O orgNode.parentNode.removeChild(orgNode); * U; R+ s* @0 _& C
}
' {2 c2 V1 r3 A }
- R; W$ S q) | }+ @9 q# b: I. ~- y% T
}
/ U" H( _ u6 Q4 p }
, m. @4 R o: r0 L }
9 X! g. A! r' Z4 I& I % Y* y/ f/ j$ p0 x( S# { T
# a, a7 g8 @& c+ z/ `7 y
var itemFrames = page.getElementsByTagName("frame");1 z( g6 E6 o/ S/ O
var itemiFrames = page.getElementsByTagName("iframe");# D. |9 m/ g& O$ ^
~* I/ b/ r/ ]4 l9 G var frame, iframe;. l% K ?5 j- S+ M4 X! i
if (itemFrames.length > 0)2 G D0 g1 X0 e& ^
{
: ^+ E- o' M' D* f: l9 r9 M for (var i = 0 ; i< itemFrames.length ; i++) # S/ B% D8 h8 E0 z! [
{
) r1 ?# y; y' R: p, V$ Y9 r frame = itemFrames.contentDocument;
2 L. R! ~1 T& p this.RemoveHide(frame,objname); 4 x8 Q+ [0 z' E3 n8 f- ~* b
} }2 D& ]9 e5 A) T5 }' e
}: w9 \) D" [) H! j! W4 _
if (itemiFrames.length > 0)
7 a7 m) S# d4 T) S& c9 e {2 U. v% w# F/ X
for (var i = 0 ; i < itemiFrames.length ; i++) + D$ C/ q8 b+ y4 }& r
{3 Z' q3 {) p. [# P
iframe = itemiFrames.contentDocument;
9 D6 @. Z' T+ E* _' x; J this.RemoveHide(iframe,objname);
; n$ L( t$ q1 v7 q }
' d7 n, D* I9 b/ y0 h2 z4 b }
: e, k9 I- @& r+ @5 j }4 _" }' Q7 B( k5 s3 A6 E
catch(e)& g6 C% k3 F. G# X/ w3 K7 l8 B
{
; \7 F$ `% Z! ^2 ?: C) W if(debug)
' |& b8 n) ~4 A, L {8 I& P( S; f- n: K1 f) _1 P
alert(e.message);
% M: B! Y4 z4 k! C9 V8 ]: V' y& j }7 w1 q) n5 q# i! r+ i! F& j
}
3 U2 t7 |" P1 [' L" t }7 M7 G% Z0 X j+ E% z/ g
+ M- k3 @+ m* P1 T3 ]
}
$ L6 a1 Q8 y" u. q
% y5 f) H5 h* L' \+ }function getRGB(colorString)4 M |2 e' h$ n) [, e7 a
{' P- w; D* ]" {: M' a4 K( K
var RGB = new Array;/ a: S" a- @7 V0 \3 n3 K3 Z
var tempSting=colorString.substring(4,colorString.length-1);) ?! D6 J* s9 S4 J: R6 q
var tempArray=tempSting.split(",");) r$ K8 [* {8 n- Y$ ~$ C
' n% e% V) e1 j1 }- s3 u RGB[0]=parseInt(tempArray[0]);' ~, r- D0 Q( J2 ^4 [
RGB[1]=parseInt(tempArray[1]);. U1 L; Z( S/ t) {
RGB[2]=parseInt(tempArray[2]);7 H- T6 Q* y2 Y- o X6 k
- v) h5 D. G& Z( P+ E' g) [$ g return RGB;2 ]: o6 K6 |/ @0 ~3 X- ]
}* C4 O" Z3 y( A" U" h& H6 d
function keys(evt)
2 }0 e* E$ X+ Q) I {
% n' B! v2 K. ]/ K7 ?1 E) ^ if(evt.ctrlKey && evt.keyCode=="81")
. t( i) W0 u4 _ {
+ b2 \# Q, @' }2 n a CleanHideObj.on(0,1);6 i# W) d. l: r+ [/ G1 ]7 p0 B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ ?/ I6 O* P6 K6 f
) v7 m" o$ }2 ~& [& E; v0 c g }
, h/ J( ]0 `) o% ~% r } 0 t, Y7 n7 t, g& s2 M: }
document.addEventListener('keydown', keys, false);
6 Y1 }' @( }- D; l3 TGM_registerMenuCommand ('Clean Hide',
0 G p8 z2 f7 R0 o# _function(e){
? w5 z* I2 a& g6 O9 U$ zCleanHideObj.on(0,1)
8 O6 ?- U3 x, h7 \alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 ~. e" m9 ^& Y+ ]8 {
});; @% x" v4 _1 Y Q2 b
|
评分
-
查看全部评分
|