|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* E! q. R' |: g& W* q6 W* \/ M3 l% o- }9 m- h4 z& a! _
火狐插件,用猴子
, d+ i% k3 u- s# d% _1 ]! l
5 A( n" L l4 u1 q* I1 j* F4 Jvar debug=false; * _) I4 A% l) v, a
var CleanHideObj=new CleanHideClass();& S) f" w6 k) D, n+ X9 C
: P- O- x7 H. v; D; }& X
function CleanHideClass() 5 B. N3 G) {! Y+ ~8 P
{ 8 J u. A/ j5 I. N
7 q1 ^6 F% n6 r" i9 h" y this.on=function(id,bMZ)# J+ ^( o: V6 h$ ]7 ?
{
1 h! | g) X0 P' |# t/ A 0 o1 X9 {; ^! v# Q( X
if(id == 0)
+ e0 F( P4 S- z+ R* D. t {& A' W; ^) }) a+ T, \
var page=/* document.getElementById("content").contentDocument */document; . D6 ?5 }2 Y6 Q k
this.RemoveHide(page,"span");4 Z7 f; t+ s. }
this.RemoveHide(page,"font");( N" U5 Z& e# F' Z q/ T: Y! O
this.RemoveHide(page,"div");5 n6 j2 @& ?3 {7 d
this.RemoveHide(page,"p");! O2 q% V2 S0 `; Y/ ~2 ?
( i$ Q( r! \- @ a+ }9 d
}: d4 W! a* E$ @
. v' P. N1 w9 e0 s1 ^ \ x( c }9 z8 [5 b1 f* q1 }0 X
this.getobjstyle=function(node,prop)
+ z* [/ F6 x. o {
0 J1 p& s: k+ ~4 l2 K# H" H* P try; E9 ~+ p& S# U0 D! y
{- I9 O# p8 U9 ^
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. v, z; i7 Y6 P& \ }
; r* j! V+ C8 s6 r catch(e)7 F6 p& i$ r; ^. w9 }: Y0 p& `
{
3 e( P2 y/ l8 g, U if(debug)6 `* c5 F7 Y( H. S) ^% b
{
$ F2 ^7 W" H1 A, } c! O; k alert(e.message);& j: H5 |; ]- [4 K, f, \1 {
}
: W( ~7 h$ v9 s. }+ ^ ) V1 N+ j9 ?% l K% Z/ e/ I$ D
return "200";3 |" b7 s- ?: u7 k. L$ g/ j; E
}
) v* i) |% z6 `: f9 K9 r% ^ }
( _5 x4 o2 k; w# P0 K+ v
4 h M- @6 G0 [; y/ g: M; R& N this.RemoveHide=function(page,objname)9 D% g3 B" b( F4 ~7 N$ o, ?! [
{7 k' c& U* G4 D) f
try
) `, R. c" b# Z: p+ `! d$ F* X {
+ p+ q* T' J, h6 G" R var minValue=15;
" W" R4 U: k; p; u2 I var objs=page.getElementsByTagName(objname);
' S+ i( a2 J& y+ }1 y; L' x4 ^; _# ~/ [2 o% [5 ]9 X! V4 n+ Q2 f
if(objs.length == 0)
: A0 f% k$ p4 `+ D+ Q {) i# \# _+ g# F& Y
if(debug)) D1 I/ \/ V1 g) E
{& c4 {+ z$ C8 h( }4 v- u. f
alert("no object found!:"+objname);2 B/ |+ E" _. _- i C
}; P7 M3 z3 M9 \
}6 s6 }! M2 i' a$ g9 V
else
6 [3 q$ a6 Z! a {& `4 F( O" m% b. f8 o/ z7 m# U: F! ?1 v
3 y* E( s. h$ t2 e6 ]4 B
for(var i=objs.length-1;i>=0;i--) * J3 h- a- @# {! S) c, K/ n
{$ {- H) g& T/ W4 J) h6 S
var node=objs.item(i);
) l, R. {; f4 g( i- F/ ?% I! \5 u* W' K( K 2 J* e9 w/ v! x; j5 ~4 G
- @. e, U' ~* ^% L: u
if(this.getobjstyle(node,"display") == "none" ||. L5 U& n* [2 X3 b2 @7 }% F' c
this.getobjstyle(node,"visibility") =="hidden" || \3 f, i+ e7 G- U: D/ X. R
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 N9 t; T# N' o! z {
! J7 N, B9 d" O/ x if(debug)
, a) E. G1 i7 V: @: B {
# f" d9 ~7 |" `: Z3 C3 I alert("remove invisiable!");
+ |6 Z5 K" S' x1 y) q2 r' n }
' C+ g- i9 ^+ n3 h node.parentNode.removeChild(node);
/ I9 {2 }$ z, o8 w0 K+ |! u u7 ~
7 [6 H" C7 N |/ F }
9 d' x' i9 M' d. I4 o6 f else ! }. V4 b2 s1 q; e2 _& l' S9 }/ p
{
6 u- X, X% v5 n# l) h" z if(node.parentNode) ( |5 _6 `+ `2 }$ M1 v* o
{( K# v6 N( ]# u6 f4 |5 O! ^1 [
var orgNode=node;. J1 V$ M/ e+ ~ A; o( k c I
var orgColor=this.getobjstyle(orgNode,"color")
. y$ `$ ]- }" F) o& l' i+ f var orgRGB=getRGB(orgColor); + `9 m# K0 b# r) m
j% n7 B3 |" B3 m7 W2 B
var parentNode=node.parentNode$ Q9 n& E2 t; J
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 {. q$ \- u: y q
: D F7 C9 _* M5 r" m+ [/ Q var isLast=false;
1 @* d' u% |; U* k1 K* v8 Z( ? ( q3 k) N, I. q: p6 @& I- h
while(parentBgColor == "transparent") # }+ Y, b( ?% _3 _& Q
{+ Q7 V2 `' {( W8 k! h. v3 \1 ^
6 p% w/ w# q/ [# m# d! w
8 P# Y+ z0 F6 n, h$ ]5 b
if(parentNode.parentNode == null)5 Y# v9 H; b: l" m
{
# j4 W& B- |& P6 Q$ R. A. F3 G isLast=true;
$ }2 @9 h" ?7 l; y M break;3 Y& v: E8 z$ E8 D5 u! F, s+ O* {
}9 z0 Y- U' i: v4 Z7 i
parentNode=parentNode.parentNode;7 D5 F( k( M1 j- n4 C6 C
parentBgColor=this.getobjstyle(parentNode,"background-color");9 J% _. _9 m9 T1 S5 z
6 ?( @& r' Q8 b6 ?% Q
if(parentBgColor != "transparent")
Z& q% P7 d8 L) _! y {. b$ X6 ]- l# q; d, ^1 L8 p% T
break;
; M, I# ~# h9 M$ B" V0 q2 f+ N: q- g }
+ l+ u; _1 l& P, r# P7 T }: x+ j' c" \$ j! y7 s/ Z
if(isLast) , a5 u5 s/ s- y6 Z
{" B) n; E" J' C0 n
if(debug)& _$ y8 @, ]4 }; e7 o" l" V
{/ p( R* C2 s/ g; j
alert("last!!");
& C3 ^: G. b8 q" x0 n2 W }5 ~3 x6 G9 D$ {+ s9 t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# s! M& G' Q V, V8 }6 V {6 t% H! O; D/ _7 c
orgNode.parentNode.removeChild(orgNode); 0 N; J7 g9 h% c7 Q3 q' C5 P
}
9 ?* v3 M, G0 ?% l# s6 }2 B }1 |" u1 ^9 _' ^4 t
else
) k1 q# c9 l* j6 B# @* K, k {
. v( i3 l3 K5 c( Q2 u if(debug)
* l+ U5 ]7 l9 D! `6 K- m% W {% J" d- E6 A# r/ ?1 ^3 `! T& S! m
alert("compare color and parent bgcolor!");" a, O8 I# o9 F5 a9 c8 j; j" K
}
, N+ M3 C1 A" s" e- H7 u0 a' I parentBgRGB=getRGB(parentBgColor);
3 {+ `8 u& c: H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 x: y2 K2 Z) n h# }3 B4 |9 @/ Y
{% {9 X" s* A/ P
orgNode.parentNode.removeChild(orgNode);
" I) V! F' V; g! m2 m }
( o# ~( y# h5 H4 `2 Y- P }5 O4 j. L }2 p& A1 v* T3 A; h' }5 k
}
2 k- t' O- G* v }
. G z: M) A/ M, Q# z, W. F }6 ?6 s. @% @% i e
}
4 ^" X8 x# t# c( X# u, \ ) I: i" t: x" v$ _
& A B. N: k! h' t5 \, Z4 e# W var itemFrames = page.getElementsByTagName("frame");1 _9 y% B6 t; d+ J2 g% R N4 ^ U4 L
var itemiFrames = page.getElementsByTagName("iframe");( m) o4 ]/ k& Y8 O* z& ~' [: |
( l) L& q/ }# A4 a
var frame, iframe;6 t" W" ?, d6 l( _7 f- a8 Z: n! d
if (itemFrames.length > 0) A1 f9 z6 t. ^" C3 k
{3 Z* i# z5 F4 |
for (var i = 0 ; i< itemFrames.length ; i++)
3 h3 R/ {% Q) m3 c {- m0 J E$ K; L" r$ R
frame = itemFrames.contentDocument;
* q0 M7 O& ~: P: |9 l7 q( @0 Z! Y this.RemoveHide(frame,objname);
8 k6 ?) G' V- s v5 Y8 j }, m5 j4 c1 i- W3 G3 x# e( e
}# K' c' B' z$ z1 [- E
if (itemiFrames.length > 0)
1 M) C' p' b" Z$ J* j6 k+ M {
) [& C: M8 v1 m L' \% h for (var i = 0 ; i < itemiFrames.length ; i++)
+ ^7 B6 [; h& N$ @. i { O2 B3 k6 a# ~1 o: F8 ]
iframe = itemiFrames.contentDocument; E. c: E0 B8 u& U1 w
this.RemoveHide(iframe,objname);
9 r+ h6 g% t* D# z }6 p+ J" \3 m6 C" C5 x! F3 z) D1 N
}
$ r: ^4 R# s/ Z( ^ }
, k) {! z! z! q+ L3 E6 m% w. S catch(e)' J+ n* V, Z u2 v, M
{
3 ?6 f* `$ M/ x- H) Q9 i' U if(debug)
( u8 y; Y" _( b/ V0 l# m N( Z {
7 o: K/ x4 a" u& o. _ alert(e.message);
5 T( n; w& V) v8 _" d6 E }9 ^! Q1 b1 ~7 Y$ j
}7 j# F, e( M3 V, R; C" {
}+ M2 H& N1 z& R/ f5 Y+ s
5 v) t+ U$ H/ k+ |( C. C
}
4 X. d% W" T( s3 E
9 m7 s2 r0 o% i7 ^) a; w6 ~function getRGB(colorString)0 f5 t. h4 R1 h
{% i' Q: F, t/ j7 h7 v1 _
var RGB = new Array;
% f3 u# y) ^3 h4 ^2 F4 R var tempSting=colorString.substring(4,colorString.length-1);0 M& r& b) V* r6 h
var tempArray=tempSting.split(",");
* F$ t6 l% O% t/ k+ ^/ ^* j A) c- G8 e/ i z
RGB[0]=parseInt(tempArray[0]);7 d/ n. K' B5 k
RGB[1]=parseInt(tempArray[1]);
; o& W. L7 N6 C) P# A! E' { RGB[2]=parseInt(tempArray[2]);/ p3 {4 _5 B8 t/ D: B' h0 a" t+ q
; `; K( E' ]" t. Q. u5 ^ return RGB;
! P6 E: V* i ~- y0 ^( Q- q}5 U/ z3 W, o5 k3 w
function keys(evt) * b8 V1 h, C5 X& N5 R
{
8 N& {$ P6 e* c7 Q1 h& p/ e/ q if(evt.ctrlKey && evt.keyCode=="81")
% d3 J' O& S6 z* z {
5 a9 @; ^0 _# x5 k3 g0 A CleanHideObj.on(0,1);' t- S8 N* V9 h L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 q9 S8 h' U" H$ [
6 o( g' @0 f2 A( @+ z } % N" a, E5 j2 ]
}
' }: N1 l9 R9 t o& V$ o* Odocument.addEventListener('keydown', keys, false);
6 ]! I. O, B6 e5 I3 W; HGM_registerMenuCommand ('Clean Hide',. u; F) `' E- G6 W
function(e){
1 m% n7 N6 G9 Q5 p0 R/ d+ CCleanHideObj.on(0,1)# h* ~" g" q* T( E) a7 l6 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 H( X, ]" X* |; Q( E+ A});
2 _: ~6 \( B4 m# v( W |
评分
-
查看全部评分
|