|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 Q/ V7 t1 N+ |6 Z
8 D0 c8 c, E" G3 ~4 p9 [火狐插件,用猴子
/ y& m! w+ Q4 R/ Y
# G3 f; [! I5 uvar debug=false; 1 ]. i( ] R3 I' f# f, _
var CleanHideObj=new CleanHideClass();
, T N6 q6 v J5 f8 m, _7 S6 t1 ~- K
5 P9 o. A. g) L) h! k" v2 S, o) U2 ffunction CleanHideClass() 6 h4 |% d0 d6 e; R! Y/ Y$ Z
{
2 v; L2 d1 \# @$ e4 S' x1 g) A
" g5 b4 U9 t! U9 ` this.on=function(id,bMZ)- W. L2 E, K; E6 Z
{, S4 t' x# q+ e( |3 ^
0 K# b6 T! X) y. G j( G if(id == 0)8 I: |; ~4 u/ f8 U3 t
{
( m& [& L, }# ~2 p var page=/* document.getElementById("content").contentDocument */document; 8 p9 M2 l6 [. ?/ r& `% ?
this.RemoveHide(page,"span");
- h5 P( ?, D( r; N5 F. h- ] this.RemoveHide(page,"font");$ Z( Z1 j' k/ }: y# ]. |/ A, n4 l* I0 V
this.RemoveHide(page,"div");
$ o" K( ]0 P: f* _8 F+ O this.RemoveHide(page,"p");
# q& J! G4 \: q$ x. W " K. H7 m& c' [7 R7 t# U8 D
}
9 e& h# p5 m. `& p, c% ~5 N! f : F. d# k b2 F7 R1 L) S( g
}
1 F9 {' u6 T. j l2 o: p this.getobjstyle=function(node,prop)
: Z. A8 a& U. U8 o. y: e {* }- Q7 P/ A7 k1 n/ _' {& r
try
- V# ~) H$ ]% t3 b {
3 `2 i- s* [* x+ L' C: V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: h' P: y5 f5 A, s* B' z# d! Z
}
! @! J% L+ R& _8 c2 F3 M# h catch(e)) Q/ H* m; q# F/ l3 T( }% x
{1 V8 m( H7 I f/ o
if(debug)9 ?3 e5 `+ Y3 N; F
{
# a! r( j( S4 ?7 k8 g- ?- |& a* U# ] alert(e.message);
9 q0 H0 z8 K5 A3 T7 B }8 S; I& M4 P* X$ c$ H# T
* w% ]% F" J8 c0 J b2 U+ F1 n return "200";
9 M+ g, C& K: v$ V1 ?" q8 E }
& r; W& h' e0 S$ R* s4 ^) d# ^2 M2 [ }
4 e% G2 P6 `8 U
4 V+ Y; u b. W; n( h this.RemoveHide=function(page,objname)
) d6 t: ^" N2 i; F, p {
- R! u- m& {) x5 Q) j% W try
& J/ C$ v4 p8 J1 C {
7 t& u# Q* v& C' d. Z var minValue=15;( ~- o7 n: K; L9 U& s j6 ^
var objs=page.getElementsByTagName(objname); + d( x M1 \ w/ u/ b. r
; m; {, ~7 F: m1 z: \4 V, q if(objs.length == 0) / w9 @; m& P5 Q9 F
{6 `! N. H/ u- ]( ~6 f8 q
if(debug)
- b; @! q9 L9 t% Q5 F; Y3 s {8 _$ i6 b& Z7 ~0 n+ I9 @
alert("no object found!:"+objname);
) @( [8 }( ^4 @ w1 P! ?& x }
1 F5 F( L4 H7 f }( |. v+ }1 o/ \$ P! j1 t
else) F+ Q6 i# \* h
{
% `2 K, H* ?9 E6 o; ? + D, x& O2 `4 H* O
for(var i=objs.length-1;i>=0;i--) 5 C$ X5 k5 U2 z/ X" w/ S
{
5 u4 R, M5 B% ~& j var node=objs.item(i); ! F8 {' b. a# |, S. m' ?4 P
c, Q4 i+ r( \" K' I
7 `% t6 ]' j( J( q% C' X6 g m( n
if(this.getobjstyle(node,"display") == "none" ||
: j% [( ^9 @& q this.getobjstyle(node,"visibility") =="hidden" || h4 Y5 t( _. L. h
parseInt(this.getobjstyle(node,"font-size")) == 0)
/ W3 P, }, u% U" e% _, M3 G) R6 M& V9 r I {0 `9 d. O3 h+ A. C4 V) P( V. l
if(debug)( [4 X' Z8 |+ a
{$ H6 m* A! {( V6 t* q
alert("remove invisiable!");
0 }0 f7 `' |! u t* e# L }: i9 e1 O6 W8 t: u# H
node.parentNode.removeChild(node);
- l9 Z9 ?8 t9 {4 u& y7 y3 y 2 u& @+ j5 j- |3 u8 ^" m4 J
}5 S) p; O/ Y$ w
else
: o4 ^' ]' ?8 y+ s4 @5 M {! Z# n! ^4 l) _$ \! a" E- X
if(node.parentNode)
( E; S9 G" w8 V" f! G4 ^ {+ Y3 M! ^. z% U
var orgNode=node;9 P- w, o$ P2 ?3 k1 C9 a$ d
var orgColor=this.getobjstyle(orgNode,"color")7 d- ?7 e0 \9 r; k: V0 x
var orgRGB=getRGB(orgColor); & g/ b7 Q) n J6 O& [
3 X6 L6 l9 w. W var parentNode=node.parentNode" [1 X, p1 Q! E5 l, W6 Y$ |
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 ]0 p: \) U. t. ^% X# J0 ?- i
" w6 M: x2 l+ r
var isLast=false;
/ Q8 B4 R# U0 m
3 L0 [; r$ x. b* Y5 |* n while(parentBgColor == "transparent") 0 `7 }+ H: u" Y, A
{3 ?7 w `$ E/ H: M" V! y1 _4 O
- E% L. C6 W# c- j, {4 R' z, D$ q ( q# j, ?) [' M( s$ Q% w4 |
if(parentNode.parentNode == null); F, k$ T7 d# y) e2 k
{
2 `1 A! ^" ~; [! y; \! ]4 ] isLast=true;
* w( F# E$ ]' q g break;
6 U0 s2 K. b# l& ]8 k. [ }
; F) A- S ~# E, n; |+ Z) z parentNode=parentNode.parentNode;4 ~% c6 g: c/ Y0 X/ n" r8 q
parentBgColor=this.getobjstyle(parentNode,"background-color");* L3 y" Y% g0 H* S: x9 r
- l8 N7 N* X+ o, d. @% `8 F" x0 S
if(parentBgColor != "transparent") # s$ e* O+ f0 ~! B
{% T# T8 H& N7 a8 H0 G/ @0 E
break;
: n5 p/ ^; y5 ]/ P+ ]% [ }& Q0 }6 W6 ] I
}# V: C# ^* L- J/ b( s7 h5 m
if(isLast) - Q0 r% C; Y6 k u3 y! Q
{2 b9 L; j3 r; l1 f
if(debug)$ K% p# W9 ^+ N) Q' R! X% x4 \0 V) V
{
- V' B4 }9 I& ]$ M0 } alert("last!!");/ J" v) K* D7 L
}
9 W, J; B( f% E. q+ \- |4 J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
g) `+ R% I: f3 h Q {
/ b' S! I% S; q2 [7 c6 { orgNode.parentNode.removeChild(orgNode); ' |3 Y- O; P) v5 W
}
' x7 [8 `% T9 i1 ` i3 e1 a }
% p+ N) ]( y, J& ]8 R; u8 B# r else
( H( D5 K3 h, q) @ {
; `. x8 d% g( k, Y if(debug)
0 Q" M/ Q7 `. q; _& ?2 a- ^ {$ A2 G8 r6 g# H1 g3 U1 w
alert("compare color and parent bgcolor!");
7 V( z+ e5 a! B1 X: e }, P& N2 t+ [6 p( S
parentBgRGB=getRGB(parentBgColor);
3 U) n9 c+ Z, a7 [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ i) D9 E& n" x& \4 X) [ { g7 C- ^# ^; }8 S% V
orgNode.parentNode.removeChild(orgNode); " o) Y# `" Y% ]
}, i, {$ m% \4 x/ ^
}
6 x' t" ?/ [% d }6 O; t+ R- g6 Q; X2 H+ f% G' J' O, y
}# x( ?2 ~. T% |2 }7 r7 }. r: U6 X
}
i6 N5 C. Y `1 Q0 j } w9 C+ }4 X# |6 ]) E4 `5 y8 {
: N( S. ] c, ^0 I) C B
; c: o% h/ Y, T& G# i! V! a. J. ? var itemFrames = page.getElementsByTagName("frame");
9 P. Q1 l5 n3 b" Q. _ var itemiFrames = page.getElementsByTagName("iframe");
7 l: R/ O1 B5 L# N& `( R : p" B* D$ V7 F/ B
var frame, iframe;1 N" Q A. [% j7 e) ~* l/ s( s
if (itemFrames.length > 0)
1 @$ p4 o4 ~7 T# R( D; i% D; s {3 i$ Y8 E/ T$ d, u1 o
for (var i = 0 ; i< itemFrames.length ; i++) 8 i9 z8 R+ Y( ]1 v
{
- d- t* @# a. d/ E frame = itemFrames.contentDocument; }; X& F9 e* o( u$ y& M0 X
this.RemoveHide(frame,objname);
: V' b/ z7 h' `& z }
( |' X4 ?; z/ i- h/ g }, X% F4 R8 X' ?/ B$ y5 v
if (itemiFrames.length > 0)$ u+ }' [, u6 y4 @/ o* G
{
0 F9 a* y% Y! q7 j! d for (var i = 0 ; i < itemiFrames.length ; i++) ' l" m2 t* l+ }! D+ q/ _! ~' Y! _
{) b& N! W" e+ b3 F6 Y0 X6 j6 E
iframe = itemiFrames.contentDocument;, x; N+ f: g1 s6 d
this.RemoveHide(iframe,objname);
0 W* u) ?( g; I/ |9 d0 F }
$ E: C: |% d9 F; ~/ [ }
# u' N2 F4 d6 x3 U k }3 m/ R1 b- ]1 x% S& w! Z8 t' [
catch(e)
- q( |1 y5 o) D% |; m( [6 c/ x. b; c {
4 J+ _+ e6 a: J8 K if(debug)1 n6 ], L9 X- u) `
{
1 X! a7 b! w8 E alert(e.message);5 }' B1 W6 z6 _# {# C. _
}3 m; b0 v7 ?* `0 }
}
" P; c- S/ O# {6 d/ R$ O; H }2 ~7 [" Z' }- g* F) e! k6 J
( P, n% }% _) C$ } E}
" |, C; w/ L; Y, i% A) ~8 H W8 F# h6 O' b6 j: a1 T' q
function getRGB(colorString)
5 J: a9 j" E" k/ P- D{8 }) ~7 [1 S: y" v) B
var RGB = new Array;
9 ], h5 I# z; m$ i# Y, g; v. U var tempSting=colorString.substring(4,colorString.length-1);' d# K6 m0 a5 a. l9 j
var tempArray=tempSting.split(",");
6 s) X+ I- a) D
3 I) H2 W4 r1 L! j" O( S+ K5 r RGB[0]=parseInt(tempArray[0]);! f& ^, r/ F# D6 f
RGB[1]=parseInt(tempArray[1]);3 q- {: X' o+ h. D' R+ Q9 z
RGB[2]=parseInt(tempArray[2]);1 Y; v: m4 x9 ~3 A# a2 W
; x" P# ?8 D( `; N/ t$ X4 M
return RGB;6 J1 D- _1 l, R1 c2 Q5 x
}' `( D8 m% w* l7 N2 `; ~' ~
function keys(evt)
' P+ @% h4 a) K$ L9 g* ~' k { ( K' ]% V$ t v! E7 ?3 A( B' P
if(evt.ctrlKey && evt.keyCode=="81")
3 b+ O, v. |/ U Y, T {
y& v- ^3 u1 x! V( B9 j' Z CleanHideObj.on(0,1);
! k5 Q% m9 L3 C2 \+ d; M7 M, b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) `/ r6 f4 c4 e( b
- k0 K/ O/ |) o; o& h( _# Y }
5 |4 H2 j _4 L. q1 z } , r- w( r8 y# {' ?9 a7 M4 J6 c
document.addEventListener('keydown', keys, false);
& |, L8 ]9 S* j, n* h! S8 L6 PGM_registerMenuCommand ('Clean Hide',
2 ~: ~2 j" d; D9 b5 {function(e){
5 g0 `9 y! ^! ]' {$ ^CleanHideObj.on(0,1)
7 c0 r1 r: }& u) @$ Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" [' V$ s. \" i% v3 P});# q. [) w1 y! M D+ Y+ t" {
|
评分
-
查看全部评分
|