|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 F' |& b# k' G6 o2 ~ P( C- [3 N! Q i% D
火狐插件,用猴子 B; W. H+ W) s! @% e/ s
6 V* o9 \' {" ~' i% K
var debug=false; ) o, m3 v4 g' B
var CleanHideObj=new CleanHideClass();
! G6 m* F& l5 T0 s& [8 |. f
: d9 T+ C9 \9 R9 o! M" kfunction CleanHideClass() % [4 t! h0 `5 D5 w! X0 F* o( R
{
. j6 T s0 ]0 }+ ? . B; m7 ~: k! B. Y4 T5 Z8 T
this.on=function(id,bMZ)
9 O% N& Q0 _( S2 u$ a7 w3 H {! E, x7 \/ i/ g; ?% A
- T) r' c' c* @8 Z# A7 m9 ] if(id == 0)
" i, \" L4 _7 c; e! J' H. }" K, h {
d h9 J; d$ ^7 j M6 a var page=/* document.getElementById("content").contentDocument */document;
( ]. H& ]: u, N) S' l7 P4 ? this.RemoveHide(page,"span");
7 u0 ?1 x; O) m X this.RemoveHide(page,"font");
7 r7 ?( v- H% W X this.RemoveHide(page,"div");9 \7 c/ a& z. X
this.RemoveHide(page,"p");
$ |. d- K0 z* z' H + i; Q+ v0 ~" A6 E& R
}! l( x8 s/ j: H, V" Z7 b0 ~- G
) F$ C$ v* Q, [2 d* w
}' i2 T+ e! V# ]6 {* {# g
this.getobjstyle=function(node,prop)( j1 \$ v( c8 r+ H
{8 L) X% ~1 o# v- p6 Q
try* w, Q5 f S) h# {$ l5 {( X* n
{9 W+ O& ?/ m" @; W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; T# `4 U$ h; O6 X4 ~
}
# s1 u" O, H8 g' c, P$ K6 t catch(e)
$ o) w8 K! |' e) Y, ]7 N% | {
7 R3 @8 _# T3 u9 v5 z1 n if(debug)
: a) l( P9 Z. G1 [3 G6 Z6 a+ E. A {
, w) @# n) l' W ^% b alert(e.message);
$ D6 y% _/ j( P. l) a" j" ] }3 B3 W) Q% A) y |/ h8 y0 g5 W
w( P3 r; `, w+ t# Z6 v9 H1 ~ D& K return "200";
6 }: N7 P9 r) r' j# H0 r }* Z5 e* R% U- r: C) @" h* N
}9 v0 ?1 q" x$ ~9 R' s: Y
9 J2 B( p' ]9 f# p7 i* d$ H this.RemoveHide=function(page,objname)& t; ] N/ o. V. `
{
# E& s" L$ t2 j+ U try
) x$ l: A, Q* J4 ^- F {; N4 f% L$ X; y
var minValue=15;
# U) t, y) X. _/ D( q k var objs=page.getElementsByTagName(objname);
5 R* R: E' @2 p& {" p* |& G) n- ?4 f/ M; S: H9 X
if(objs.length == 0)
5 I& a7 q2 _1 {! O {
4 E$ V: s; P, Y7 q4 y if(debug)1 c0 i) [" E7 l" p
{
7 ^1 B7 g; K! \- Y/ M5 C4 T7 j alert("no object found!:"+objname);( {. G% ~0 y$ a. d
}
& v6 G4 A- I3 o, A+ d/ ] }
2 q1 g; j1 ~: H' s else
2 V& s. R& x/ D* m4 x, @ {* m) ^6 y! Y' p: S
7 a( Y3 ~1 h& }( \/ P for(var i=objs.length-1;i>=0;i--)
' ~9 v- j' L7 _& @ {
7 g B' q+ o# k* z# x var node=objs.item(i); 0 O' B, ~$ g4 `" E4 J
. s3 S! m0 A9 a: A2 v- g% Y/ {
& f4 B1 x, n7 L) s# I if(this.getobjstyle(node,"display") == "none" ||
, P" ]7 m* o9 \( a1 y# z* t this.getobjstyle(node,"visibility") =="hidden" ||
/ B$ y& q2 f$ r9 b5 g4 N parseInt(this.getobjstyle(node,"font-size")) == 0)
7 p/ U' v) o8 z/ X6 t( h. @ {. t1 w, L: R3 c0 P
if(debug)" o( u$ X; d7 ~3 u+ i# d
{
7 \6 R& H: i2 m7 B( F alert("remove invisiable!");
0 f6 F8 ~6 c& o% |5 T }% u; Q4 k$ F% {) B! E- B
node.parentNode.removeChild(node);
! G& |5 D1 R0 l1 J8 l6 @$ C
2 ^! x( K: p% ^3 Z, Q9 p }
9 z( x s5 O. v' g$ b" i K/ E else
8 z& b w6 f" B( `3 y6 C1 B9 x( U {. k0 ?$ M3 q9 x2 T+ J) h6 d5 G
if(node.parentNode)
/ f1 J3 Z L# t5 i$ t, G* G; D {' P' b5 U4 Z2 j }0 H' F6 Q
var orgNode=node;
3 h- F$ F7 b7 \+ F8 f, q. ]; M4 c2 `$ K var orgColor=this.getobjstyle(orgNode,"color")
# N5 k) B' f% @! l0 \5 a' x4 \+ y var orgRGB=getRGB(orgColor); 8 p9 t* P6 U2 A
: ~7 x: }& D u" |2 j& M, J1 O var parentNode=node.parentNode' b. Z) v' r; d2 i+ U, F, s
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ x9 } D' P) U7 w
1 G4 c, v$ m$ z, M1 X- t, M var isLast=false;
& g1 F, w9 T: G" A7 ~ . ^$ M( J7 Y( G" Y) X
while(parentBgColor == "transparent")
$ e2 m/ F+ m y9 J8 E1 u {
3 L' Z# O3 |7 {) Q5 ~. O , f4 @+ s6 r3 ?
" u0 p' t3 K( w! X6 R4 m8 R0 }! ? if(parentNode.parentNode == null)- m/ H& m4 O( N2 d
{
6 x0 _2 b \, k& h* T isLast=true;) K V) g% u- h" q4 {/ D
break;
; C2 y3 U# K, o' e" X# e: N }- R7 V' G4 U( g7 t. j. F- Z
parentNode=parentNode.parentNode;' W! L0 x5 P2 [& g! y R
parentBgColor=this.getobjstyle(parentNode,"background-color");, h" J, Y0 h1 A: M
6 U7 T: R2 [4 D$ D ?
if(parentBgColor != "transparent")
* {1 V1 h5 x9 D$ C3 x1 s {6 S( j- \) a3 ], r
break;& o5 P% f3 \0 t7 |
}1 V: A0 q, n6 a! \; p1 L; Y$ a
}' D- E* c! q- p* D2 g* h% Y
if(isLast) 7 ^* {# w% T; C, K
{7 v2 x6 Y2 M g% x% o
if(debug)
! i& ]) {+ J8 @4 o {
6 ~+ \5 q& [4 ]6 i3 J3 H# V alert("last!!"); H3 \8 x$ ]+ s1 K/ ?
}
$ R( t* e+ I6 ^7 d7 t6 n2 \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ d3 n& T' D8 I# v8 u7 n {5 {$ m. u# O4 x1 X
orgNode.parentNode.removeChild(orgNode); ! i2 }5 S' ?! ^( o
}3 {: Y0 D$ H! }
}' L% }' V0 B' J; p$ v; t3 [
else6 L" b7 m2 D$ J* }
{
7 p& v0 e @2 a0 L, c if(debug)
0 o' y) _ B: S, l {
2 M, |8 q0 ^* Z$ y( | alert("compare color and parent bgcolor!");: x, }- ~% }& ~! E2 i7 d' v
}7 \! J8 w- M( J$ t
parentBgRGB=getRGB(parentBgColor);$ d V, i* H3 a9 `6 I6 A! t( B2 j
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
V) \. T4 z. Z# R0 O6 p {
) |7 u1 A$ A |4 {) F( H* h orgNode.parentNode.removeChild(orgNode);
" K' X3 V8 A) Y: g }; {9 D; q- H0 w1 ~' n. [" X- @
}
# H2 G( R! u% a$ t% x2 n }
( a- K9 W0 i3 E* ]8 \ } Z' E! G+ r$ Z" v
}- n9 S* r+ b1 f% r l. v
}0 T2 R! j' L" S
+ N. t6 `. U! L7 L
; a3 G4 N( l$ w+ ? var itemFrames = page.getElementsByTagName("frame");9 I, j6 Y8 a6 U
var itemiFrames = page.getElementsByTagName("iframe");- Z9 j" J- E! A& z" \2 m7 l* r, x, U
% ^' p9 o+ R7 d- Y
var frame, iframe;
3 P; j" S! b( M: c# { if (itemFrames.length > 0)$ o' ^: K+ t1 C' o0 U/ Q# N. S- W
{
$ t; ~$ H, e, F) D6 |& X: r( |# A for (var i = 0 ; i< itemFrames.length ; i++)
) Q3 T$ y0 Y9 m _ {
, N* r% | _( V& z frame = itemFrames.contentDocument;: O) Q: C: }/ I. T5 }
this.RemoveHide(frame,objname); C$ |! e/ R% m r( Y6 P u O
}$ G q/ y* \* u; Y8 w3 _7 M
}
; n O$ D# R& @+ h. k6 e if (itemiFrames.length > 0)
* C4 ^4 ^3 E$ l3 y! e/ L& x {" a J2 u) O0 k: T' c0 s- Z; ]
for (var i = 0 ; i < itemiFrames.length ; i++)
# R% ]0 m+ L7 c1 ` {
1 f+ x( r7 R* e4 e iframe = itemiFrames.contentDocument;: Z* A1 `. Z6 H! ]4 M9 ~, T
this.RemoveHide(iframe,objname);
2 D/ s6 {/ E0 I, P) | K! ? }
8 B0 ^$ n/ D5 m& e! ? }- ]8 a5 ?1 T" \" _: @
}' }0 z5 U' Q6 \5 t
catch(e)
" K9 {3 V2 g6 W \+ @ {9 B! w; \2 v- ~; } D
if(debug)& S- ]* c3 N$ g5 @; m1 F
{
% c/ A9 P; K; ? Q$ H7 v3 }) {+ L alert(e.message);
% H6 _+ `; E# A' A7 Q$ b2 n; U }
! @- t( V0 o+ n+ r% W7 ]8 j: k# j }5 X0 g3 n3 |9 Z# `
}; ]; p" q6 T2 J
5 c1 [) R3 E2 Y: S& x( q# y3 T/ w, l}3 u& L0 ]2 x" T) x0 T `) w
) ~% @$ Y* u' i' Kfunction getRGB(colorString)
, t1 O" U& _4 [# ~* g5 T{
$ i: H E; m* I8 k var RGB = new Array;' P4 d y6 L3 ^0 y8 n
var tempSting=colorString.substring(4,colorString.length-1);
7 J1 r: C# ]) ?+ J! ?! Q' p3 w; D var tempArray=tempSting.split(",");- j5 e" e; @9 r# }3 b
0 D4 a, T. ~' ]9 o' z1 a7 c C
RGB[0]=parseInt(tempArray[0]);9 z, c2 g$ U, [' z2 S$ @
RGB[1]=parseInt(tempArray[1]);
7 E; z6 w6 p" K% r9 e' F. E" T RGB[2]=parseInt(tempArray[2]);2 ~" V, H# v) ^7 p& Q( t
6 N9 b b. [9 M+ y' F9 A
return RGB;
" R7 U5 K- }4 M) V0 B* r6 z1 C}
! o9 J, b$ I: \5 T8 Nfunction keys(evt)
9 B, z( [2 S" l6 c8 S# U' E3 } { : F! b$ L( K$ ?) m. S" {% Y! K4 C. f
if(evt.ctrlKey && evt.keyCode=="81")
, M8 z' g5 v! z4 z6 w9 ~ {
( L' `, z/ F- L$ [) Q, t4 N CleanHideObj.on(0,1);( s1 }. i! g. H3 V+ d* `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) C G( W- I: C
+ w& g1 K7 Y+ T% | q
} 9 r" a. [/ c9 F7 p; q, j* w( L- r: n
} 2 u/ P N. b- f+ M
document.addEventListener('keydown', keys, false);
* t6 |' W7 a4 w% L# P) r8 }3 qGM_registerMenuCommand ('Clean Hide',
: B; [: g. r. e9 {' Afunction(e){6 W* z& d- m! x( V" u. e
CleanHideObj.on(0,1)
+ q: }5 B( B$ e! m' P8 Jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! e/ e4 v- `" x});
+ I4 | \4 n6 V" ]8 a. M7 w |
评分
-
查看全部评分
|