|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 f( m% [9 W4 x& `
1 }! ? P1 m! H$ W* h* u$ p
火狐插件,用猴子
9 N1 X3 w" g2 q( A2 L/ N
6 w0 j% I: \* i" v% y* E9 Gvar debug=false;
" o; J1 q8 u# A3 Avar CleanHideObj=new CleanHideClass();- W% R8 Q# T& ~+ N8 v9 S
/ ]" I3 |% C% j( Z0 Z8 `' Yfunction CleanHideClass()
6 W3 O- G9 b) E& U{
7 F1 g# Q& M. ?; T
' f1 v- O, |7 X, I; \* m. } this.on=function(id,bMZ)( }) l2 ^# E, p' Y1 L2 G( {" _
{
3 `' @+ v8 `- `( T, E# _4 g # b ~3 A' E3 H& I6 c
if(id == 0)
" a' ?+ \+ P7 ~) ~ y9 p {5 ?; g- v8 l* L2 G! X, S* T
var page=/* document.getElementById("content").contentDocument */document;
4 ], _1 O& x1 l+ X3 l; m& O/ ] this.RemoveHide(page,"span");' ?( k1 O) e' ^! r0 e, g
this.RemoveHide(page,"font");
$ b8 T$ r+ J* u6 f" C this.RemoveHide(page,"div");
" q8 _8 G) x6 l7 t7 m9 T6 H this.RemoveHide(page,"p");
; z- m' r2 d- O7 U8 s 4 V2 M3 V4 v1 R
}
$ H& X# m. k1 _ * X6 C8 N! W+ a9 g. v! l* Y
}. [' t% E2 C5 ~% d# D" m" ^
this.getobjstyle=function(node,prop)
5 m, d' }7 _7 W {
7 |/ e) S9 F# Q x6 J try
* G& I$ d) F2 k {
0 N$ l% s& J4 h! _, F& }7 N* B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ f9 ~1 Q( U' {$ A }/ g7 u' }. M: p
catch(e)
. {2 ]% e- t/ d8 x: Q+ m+ W {
1 ^& }# {! ^: Q- p7 W if(debug)
! x& F' P3 J, \6 L {, ?+ w5 J6 u R/ K
alert(e.message);# I/ Y6 l/ n2 O$ i) k
} n7 W) M. n. f! A0 ~# L; v
* [, d' f: d) b5 M return "200";6 b1 k8 b+ i, E" r3 a
}! n, @; M `9 G, Q
}5 I7 |! `" X/ I- p2 {4 i2 b
6 M, O- m! B# a
this.RemoveHide=function(page,objname)6 [6 c. |5 x, k6 `1 E
{
4 n- l- P8 U j, d0 {6 g4 u try
2 @6 M; e) E* H9 N7 @1 N# @* R {
3 T" Y$ x, R) Z* M5 b var minValue=15;$ q' i; @% F) k9 y6 X, F
var objs=page.getElementsByTagName(objname);
6 m5 `+ p" ]' D6 V# h6 \5 ^3 m" O
0 |. @! |9 O, R- G7 [4 x; d! m- ` if(objs.length == 0) : t! P8 W& u1 K+ J! O% N
{' q& i A6 T, Z" {7 W$ ]
if(debug)
/ {7 Y& l/ C( ^3 B# ~" A2 N3 w {4 M. G" v" V1 C& k# E8 i" a
alert("no object found!:"+objname);
0 ~8 @6 ]+ ^2 U; n6 w }
- L* ^* q5 E, i# t( M& l }
1 v, h2 M% {! n1 P& Y ~" s else
# }8 I# b( F2 ~: W( K$ J3 k. [ {
5 {# ~; t! [! z, s) R ) E* f1 J- x- ^$ T+ t: B2 v
for(var i=objs.length-1;i>=0;i--) ' V3 F$ j& H7 h$ g4 v
{
$ c2 u% i8 E" {: y2 f( V( ^ var node=objs.item(i); , z1 J9 h/ _ G5 @) ~" G
& m$ R5 y7 b5 j. i9 N9 D
1 z r& C4 M0 G4 [ if(this.getobjstyle(node,"display") == "none" ||
/ O, d- U' V6 J q p( n this.getobjstyle(node,"visibility") =="hidden" || L7 ^$ [1 K' l
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 C: K6 ~* W6 ^1 N% U6 @! n
{/ y2 c5 o O* B5 z( m: E1 I2 l
if(debug)
0 C6 E( u! V6 v/ ^9 Z6 i0 N* e {# | S0 U+ e* f# O* f
alert("remove invisiable!");
3 g6 X) d i' b* x$ t6 {2 J }0 ~" H: Y9 h( |& c* u
node.parentNode.removeChild(node);6 N7 D, u" \' L1 a) f2 Z' t
& g9 I0 N5 W& c }
) J! Q" ~9 h' F* O% X4 @. X# q$ [+ _ else
, J* ^. ]. c# w4 R5 ` {
+ q) L: C! B/ p |5 [9 U# y if(node.parentNode)
/ I# n- K0 v0 H/ T, x {/ c! I; J( u2 A- ?( C
var orgNode=node;
4 H4 g W2 `( t0 B" v. z$ u7 ~ var orgColor=this.getobjstyle(orgNode,"color")! X: w* x& V) W' W" D- ^: f
var orgRGB=getRGB(orgColor);
+ q4 W8 C8 @7 _/ B. B$ F T, i* L7 f" s
var parentNode=node.parentNode
! _% G+ j# E. e% y' e var parentBgColor=this.getobjstyle(parentNode,"background-color");
' F6 e# X) E' Z: r5 J$ n
5 Q- ] i A( Z- X var isLast=false;- a4 `( h3 ~7 b
; ^4 ?' `( W. c! I7 S# ] while(parentBgColor == "transparent") % r1 n* P: _: V- E* p/ \( M9 B
{
" E2 e3 ?5 \* E1 g, A
$ O x$ ^* H7 p9 k & ]2 P+ [* M" B6 J8 T
if(parentNode.parentNode == null)* }5 h, \& _1 f) i
{
G+ x) G8 |4 \$ d isLast=true;
j4 B, ^. b9 E) U) |* c E break;
$ V& B% F1 B) Q) u }
. W* `6 v2 `+ ^2 h' U) T parentNode=parentNode.parentNode;
X& C9 I* Z1 P0 C. W$ r parentBgColor=this.getobjstyle(parentNode,"background-color");; f$ q* g: [9 t& c& s) y
3 U% C. J& }5 ^9 {+ e if(parentBgColor != "transparent") - [8 } Y; ^" K. g' l. B6 |* n
{
& c8 E$ e/ h( D break;
+ x+ ~% m6 X, ^+ R5 ?0 p }
5 p& i f( b/ H$ N7 E q- I# i }
% S, k3 _. z" S7 E( s3 t9 |4 l if(isLast)
! j0 ?: E- Y& ^5 s2 Y0 w {
9 n, M* y' W0 h+ r9 x+ W# O if(debug)
. Q( F/ |* X' L; j2 \0 d0 @5 X7 P4 Q {, ~. e- P a4 p0 c) M6 q; n; m
alert("last!!");
! w9 [7 A- l' e% W* I, c( ~ }
A Y- e, e/ d2 @" M* k0 Q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* A7 H4 |: _! G1 l {
B3 S2 a {& a8 @ orgNode.parentNode.removeChild(orgNode);
$ F! G) x; g& T9 X* i }
' R3 V. B% ^) a* w7 { }
2 H- J3 x a7 _ else6 G# L- Y& j/ a1 _
{
0 h4 v% D; M" j if(debug)
8 P$ B( u3 I! l$ w3 }. P {
! `! ~6 @7 G! ^1 W/ x3 e: @ alert("compare color and parent bgcolor!");0 F: m& p- g6 Z' O* M R9 ]; q
}- R8 Y! [0 Q/ s+ g/ Q4 k
parentBgRGB=getRGB(parentBgColor);
( q" j0 Z7 c# X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( I0 ^! c4 m' C- f/ V5 O7 D6 Q
{" b( ]6 z: F. M
orgNode.parentNode.removeChild(orgNode);
& k0 _3 _. o3 J$ Y$ |7 d }
3 y* f+ K( n1 z7 i0 I. w% i! `* l }' |( A, w) |1 B! k- R {
}
* J' Q* f: z" m s( b }/ M! p0 K2 K7 f& _5 @$ M+ N; }/ i H5 i
}' L1 ? @0 G, @
}
/ Y0 m4 F- T0 V7 y5 Z0 c3 E ! }! C# z2 }+ K; Q- ]$ w2 V
! u9 m$ i! Z, u6 G& D* U0 P8 a8 h
var itemFrames = page.getElementsByTagName("frame");6 f3 G# T* ]7 N" T4 W3 I, d
var itemiFrames = page.getElementsByTagName("iframe");& W: r1 v5 U) U9 r
/ ^! N9 V! I3 E) F2 D' k8 H+ u var frame, iframe;, k, L( S* g& Y0 s! F2 ?
if (itemFrames.length > 0)# i; q9 z2 S$ i8 Y
{
' C9 s6 l/ f$ I0 f3 q3 Z for (var i = 0 ; i< itemFrames.length ; i++) 9 S7 B* F0 R5 b( R
{ R& b( ~0 _& F) n }
frame = itemFrames.contentDocument;) [& ^6 N% E- A' ~5 }' N! h6 f
this.RemoveHide(frame,objname); 9 C8 L9 t$ w, z1 g' ?; i1 V
}) ]3 e( e1 N9 o% p5 t2 X2 ]
}" `8 t3 k5 c$ y' a! Y& e
if (itemiFrames.length > 0)
' I$ ]3 R7 b6 |8 F. Q7 B% w {$ D3 E" v, p4 t! h' |, W4 O
for (var i = 0 ; i < itemiFrames.length ; i++)
: K: [2 k7 u: c {
1 `' _* U' u# E' ~ iframe = itemiFrames.contentDocument;+ o! s5 A# q7 b- b9 ]( z- F0 V
this.RemoveHide(iframe,objname); 6 h+ [+ ~3 O8 R
}' S3 q5 c6 F6 [! N5 \
}; c8 j5 p; a* {
}
/ C" B! w3 S, u catch(e)2 ~8 _5 J+ f" y7 w) n5 y
{) e( D: N/ m& n- [8 ^/ ?$ b$ d0 K; ]( V
if(debug)
+ I% X# K& J' n' a! S {; }" @( N- ^8 Q3 J& n7 w" k; A
alert(e.message);
m' G' z, N3 n6 }! P }, g- `$ p* H+ R; ?% Z% j! v( P
}8 ^! ^; a/ c) j! {$ ^
}
; s+ N5 b8 j; ~, E+ O. J , Y9 N7 b T+ x: P1 v1 _! V
}
, ^) L: D6 {% D2 \7 O, b! \
. F0 W5 l O# R3 }* Vfunction getRGB(colorString)
8 j3 q, O; `# h8 c9 P3 g{" d. u/ E5 I3 a6 i8 x
var RGB = new Array;
- }; v* d2 \6 Q! E3 g2 L) i var tempSting=colorString.substring(4,colorString.length-1);- N7 W: L. G, ^- |! `
var tempArray=tempSting.split(",");+ n4 r6 E0 v/ a% A7 s4 K& O, x; E
" C. L! n. {0 @& v
RGB[0]=parseInt(tempArray[0]);2 Y6 S' J9 q; G" }' A3 N& \
RGB[1]=parseInt(tempArray[1]);" M3 _( ?; r% E3 Z+ T& u
RGB[2]=parseInt(tempArray[2]);
, b: B- }4 P2 p3 E 3 F8 p1 M& L7 ]
return RGB;, ^, ?" C/ U5 {* ~. L+ _
}
: A& H; `2 z8 nfunction keys(evt)
7 D3 Y f2 {1 s/ u: n8 \% j {
& \! F. k) L0 Q7 w5 C if(evt.ctrlKey && evt.keyCode=="81") 2 K5 Y% |/ B8 k4 u: P% z' v
{ 7 U3 ^& a* H. P1 y1 v7 k
CleanHideObj.on(0,1);# R& X% T, V6 Z5 B' b6 U8 A4 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 i2 Z3 `& ?8 {; M% Q! m8 a; ]
/ ~1 B4 d. C: V8 n3 o4 v5 s } % F! b7 j6 v; {" \, i6 O( v
} * O- P! {, c! W/ L* Q
document.addEventListener('keydown', keys, false);
+ g9 y8 J( B* J% Q4 d: e0 i* ^GM_registerMenuCommand ('Clean Hide', {6 d+ I. k1 \$ N) `) x5 `0 ~
function(e){! m. i7 Z* p$ Q& [/ f
CleanHideObj.on(0,1)
! k/ g: G# R0 x) r9 J5 Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# G) K2 U' N1 {: z2 {6 d, |});2 \0 m- r5 z$ t: {- \* F2 n
|
评分
-
查看全部评分
|