|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , }1 U8 l. ^; v, V6 n0 V
/ {) W" C/ L9 }* _7 K
火狐插件,用猴子 M5 `0 j( B) K1 E2 k/ b
/ {; E/ _. B- b- b. v) F+ U
var debug=false;
- Q+ e- t' i8 {, W9 z* q" v) z7 nvar CleanHideObj=new CleanHideClass();
) u. g' q3 c- _( \: @
9 z( c& E! ^* bfunction CleanHideClass()
; z& V' d/ b0 Q3 j{
& W; ~5 R' V; M( i k ; f7 Y9 L$ u/ q) j. l
this.on=function(id,bMZ)6 @" @! l3 ^/ L [& B
{
& n$ Y1 [! d$ a$ f8 O( e ) k8 U# `1 E) |! Y
if(id == 0)
2 Z0 H% {" J7 E( w0 E2 ~ {
7 C" f' @3 g _& O2 q; J var page=/* document.getElementById("content").contentDocument */document;
; r r g0 w/ M this.RemoveHide(page,"span");
/ e: h* u. T* @* |! _) M7 V this.RemoveHide(page,"font");" {4 _& L8 i4 Z) t
this.RemoveHide(page,"div");9 d5 K3 [, s y5 M U( D$ ^% Y
this.RemoveHide(page,"p");
n4 r) w5 i3 w, _9 [
' c: N2 s( m3 L3 ^7 Q1 F5 l* ? }+ P& f% e0 u! Z
, Z: K, h1 |* e8 p3 V0 S- R
}* @% X5 @0 V3 w
this.getobjstyle=function(node,prop)8 B+ R4 D3 h+ l/ x1 ?
{$ g; e# Q3 Q# ]/ ?& G
try
% R/ I( L" ]: A, s( f {0 A; B$ z" Q0 F3 m4 u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 D8 U/ ~. J8 a- }/ q
}
$ ~& \4 ~" k5 l5 @ catch(e)
7 I# [" s. }2 V {
1 F) M/ D! g" ?5 } if(debug)& S* H1 F; [7 A- h" n' c1 p2 X6 s
{
: k" A0 E5 ^2 {3 Z; f" s8 |6 }' C- f alert(e.message);3 p" G2 P& h- x( F9 O1 o! X1 m
}( j3 @6 u. C5 |( c6 M
5 l2 R4 i T& E
return "200";
9 p: T- |$ O, k# ^% P" f0 r1 ~ }; F/ e! _% r) I( `
}
8 t% k' L+ V: T7 j
: X* h# o2 l0 O& G2 F5 ~' g, c this.RemoveHide=function(page,objname)
* z$ K6 i4 T$ A6 G {& g& C* r: i Z$ v: `
try4 `, ]% s2 I, P% h/ e
{
* ~; u6 d: n. c( y: O7 N C var minValue=15;4 _* ~" l. V0 Z7 v% T K
var objs=page.getElementsByTagName(objname);
8 F- A) C0 s3 l9 o1 M7 n
5 ~6 \, M2 Q! [( R if(objs.length == 0)
* O( p$ ]$ R( m {* d. ~ h7 x5 a
if(debug)7 u- }. q. p2 Y$ @( B" U$ I( B: d3 O
{
1 T, }3 q* u( W( x alert("no object found!:"+objname);
. e8 w% I* D/ T% e }
3 s4 H; a4 ?1 j. i* ` }3 D: l2 |" L5 n o/ w' ?
else
2 O+ S. }8 ?+ l1 @4 i! O {
! L8 L1 q3 r* \" t
v. ^- d6 T! k# V Q& ^5 J for(var i=objs.length-1;i>=0;i--) + ^- A# N G; ?( S5 F$ e+ U
{
9 [8 f1 \) z" e L1 M var node=objs.item(i); & C/ q4 ~, l8 W. a
1 X, D/ ~" {2 g' T" l+ s9 \
# q. X C! p' R# S- ^
if(this.getobjstyle(node,"display") == "none" ||$ g7 _5 X4 S! @/ E6 W7 `6 w
this.getobjstyle(node,"visibility") =="hidden" ||5 v* A" Y5 @, Z& Q) h7 ^; s
parseInt(this.getobjstyle(node,"font-size")) == 0)
& B- ]0 k% i6 p( H1 H {- {4 Q* R ]" U/ g, _
if(debug)1 s: m; P5 _- f% s% ^4 p
{, W$ w/ X, E: f3 ]1 s: _
alert("remove invisiable!");
8 k% f. N: R% F: h }
% a" m5 y4 ]# |. k! U. J s node.parentNode.removeChild(node);
0 G8 T$ q3 h5 U 5 x! D3 g J8 O4 A% D, l
}
" S% c; B7 @! f9 z: U& q else - a$ o- i5 \5 H
{
$ ]5 z; m O, b; w, B- S/ D if(node.parentNode)
) c6 m$ n F" d0 x. ~: M2 r {8 W: h% B7 y- f/ @% T& @
var orgNode=node;
% o% j6 @8 k3 P( P8 M; C( o var orgColor=this.getobjstyle(orgNode,"color")
6 u) W0 [4 o9 R% {0 m: f" T var orgRGB=getRGB(orgColor);
# V4 L' ]5 S0 {& t/ c: Q) j
% p/ _" O( v. k# g' W. l var parentNode=node.parentNode
0 i% K _5 s5 S. }: }. H ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");
# A/ q7 |$ s. y! y* }! f( {7 W
& k1 A$ T; V7 l# |$ m% Q1 B+ R var isLast=false;* u3 R; I! ~0 N( l' S4 t" b! a% w) L
5 [2 U/ }6 j9 [: A t* p while(parentBgColor == "transparent")
4 `9 u/ j& y/ C' j {
5 ?5 k" i5 D$ `* F1 A
1 h8 R0 o: j5 ~ 4 i. \2 u6 R" D8 a+ n
if(parentNode.parentNode == null)" D" y6 ]# I' h8 r4 a) J ?5 n
{
" `/ t; `1 [6 S% F/ u& y isLast=true;
' ^! c: l+ c; _. K9 R0 a break;
" E6 @2 [2 `6 v3 G1 Q+ l } P2 X. x- o* L) Z
parentNode=parentNode.parentNode;
6 z: P8 c% X0 d/ o B. R/ `. b parentBgColor=this.getobjstyle(parentNode,"background-color");& b! I& @0 U* s+ g+ K7 w
9 J# O: t4 u1 U. e
if(parentBgColor != "transparent") 7 O) E5 [$ {( @" F# |0 S
{
# |+ j0 f- d/ V break;
) ?" q8 P6 w; t }7 `2 M+ L5 E9 |" M' R5 j
}+ Z& g5 b) h0 M+ n4 N
if(isLast)
b+ \- l' F0 D {
& n/ w2 _, M8 W. k! z if(debug) P3 f1 h8 h- {* N$ I- c
{3 a/ I8 _$ U g- V
alert("last!!");
! b p6 |" [3 k' S6 J }8 j! p; Z3 r+ o" E5 b0 W# c8 I5 X6 `- x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); s; ?% R" B5 l5 L6 k- d
{
/ ^( ]& K9 d/ ~# z/ Y3 w3 f1 A8 g orgNode.parentNode.removeChild(orgNode);
" A& F0 A1 ~4 \0 L/ u/ c' D! j }
* S0 a, b. G* i6 {# [4 B; J }2 r6 e. {' D4 j
else
& D& f( \9 l* Q0 r {
+ N4 {: O8 p* q if(debug)
+ ?- C7 ]) t( K1 x% m$ Q {% H% N: T0 @5 S) b W$ M- w
alert("compare color and parent bgcolor!");1 p8 V' Y* ?# T2 W/ t% z% ~0 m
}
* K4 B& V5 L" ` Z- f8 R$ \. Y. _ parentBgRGB=getRGB(parentBgColor);
9 t) d% W8 i: I' m if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 }) F' c9 |0 g% D
{
! M: x% _5 m& G% [$ w6 I orgNode.parentNode.removeChild(orgNode); 5 L# T+ ^, {: q/ J: X$ x5 q
}# i' M' n' P* m2 D; `, I" n) M) E0 O+ z
}9 \! z* j% }- X2 ~$ s
}
4 o. Z; p" Y4 f- R }; L- u' S" [1 n5 V
}
: M) m* m3 @8 o4 C }
2 j2 f, F, ^8 J8 B$ Y7 `9 s
. Z: T$ i) H% u6 w; b j0 e% e) _4 A; F5 k: W3 p
var itemFrames = page.getElementsByTagName("frame");% j+ s- \3 b' q& M' W1 R: M v; n
var itemiFrames = page.getElementsByTagName("iframe");
8 S ]6 s" M3 d& X/ H( m4 P3 e1 y9 h 6 D0 U7 k) t* F- v8 m9 k+ D
var frame, iframe;
3 ]7 f8 V2 P6 g7 W, ^* s: Y if (itemFrames.length > 0). v) `: N6 S' Q* v9 V. p9 A
{/ \, l# W! C. {. ~: z u2 p
for (var i = 0 ; i< itemFrames.length ; i++)
' U+ z9 o$ }5 u2 }. {+ }- s( Y {+ E$ S* l8 P+ c9 ^9 S; H
frame = itemFrames.contentDocument;+ j1 n0 y% `: r" i) {0 }- M. V
this.RemoveHide(frame,objname); 6 C2 s: s9 m3 g# \) U
}
, m# G* u$ W- ^1 G# w J% ] }
# Z. N. {5 S) h5 [ @/ _- B if (itemiFrames.length > 0)) f$ n; S/ ^1 b
{
' V8 h! c4 S d8 p1 y9 ? for (var i = 0 ; i < itemiFrames.length ; i++) 0 c6 c9 ], U/ {, `
{9 A) j/ n' o+ k' u' u H+ M3 v( R1 t
iframe = itemiFrames.contentDocument;
7 r. {: J6 N, U0 x9 X6 | this.RemoveHide(iframe,objname); $ }( D# |- I; y1 U: \* w |
}
- D( O" E# y W/ C: X& E }
) k' |- M4 w: c# [ }4 ]; W, U6 N5 Y% u
catch(e)
: q5 K% r' m1 r/ X {3 P. k; N4 H# n1 t F( a
if(debug)
- ]' S7 n; u7 L% i- X( l# d9 @ {
6 Q# n1 y! e2 m5 z+ V' r5 P alert(e.message);. I [ e1 l+ V
}
3 A2 J$ m: `" d( m$ B }
0 v2 Y" c0 p5 r4 v* x& ?9 r }
3 r) @ L0 K& U) x2 b) y 7 T: }# w6 ^ O* k+ l, R5 Z4 I# y+ ^
}
9 {" q2 y* [1 I3 y& F: B0 h5 ?; S4 V& r
function getRGB(colorString)
# t! {/ Z/ j" B9 N2 I q" ?: M! C{& r2 z1 m0 W1 m4 |6 H: a
var RGB = new Array;' Z7 M& B" Y/ ^$ e; z* |5 n; o
var tempSting=colorString.substring(4,colorString.length-1); @/ @! p& \. a- Y
var tempArray=tempSting.split(",");' _% v* [' h4 h/ {0 U
Y" G" W; b' ?+ `6 s
RGB[0]=parseInt(tempArray[0]);( I/ S& S: @2 ]% l; R! m
RGB[1]=parseInt(tempArray[1]);
[. f* O, s* @0 d, F RGB[2]=parseInt(tempArray[2]);3 b4 V* @+ }. x7 F1 m4 o7 i- v# U
$ d; M7 w8 d( i6 Y0 _! ` return RGB;
$ N) U' ?, s D$ r7 u$ u}/ M0 e( n9 O& y7 A. Q! s6 }
function keys(evt) + h6 ]8 d2 B3 A/ r
{
4 G0 L& \ g5 \" z if(evt.ctrlKey && evt.keyCode=="81")
4 n( a0 U# b2 B g { % P+ h+ x) E, v3 h) L
CleanHideObj.on(0,1);
( ?0 c& j/ Y; \+ a9 t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 A% s% z, i2 j0 C8 _
8 _# W- g) q! d
} ( G6 o( j8 n2 X; i" Q* f0 @5 i
}
/ L" r2 [* }/ U& u5 B* I( o- ?7 s2 Pdocument.addEventListener('keydown', keys, false);
0 ]7 S2 `4 r: P6 v- D- z9 J1 H. TGM_registerMenuCommand ('Clean Hide',
( H: G) b6 ]3 K9 N" Tfunction(e){# M" n5 k+ r7 A3 s7 ]' b' f
CleanHideObj.on(0,1); M7 m7 z7 D" J2 J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& R$ b$ n2 Y$ N: l" C5 o) i
});
: @) T6 c5 K7 N1 J |
评分
-
查看全部评分
|