|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 u/ l! r! {# N2 l+ L3 f
% z$ W" X/ N2 A% Y/ k, }7 N火狐插件,用猴子
) c/ w+ D! D9 b2 G& |7 S
7 H& @! i7 e! v$ kvar debug=false;
" V0 w. N9 Z$ W$ `4 V: {+ d" evar CleanHideObj=new CleanHideClass();
5 @6 b' ^; }3 i5 ~( s [5 e* \5 T) {2 n8 f9 e
function CleanHideClass() - t# F% v4 B) {# x5 l7 K# X8 X$ b
{
2 W. E, I5 N7 F, ~
( D" }& w( K$ [3 G2 p this.on=function(id,bMZ), v6 e1 \ x5 O8 P" H
{
0 B S3 ~/ T7 y& O. S 2 D( P( A3 X v! G
if(id == 0)$ f: T& L' B( x7 r' t0 h: X
{
4 b4 p& ~9 U; ?, }- R& m var page=/* document.getElementById("content").contentDocument */document; % N. j& ]0 v+ G- A, `
this.RemoveHide(page,"span");! N" L6 b6 p* N( Q. |6 \0 d$ V
this.RemoveHide(page,"font");6 a" w& x1 z, {
this.RemoveHide(page,"div");
7 h. H( g4 _" `: I this.RemoveHide(page,"p");: |) c# A1 V$ J" U" Q. ?, C& ~: X
) e$ f9 ^7 c4 q4 m$ } }
/ g3 F& e2 R" {9 g1 R1 n' B% o N! N% Q2 K) m9 t" ^
}
- g j' y S4 V this.getobjstyle=function(node,prop)
: {! P* `- T3 ^' k! z' X( | {9 L z9 }0 Z5 h$ \; d: _
try i9 @0 Y1 R8 V5 o
{
% D, R$ C; |9 z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 ]4 Q2 f. [- N% t" \/ V1 ^
} k' p3 z5 g* G; N A/ k
catch(e)0 a4 n+ I* p. ]1 ] d
{7 `) b8 ?# q0 {. j6 E2 l. ^
if(debug)9 a1 d6 s8 E$ g7 f$ M6 i
{
) t' O$ F6 {2 [. `( @ alert(e.message);6 h2 c) l" W n9 O* |1 J
}
7 n! B3 o: s3 a1 Y9 d
& R7 M( F& ~* B Z3 I9 @ return "200";7 [ D) ?& W3 a( [( V9 C0 a5 W
} i" b" a7 ?* M6 V& S( B
}& ]9 w( }+ b5 f7 A6 K' K; U) ~
! k9 U7 @3 }" c/ S this.RemoveHide=function(page,objname)
' [0 ^! d# G# {, ^! [ {
d Q2 d6 k4 B- l! g6 J try
' U4 L% n( t0 g1 |7 O! y* E {% e7 G' P- w Z% V! Y
var minValue=15;3 m9 H3 k; K8 t% N; y- @: D/ V
var objs=page.getElementsByTagName(objname);
# v l7 @6 H4 T' m/ N2 J! S3 }' {5 L; V# S( h$ }
if(objs.length == 0)
7 s$ _: t- g& b d, G8 E5 O' G$ f( l {
, t: R. U w( P8 c if(debug)
0 u3 m8 U3 [: n. [3 p {
' @" z( Z4 I2 A5 @* s1 R8 a alert("no object found!:"+objname);: k( H! z4 w. _
}
7 B+ f: W6 e7 ^! \: a- T# w }
: n, f3 W7 \* _0 h! G0 d; l else
9 U. \ `% G% g0 w# H% Z8 P' L9 N6 @ {. D+ A3 R- a- O8 z! t! w& @
3 I0 o" d/ d! T. ~$ D3 a0 y2 \( n0 n for(var i=objs.length-1;i>=0;i--) , a g1 G. c4 x/ ]
{5 V: R- g6 @ V
var node=objs.item(i); 4 M5 V8 J0 Q t2 N6 d# s9 `1 O6 t
1 T$ M m; g% H/ {
3 }: Z3 k4 Y7 \ o if(this.getobjstyle(node,"display") == "none" ||
3 D1 V5 U! }; w! z8 J1 X) H: r this.getobjstyle(node,"visibility") =="hidden" ||9 Y* e9 r. j! m& R8 g9 O U
parseInt(this.getobjstyle(node,"font-size")) == 0)
, o+ l( p/ {( s' r {4 _8 Y/ G5 l% Z/ a F* ]
if(debug)
3 c4 Z: H% \7 s1 r8 _ {7 s, V X" w# R5 q3 d2 i
alert("remove invisiable!");
7 A; X* ~2 G: s. d R }
" X& Q& V' ~3 ~- ~4 r4 } node.parentNode.removeChild(node);6 j# q) N$ m4 L
$ k7 ^/ e/ D) M0 ]+ [, {! \
}7 V/ x; n# i- B: D$ U
else 7 [, @6 D2 ~( R3 y: Q5 G
{% a n8 d, W4 B6 a
if(node.parentNode)
; T( R: ]! M, r. z3 t5 l4 O2 F1 c { Y9 u1 ~! V u# B8 |* q$ |
var orgNode=node;' k/ i( ^: F. d. A
var orgColor=this.getobjstyle(orgNode,"color")
$ Y3 B) s: {6 o( p* I3 g var orgRGB=getRGB(orgColor); 6 L+ k9 Q; J" T: Z" U# f% @) t( c
6 Z+ z& x+ s2 E) V+ f
var parentNode=node.parentNode6 G& C" J+ i) g l
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 A# O0 F8 ]( a& \ j$ S! C3 D3 E
. j1 a& o7 @/ I. T# A! Y& e var isLast=false;
. G1 Z, y9 p K- }' V ! }- j9 K, d8 a( R( g" W* e
while(parentBgColor == "transparent")
" L& E$ o9 a6 j1 ^$ L {
% l" Q; C3 l# X8 E0 P, o* g
4 t, Y% i" Q! T4 ]* M, ]
- `7 Z* i# N/ `4 Z3 E. v' Z if(parentNode.parentNode == null)
- j) m( L1 h/ M! n- g {
; a) ?# W2 a/ N4 r D0 Q isLast=true;
& d/ m! e+ d0 a; T9 W% F v; J& ] break;
4 C! R4 r, \& { }9 a: D1 ~/ S- A) J* }9 T& ]/ l* k
parentNode=parentNode.parentNode;
. D6 k: M6 c- H$ m1 t4 [ parentBgColor=this.getobjstyle(parentNode,"background-color");
" c9 L2 O- X1 q+ }4 w6 J3 @" L# |' ]6 z0 E# [; Q0 y: u
if(parentBgColor != "transparent")
& Z$ Z5 `) W/ I' v1 ^ {/ @* ^) K, x( w) ]
break;. [- \7 q" }4 A2 H
}
8 k! M5 c, p& h2 w2 W' y! N" \, R" j. E7 ^ }/ B' r/ n& J4 j5 B3 q
if(isLast) ) _! u2 R3 L% e" q9 ^ r4 b
{
. U# J3 h: i1 g0 }# I W if(debug)4 ~! v5 v7 G O, ]
{6 p; O3 A5 u0 K
alert("last!!");* _: |- a B" x& C
}" R8 S* }! ^. @! {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ R: s3 b& i7 h s$ I {' g& F- }1 e* O
orgNode.parentNode.removeChild(orgNode);
' U2 Z2 ~; b$ Q4 {. @, F }
$ _3 ~3 u* |1 G( e! i! x% l }
9 b" Z0 a/ f3 E$ j+ {$ L! P/ f; Y else0 f/ ]7 W# Z" |
{: o7 A. p' H) \+ q' ~/ T
if(debug)
8 a' w% H% p# b' R3 U {0 n) K/ Y& W1 h4 I3 ^" l" g
alert("compare color and parent bgcolor!");' L$ \3 c+ v1 r4 W; Z" D! S6 _
}% W& I8 o; Z$ E* d
parentBgRGB=getRGB(parentBgColor);
7 g0 o( W1 h& m/ m/ r/ H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 F$ l' U- \* M9 U {
( W) ~' E/ `9 e. S orgNode.parentNode.removeChild(orgNode);
0 c- r3 f& `+ H: }. Z }
. _: t" Y K; ]4 |# @4 A }2 ~, u3 C% z. o' Y: z+ `
}
4 q* S) `9 Z, w p( R$ P1 H+ I0 I9 c }, |6 u$ [, c" z! B! |# F
}9 N( W$ E4 t" \. B; B7 C* g; R
} I3 w9 x4 d0 p4 H" G3 f
* g$ V' o5 S, ^+ F
+ ~" E) M; v% f( \! K" m4 o var itemFrames = page.getElementsByTagName("frame");" H+ J4 g- m# a8 W2 v7 B- ~
var itemiFrames = page.getElementsByTagName("iframe");: ] v+ U& [! {* D4 c* h. f+ o
7 h! O" J. A6 Q$ ?; Q/ g var frame, iframe;
/ {8 f2 Q" D; \( W" C if (itemFrames.length > 0)
0 `4 b, }2 h3 P5 `& U {
4 E r. j$ S4 B! M8 e9 ` for (var i = 0 ; i< itemFrames.length ; i++) 7 \6 w! p1 @7 ~& v. X
{/ C& |) N( D6 Y+ ?3 C8 o
frame = itemFrames.contentDocument;: t$ y5 q3 a% U1 b5 f W
this.RemoveHide(frame,objname); ! e" \. q5 u% O8 ]
}
/ J6 {2 m: |3 c0 @: O8 t; s; w7 ^ }
, P. I9 V( d. M# t5 R5 T7 v if (itemiFrames.length > 0): Q; e" ~) U; g! w; p
{% q# m) V$ ^- Q+ S- x
for (var i = 0 ; i < itemiFrames.length ; i++)
8 l U6 X! }7 }, M {
2 n" n2 I1 C/ Z, {3 S, R iframe = itemiFrames.contentDocument;0 d+ F0 L+ ^4 P- x; S* n" y7 c
this.RemoveHide(iframe,objname);
0 R3 X, ]0 @4 m2 R9 W- t }
5 ?% |7 @ s& b4 k2 X }
% g: e: F% P; M' F5 h }# n% G( z" i! l( u, c! M$ l* t2 i; U8 O
catch(e)/ w; \+ p, ]( k4 m; v
{
G2 ?0 l5 D" o- S0 p( L if(debug)
# g* X' p7 r9 c8 ^# W, G {
/ E0 v$ ?( Y# W# ?3 Y! V8 ? alert(e.message);
7 X! }8 Y7 ~ T+ I) ~% k# `4 A }1 p2 Z( g) [ T) r
}
: o) |! N' n9 `+ o) ~% | }
! I F3 Y1 d: y9 ?
" | |6 c) S& \4 C}6 y3 _ B' p0 h" x/ i
: {; c2 n; ?: Z* W& q8 V6 bfunction getRGB(colorString)' a8 a' ]+ c$ i4 f% X# s
{) `/ h- I! U, ]0 V" N
var RGB = new Array;, r5 z3 y3 o3 T
var tempSting=colorString.substring(4,colorString.length-1);
4 z5 n1 J8 R/ ~& j5 p var tempArray=tempSting.split(",");
/ Z, ~" @6 G/ R
i* `3 n1 u2 {7 D RGB[0]=parseInt(tempArray[0]);
1 E1 }, Z- l/ a( \: J- J; K RGB[1]=parseInt(tempArray[1]);% r) x! L2 |5 ?: ^: o
RGB[2]=parseInt(tempArray[2]);
, `2 j0 |/ S$ @! j, a1 |8 b' V$ H9 t
! u( a @- E& V return RGB;; I7 A) x5 r4 A
}
/ }& b3 c0 |5 K9 l9 b7 w2 ] F2 k* _function keys(evt)
$ c6 }8 U, k2 @% H8 ^2 G3 |0 a {
; `% J# n5 e9 U! z3 k if(evt.ctrlKey && evt.keyCode=="81")
9 p+ D" \! S. w( I3 d( ]# G {
% A7 j' J7 C; ]. A$ ?; c1 V CleanHideObj.on(0,1);
' d+ i, [# a6 d* u& S# R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. A' I1 H- O0 y' j- E! C 1 q! t+ ~; J. e2 [. B, N8 Z6 {
}
' D* I* n- ^+ u% @/ l. s } 4 z0 W( r/ |0 w# o: m; L. G; B
document.addEventListener('keydown', keys, false);
$ j4 P* |, E q& B! NGM_registerMenuCommand ('Clean Hide',
) J7 o4 C9 U0 B# T! C6 e0 Zfunction(e){
6 i; }. x0 \5 e, n! K9 Q8 @CleanHideObj.on(0,1)9 H+ L3 E/ L* O) x6 ?5 R9 m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, ~+ A% V" v4 P, g( N
});
2 S$ e Z% g/ Y7 Q( K# h1 d3 x: l |
评分
-
查看全部评分
|