|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - r0 S- L# C9 R. `7 s! ?( g; S
7 X5 h, v9 J6 p3 Y! [
火狐插件,用猴子3 F' d/ R) M6 g! a8 z/ |- u5 c
6 h% v& L/ q0 u' v0 H& T& |
var debug=false;
+ U6 F; h3 I. C: _% n' Z: _var CleanHideObj=new CleanHideClass();
# L: R8 l5 y! B2 ^, D5 W
$ w+ ~: A- Z- w. B& w' Tfunction CleanHideClass()
5 n, B+ ~2 `. P; n{ 5 r/ l7 c5 ^% S+ s" \3 m
9 L: j/ F$ b0 K this.on=function(id,bMZ)
# K* O6 @& Y ` m {
8 n8 ^$ A3 D5 t. X/ y$ L9 U3 f 4 F C+ ~3 Z7 p; \
if(id == 0): Y V: n L; c( v) L6 N$ P
{% N5 |* S- c3 G0 G1 }6 U
var page=/* document.getElementById("content").contentDocument */document; - U7 @/ O; W" }" H4 C! p9 W
this.RemoveHide(page,"span");
8 |. h7 n* z }' Z+ x this.RemoveHide(page,"font");9 L2 z' R% r6 S, K, b5 L) `
this.RemoveHide(page,"div");
3 r' H0 n, G5 D* b. X7 [2 W0 D3 @ this.RemoveHide(page,"p");
, e4 U A2 y0 ?7 X ) A0 W8 N. w, G6 Z! |
}
, l' O0 B. ?, t ; Y% u" }' s( I
}
) Z V& n" x, j x2 Y" j this.getobjstyle=function(node,prop)
+ n! }1 q4 t% ]6 \: ]/ E. q {% }+ T: T# M/ @/ b# }
try
h; p a2 i' K9 F {
x1 o2 x( M3 F9 w/ \4 a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ p/ b4 z6 @: Q. C9 y% k; H }
$ C3 |) P% Y) S ] catch(e)
* j. H# d4 g6 a* ~9 D' F1 c* W {, z0 w {
9 _$ {( L* n- Q) X if(debug)
& S) J1 h, R+ B8 F {7 F0 X6 @ V' L5 \3 K
alert(e.message);$ x- w! B' M5 e: y
}- h: D' L+ }- n5 x/ i1 \: f3 _
0 _6 f8 F3 }# X return "200";
7 R, ~5 M9 k0 l# |% \$ L' i* y; z }5 X& E6 j! K: @; \5 n: O4 q
}2 k, z$ s: j4 j/ K
! B# f, h) E5 |. N3 B& |7 \1 K
this.RemoveHide=function(page,objname)( t+ o4 L" v- v" z
{% L; G& E/ e* R+ @- q) r1 X
try0 X* a, ^' z# Q# w" _5 G% u
{/ H7 @, @( n. |- j9 h {
var minValue=15;
) @7 r; S, B }- U q" ]% w var objs=page.getElementsByTagName(objname); ! L* C" ^* B: S0 a( I% I* N' k
2 r( a" i/ D* \: a: a& z
if(objs.length == 0) . B9 z% Y3 k3 _ b7 f
{
& W. x i2 N# ^7 v; k" @' N; g( D if(debug)
& m# Z4 O& P/ @( e# }' A/ | {& E7 a I$ M! O/ u3 U3 c# t
alert("no object found!:"+objname);3 \% }4 f0 Z6 w# K* G
}2 C& J. `0 V7 M" F+ s5 w
}
' V- p, E9 x$ P( J0 _6 Z* {! S else1 {& H/ t3 s2 j' n( {; d2 [
{
5 I& M0 a( y# l" S : v) ]( D( \- J# Z( t; ~
for(var i=objs.length-1;i>=0;i--)
* {- t& u) }9 f {
0 o _& I8 @" m0 P' L! q: @5 ]' P var node=objs.item(i);
" v' `1 J8 r' f, C / ^: r9 ?0 _ u2 n& x9 G! T7 T* m
Z d! l5 {( u7 n" {" ^4 Z
if(this.getobjstyle(node,"display") == "none" ||
4 y$ C" a% D. F8 T this.getobjstyle(node,"visibility") =="hidden" ||4 L% i, Q4 e4 l. p- W8 d
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 T( _7 Z' `" D
{* S; m8 _/ E+ i7 F* i
if(debug)
& [* r6 D( N4 N, V! v" s! ]3 X$ q {
0 P2 _# d3 S) | alert("remove invisiable!");
2 y2 f) D4 H; l- I }
# Z8 ?# `% C6 Z' V% P! D( u node.parentNode.removeChild(node);2 O* S4 e- N6 S2 _. S
$ P# ^3 m, a# \' ]% z8 G$ R" t }! B) D4 j6 G! `6 i" {3 w7 R" ?
else ) I c1 z- \ J& U
{
- ?/ G% k5 E( z. c$ s' s' e3 }0 ~" C if(node.parentNode)
4 p+ L8 V( A0 c {) t* i" I y4 z$ Q V$ d
var orgNode=node;
' _% n3 A2 R6 _6 q% D& w var orgColor=this.getobjstyle(orgNode,"color")' v# Y5 F# r/ ]' r: d
var orgRGB=getRGB(orgColor); 2 o3 H9 N# m4 B) \. o7 |+ ?; i
5 C. L1 k, o8 b- N var parentNode=node.parentNode
: h4 p5 K+ R) b+ D2 y8 e) {4 q var parentBgColor=this.getobjstyle(parentNode,"background-color");# q6 N, a) q' ]; @
9 }9 X! {: x5 V& e
var isLast=false;) E6 p- S- o0 b
) E4 X7 d$ L# | ~9 r: A/ r while(parentBgColor == "transparent")
- A' h y9 a: J7 j' h {2 ~, t& W( H+ S
# A2 ~- C, M: g/ F$ j
% M6 z# ]& @' `, i
if(parentNode.parentNode == null)
+ g8 }& ~5 ^6 D {9 l/ M" h* u' E; x; g
isLast=true;, |9 e0 _9 x4 I
break;( u3 B2 R; ?+ \5 T8 s2 f9 r0 O
}8 D) R. f" I/ c1 s o5 U
parentNode=parentNode.parentNode;4 \5 l+ g" F* T
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 Z! A% J7 Z# `# H1 k* A- I
/ {. [$ ~% w- ]" |1 t2 A if(parentBgColor != "transparent")
5 j+ |' ]3 P) n" c; B {
/ n( f" V0 |3 G, V break;8 }0 H0 P) s# p. H/ ^
}
( N g3 H4 L: t( N }4 G5 W6 ]) H2 L; a0 K
if(isLast)
' K) D' }# n) w2 D8 V4 w3 w {
$ t5 C8 t" f+ l9 m if(debug)4 h1 x L! |- {; v0 f
{1 A; _9 i, {9 l- l% V; @1 O- U
alert("last!!");
. y/ a( {" l$ D+ ?) U1 p }
! X. q; }5 X# r H3 E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. C4 g5 P5 t# h: x3 _ ` {
4 U0 H$ P4 U" L1 D4 S$ A7 g orgNode.parentNode.removeChild(orgNode);
4 Q" o3 V5 z; D1 P7 L }) i1 y6 a/ C0 n( ]* ^. z* G' s
}7 P) X7 R3 u( V+ w/ C8 _! x& U
else9 g6 Z; A6 L9 ]; n& w( ]! @
{
, I. C. q; n' d$ U+ v if(debug)
! w% M1 L: d$ {) w! W' | {7 n6 O" x. e# M7 ^$ i e
alert("compare color and parent bgcolor!");
* s! t, c3 k7 A }& Y' D0 j* E# v9 y
parentBgRGB=getRGB(parentBgColor);
( o% J" J3 X3 H1 H. [; b) C if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 }! U* P7 z i2 M9 w* s
{' p8 T' F; i. {( W' I }
orgNode.parentNode.removeChild(orgNode); ! ]. C# ?& r5 o4 O. l$ `- s$ G
}5 W' T6 E5 k3 q
}3 n; b: D4 y1 h8 t& M: w6 {6 s
}) l9 r3 s1 Z! v
}
" I8 w3 H( J; a! S% q- g6 y }
1 a* R+ w' {. \, } }
3 B' H, ~4 d/ o$ r% U |- e
* c/ W0 X; K: E3 h O7 k / e9 e; D- d3 A9 G) `
var itemFrames = page.getElementsByTagName("frame");
9 g2 a) D6 H( X1 [9 v var itemiFrames = page.getElementsByTagName("iframe");& a+ _% i; r f A
. M. g1 u1 f* _$ |
var frame, iframe;
- \; J. ?/ n% x4 }2 G4 k+ r+ { @; u if (itemFrames.length > 0)
$ z- S0 s: [' G: p- i {
$ T9 b: M, p2 n0 l6 t for (var i = 0 ; i< itemFrames.length ; i++)
+ \* _/ o, \1 W7 ] {
) ^+ B: o; [. R2 D9 Y frame = itemFrames.contentDocument;4 @+ y0 J6 {& U( |/ G# M" Q5 J
this.RemoveHide(frame,objname);
* d% M: c" l; W1 g }3 A3 T- Z/ w3 a( \6 O; g
}9 @1 [ n* s7 e5 T) y- D% `* r
if (itemiFrames.length > 0)
8 l' ]* K/ v) z9 o9 U' u {2 F) w: g- ? D- l3 I9 [" C
for (var i = 0 ; i < itemiFrames.length ; i++)
& A- n6 D6 Z. E9 m% R4 p {. d7 c( c9 z0 {" I" t2 T
iframe = itemiFrames.contentDocument;
% R7 c: @ W; n7 R this.RemoveHide(iframe,objname); # P6 `; @. a+ A$ s4 u8 r7 X2 s
}+ X9 h! \2 X8 ?( n
}: f8 i( L% j M7 R
} _+ C8 Q7 l/ H5 |0 u/ J9 H
catch(e)$ I# \& r& Q3 Q2 `
{! F' O, O5 a: t& k
if(debug)! m+ _ o* ~+ b# ]$ G) X
{
( p7 M2 ?; Z" K) g; m alert(e.message);
3 B! }4 }' S/ C& Y2 w0 S }7 ? r m4 s2 P: c1 B
}
$ u. ^% k K, i5 ]$ L' V }
; t3 L* u6 C& ~7 A- w
0 r v: L/ l1 ^" h6 H}
$ ^7 W9 e1 n2 u0 Y5 [% n3 n0 u9 S( I) S4 ~% p
function getRGB(colorString): {; _0 r$ k+ t, i: P) B3 q% C A, w+ B
{
+ m2 V' p2 h) q* B: K% d var RGB = new Array;
) V) x2 R ` h7 k) a var tempSting=colorString.substring(4,colorString.length-1);( Y# r: n9 W* a7 i
var tempArray=tempSting.split(",");/ S* a) K' e( U" f' D% v7 A0 r
( M* [" x" f2 k3 _: {8 V
RGB[0]=parseInt(tempArray[0]);% L z' j$ I E5 e. V: S
RGB[1]=parseInt(tempArray[1]);2 k) h! Z2 ~! B) H5 g* d! i
RGB[2]=parseInt(tempArray[2]);* H, j' ]( e* U5 U4 J) {
5 G5 `5 X4 K2 v
return RGB;
1 }8 V/ z" F& l9 R" |' V}4 m; U& l. R. K5 Z, R8 f
function keys(evt)
$ |6 H. P* i- {3 o( B2 Z9 E) a, ] { $ G6 x( |5 U% J; p) `* r( i: j0 v
if(evt.ctrlKey && evt.keyCode=="81") ' A2 z- Z V6 f4 ? V8 {
{
# s S/ Q5 w. v. q$ ?+ ^! t1 n CleanHideObj.on(0,1);- _$ X* l) c' E( q& o3 }/ c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) _4 p3 l' s5 G- V Z/ d) i/ X
% w7 i$ N" l# n2 A ^3 S
} 5 {' I6 `1 {! b$ ?# ~
} ) R. ~$ Y' L* v. C7 r; k
document.addEventListener('keydown', keys, false);
4 B$ t; D5 q- m( C1 fGM_registerMenuCommand ('Clean Hide',
+ T) b+ h* a8 |: N z$ S1 jfunction(e){
, a( b5 A0 D- o0 n- t" R kCleanHideObj.on(0,1)) ^3 f8 e& V+ R4 @/ s& @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); V9 l* k7 S" _8 L
});
' {8 J( Y, P, g! [9 g |
评分
-
查看全部评分
|