|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # T% f3 G7 p9 a
2 D- Z/ u7 p+ V& A/ }9 R9 ?火狐插件,用猴子
! R, W4 ~! Q% N6 j, Z0 |, A8 E8 C% l0 x: ^$ {% M) [% K
var debug=false; : R7 k ^% A) \: i8 X" \! t2 n# n
var CleanHideObj=new CleanHideClass();
0 q+ w, u1 L" J: M9 ?9 R" j7 c. w, q5 @8 {
function CleanHideClass()
2 J( J# J7 w1 X9 b0 k4 l! h{ & f" b) W$ ^8 \0 O& `$ F* k
! ^' _8 K0 p7 n, {( ~
this.on=function(id,bMZ)
2 n7 `0 e% u8 A L5 d$ X {3 g% I( e+ E& w- }1 S
4 B2 f0 |- U- ]6 B( S8 n7 g
if(id == 0)# W4 n8 Q3 m2 D# N0 |" r2 K6 q
{
% Q8 F0 w* E+ U7 p# d var page=/* document.getElementById("content").contentDocument */document; 2 `3 H+ z n' a) l9 L
this.RemoveHide(page,"span");$ r5 h. m7 H+ I5 \0 D
this.RemoveHide(page,"font");& p9 E+ p' @ B% c& v1 u8 b- m
this.RemoveHide(page,"div");
" ^: z. u3 S! K; G6 u' F; Z9 o this.RemoveHide(page,"p");
+ g. p) p+ U9 D( V# c
7 {4 r' q3 H) `4 L9 M }9 F7 q: q) ]7 S7 q8 d
* @5 Y' I9 `. K; b7 p% k2 d! `
}0 u$ `) f8 v$ ]$ X
this.getobjstyle=function(node,prop)
# `6 t+ }' s) ^' k8 B {
8 o% O& s4 C/ b8 V- o/ c$ M try
6 [0 q& @5 a6 E3 Q+ q1 b0 S {
) D; |1 r5 U3 R7 y2 G; l1 j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- M( a1 O+ e( |0 P* Q: }
}/ Q& a% h3 f, u/ g0 E# t
catch(e)
4 N4 ]7 ]+ ?$ [. J {+ ^) V% V5 i5 T; n7 Y
if(debug)
: K4 ^5 p( o- H% g' J: B, Y! T- y {2 c( J3 J9 j" L% d8 C ~
alert(e.message);4 E6 N6 L+ w/ @3 S9 j
}) U, I1 y! B- m4 s5 ^
- s$ D9 r2 K$ {( b0 k+ R
return "200";6 D8 d$ m4 y5 e0 L
}
1 d- }: Q( Y( O O5 V& e }7 d- q6 s6 J! {( J
* E: M; k U0 [( S& G+ O
this.RemoveHide=function(page,objname)2 f) d$ L# n4 L3 N( c' [1 w
{
9 X% B6 Y7 ^" ]7 m1 w* n try
; a! m8 | z, }0 S {
6 `& K# A1 J7 | var minValue=15;
& B; N* g* e' J% e9 Q& o/ s4 i var objs=page.getElementsByTagName(objname); & v2 } Q$ ?. a8 G' Z0 `6 N
2 v6 \/ S4 O/ D. c if(objs.length == 0) 8 U' N1 [! D& {& A* p2 s
{/ ^7 A: v0 e6 \; i1 W
if(debug)8 I$ Y9 C$ A/ F; Q$ t: R- a0 q
{
- K4 q: ~& Z$ }( m* E* t alert("no object found!:"+objname);3 N z7 f6 e0 f/ G7 a
}
3 U8 g& v3 L2 G2 O: p( `6 m }
% J" {7 K; q4 p+ z X. B4 e else" w. \# @8 j# D; g& [1 [
{
6 \4 X+ q1 |( | e* r0 N$ x) R. n . k# c: o2 J( E
for(var i=objs.length-1;i>=0;i--)
) e0 H t! h- n' p8 M- n: y9 y. y {1 G8 J% k6 p4 y! e) j& _3 R
var node=objs.item(i); 7 I2 L# r7 }3 g& c( U
" n$ o+ ?) ^1 Y1 E
- T/ B) D! h" Z0 y. p0 [& K if(this.getobjstyle(node,"display") == "none" ||
# O- n) y0 z, {; U1 [ this.getobjstyle(node,"visibility") =="hidden" ||
6 a# A& e& X @) O6 ]7 n parseInt(this.getobjstyle(node,"font-size")) == 0) ( j c5 C/ h. J
{
) X! D7 ~* d3 J; c, J6 { if(debug)
' }- ^! u/ a% P9 ?7 r {5 o% y- x9 J& V# P5 }" h
alert("remove invisiable!");
: O: }2 L5 u4 C }* c( e7 s% \. w( G
node.parentNode.removeChild(node);9 t& q; h0 U& U) {6 I. X
0 Q" F% m1 x1 X4 A; k8 ^
}( J; _. w/ ~) x( |: J. u) r( b: u" Z7 d$ R
else
# F7 R* N% ^4 `- ?" r7 K# l7 \; t {' g" @) r+ ]; q" M1 z( z
if(node.parentNode) 7 K, {7 A5 U5 n8 X; J
{
: h" p8 J0 O: e- P var orgNode=node;5 r, S6 B/ o. o2 O( i4 ?
var orgColor=this.getobjstyle(orgNode,"color")
" {! L) G s' E" ? var orgRGB=getRGB(orgColor); ' j) L0 b) I7 v3 |! T! u
' J& M8 n9 |9 s7 K( ` var parentNode=node.parentNode
- S( C) L/ h3 x5 z0 B- F var parentBgColor=this.getobjstyle(parentNode,"background-color");& Y, \- L" M; @9 T
# R2 {: b3 Q5 l: ]8 {5 \
var isLast=false;
$ w/ P! V: @, W8 _
' O- e: _. s* l/ \* s4 l while(parentBgColor == "transparent") 9 i7 K; k, k( R1 N4 w5 K
{
) g$ c. k, S8 U9 s9 w $ e2 v, b4 u$ E) B- \
& d' A( i% \4 y8 P" y% K% g if(parentNode.parentNode == null)
4 W3 K/ R/ V: E' F {/ x% S% \2 q3 i4 d
isLast=true;
% D( d8 A. S, K* {) j break;
; a7 V& O+ p4 i! u ~) d }" Z$ W6 C$ p( n9 }: w6 M
parentNode=parentNode.parentNode;
' d- k% X/ D/ x9 J" J parentBgColor=this.getobjstyle(parentNode,"background-color");7 o- P; n9 P) I8 ^! V$ b4 c
3 Z) {" B6 w. L+ y( ~+ B if(parentBgColor != "transparent")
! w1 I+ m4 e# b {! j/ ]' v; Q s+ ^( b9 @# \- o
break;% w" G K7 J8 R! K9 o& W: c
}+ c3 U$ p" ?, O+ P1 i h8 U
}8 V5 h5 L6 ? e
if(isLast)
* l1 j' z/ _$ u& j# X {3 J) @* k) M# Q. u' ~) M G3 G& m
if(debug)
9 L0 c! _1 _% [* d$ }, E% t* }; A {$ t; x, w8 q/ T. C8 Q" _
alert("last!!");! J) t/ Z7 Q! I' g2 n0 E
}: U+ u( |& t' r! {8 I5 O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& c' g; R4 t9 S& m% F7 Q {
@- J$ d# [( {/ J: ]* Y, ` orgNode.parentNode.removeChild(orgNode);
( v1 I/ y- T7 m( H% p: u }4 V/ B2 C$ q( M7 w% m
}
' ` T$ C2 C6 ~- [4 O/ c1 D else, [# c5 [2 X& y+ u1 t2 S# X& x6 Y! v
{- t" p. m8 Q3 {7 b: V
if(debug)( ~( f8 j9 `2 S
{) i4 c! ^) a5 u
alert("compare color and parent bgcolor!");% p/ E$ t7 }8 a; {% o6 e) q
}; Y# M* b) ^1 t% v
parentBgRGB=getRGB(parentBgColor);0 f& Z; r) v$ H* Y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( o7 `! r2 w5 f" \8 F, D
{
8 V& r5 |" \3 \3 h: z$ Y2 ~ orgNode.parentNode.removeChild(orgNode); 6 T. e8 Y1 x8 L! Z, z
}4 n. c: d# f! b3 x
}
- l& N( n2 @4 V' A+ O% e! @/ U }
5 P% X. \* b& y. g! R* w4 O }
" Z( I( l8 V i# d3 ^ }3 V. i4 {* ]2 P5 ]) m/ `/ A. X
}" h; U. b* B0 i6 f ?
6 _ I, Q2 w# { q+ x
: B; X* q, v# Y+ R5 p% E! ` var itemFrames = page.getElementsByTagName("frame");4 @9 K% l( U+ @* w
var itemiFrames = page.getElementsByTagName("iframe");' A u+ n0 M6 E9 x! o5 V
2 x6 D2 r0 k6 X
var frame, iframe;
: o. v4 E' N+ x" e7 V& Y: i if (itemFrames.length > 0)$ q* Y* O8 F, D! n' F% `5 y0 w: h
{7 @$ U! w9 J8 m ^0 w9 V5 r
for (var i = 0 ; i< itemFrames.length ; i++)
- M1 K+ S' T& ?1 |6 w2 X* J9 h {2 V" h; x1 O% {* H! C
frame = itemFrames.contentDocument;
( @3 L. z* R+ w this.RemoveHide(frame,objname);
6 A' x9 h% w/ K1 u& E! k }2 o: o; H- d6 E8 R$ {1 Z& n
}" y' b5 f1 W) ]% `7 D! C; W- n, w
if (itemiFrames.length > 0)$ }/ ]9 e; z% |! P
{
3 a0 H0 y; d5 ^ y for (var i = 0 ; i < itemiFrames.length ; i++) # |5 w* H$ k/ w0 o! t
{
) n( l) t5 I- U: T5 d% O8 H iframe = itemiFrames.contentDocument;
: o6 T- e! q8 `5 F' C# V& L2 R this.RemoveHide(iframe,objname);
* G; m$ }; s; ` }
3 J& X5 w, L" q. F9 t. J }
- u$ o) K; w/ {% i }# @4 J4 J% J. `5 ~/ m
catch(e)
6 h0 t6 a" u# k/ x# d) J {/ N [4 Y: f/ r2 f
if(debug)
4 t% I) e8 c& h$ M; r$ I {$ c4 u- x0 Y3 |
alert(e.message);7 P+ D$ [) ?8 l: Z- C0 d; [
}
2 w; U5 w' H' y# I& i$ q/ d }
{% h; C; M: q. y1 v }
2 ?! v& v) b s
, T6 d7 }7 ?8 f8 u% E}, i. s8 w2 b- I, l" m
2 Z8 p0 ~) N3 Q" Z& G( efunction getRGB(colorString)$ U( M/ x7 s! \' c
{
; K: m9 G7 z, ?5 [3 C var RGB = new Array;
! M! p; P; t- w8 z# r var tempSting=colorString.substring(4,colorString.length-1);
! A( o- `1 a/ I0 f5 P9 b var tempArray=tempSting.split(",");
: G; F: p% b0 D A( ^- ~- S/ a, s" w2 m! ?* k0 Y/ ^0 _
RGB[0]=parseInt(tempArray[0]);
8 I2 z, f. ?: G' O; ~" T RGB[1]=parseInt(tempArray[1]);
% ^3 r4 x X. Y. d% b RGB[2]=parseInt(tempArray[2]);
- I$ q7 C) T" @( x ]+ g' b# u: M7 k; D
return RGB;" T: u4 C' v1 o3 A4 G. b
}
% d* p( _5 _' {( Ofunction keys(evt) ' Z; j$ q' V+ V9 [$ o( U. i
{ : c/ `$ t, c1 q1 h0 \$ ^
if(evt.ctrlKey && evt.keyCode=="81")
3 @ y( K! d" K$ i { ' B* d+ B' W D6 ?2 C* s6 k
CleanHideObj.on(0,1);* A5 k. K) V6 m, ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 [, M/ E! |) ]7 y, s& X' B; p
$ B4 i7 t& M5 [7 h }
; V: m. K! n; @1 C } 5 ^" d; j7 ?; m9 U$ a9 N
document.addEventListener('keydown', keys, false);
5 l& V$ r; t5 w, ]. p/ VGM_registerMenuCommand ('Clean Hide',
% C$ n/ S$ o* Kfunction(e){
2 X% X, P& Y2 W- [( gCleanHideObj.on(0,1)
9 U9 e/ h4 u# ?& `: N% Falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 u( T2 _! h- d. a; y3 M o});3 ~2 G0 T& \! x2 T
|
评分
-
查看全部评分
|