|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: X# j3 D8 l8 y" I8 M, U3 D! o1 [0 b7 l6 c6 N: C' Z1 m% i; o
火狐插件,用猴子' ]' l$ C& S4 `' n' r
6 y( z! _4 X( ]9 p. Z- p6 Lvar debug=false; / @ ~& i7 n$ |" [
var CleanHideObj=new CleanHideClass();
3 @7 G) i2 }' C4 R7 w( Y; o4 m6 n% O, V
function CleanHideClass() 5 W* K+ D$ i: h2 b9 I, q$ X+ o
{
4 C1 @3 |5 @3 B* g" k# W ! M# A% U) ^9 }
this.on=function(id,bMZ)" w" V+ N2 v; @# D
{$ T/ U4 K) ~7 O
7 Z0 I9 W( }6 r2 [
if(id == 0) n- Y* J. c1 ^. U0 j5 R' u
{
6 B- x+ I* Q* U var page=/* document.getElementById("content").contentDocument */document; * h/ y" X) a A* f+ I
this.RemoveHide(page,"span");4 A0 J1 P2 [6 p z D o C+ n. X; d: R
this.RemoveHide(page,"font");
# o+ w% M$ x+ C7 Q& o- L this.RemoveHide(page,"div");
7 O0 d% y {# |0 p' c6 B7 n this.RemoveHide(page,"p");8 X. k2 a* m& r, k2 B* w- h1 u4 a
: v1 \+ G- k; ^9 A9 r/ V4 t0 a; |5 }
}. Q2 q- D2 @0 u! ]& d3 J' M
9 _ Q' F/ `4 W: O: @* h% j
}& ]" }' ]" p' @; q4 h1 u
this.getobjstyle=function(node,prop)+ n' X; m8 f5 Y3 H1 J
{# S4 f' x/ x8 y5 F0 Q
try
5 z$ `. E k( [2 b+ m) S {
" u6 l- S. Z; u7 L! `1 x ?- p) c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ \% g( V2 t5 I# @5 t5 O9 R9 B }0 z9 W- Q& O5 A: F" x" Q2 F
catch(e)
# M+ s; C5 c3 L. h9 ]) V {9 N6 b7 L S. s6 Z ~6 T$ Y/ ^3 h& z
if(debug)7 g& H" v" F* f8 y7 R2 |
{
2 k1 m4 u% z! W. X: g* e. H alert(e.message);* y$ ?( u; g t* d
}
6 R" p+ r; ?. H8 t& C+ Q
- R! `/ j. C7 u6 D1 ? return "200";& J: N7 k& e; E8 n% x* u/ d
}5 a, Y" \! W3 \" S. W! C
}# g8 [0 [+ }7 N% j2 S1 j
4 _7 Y9 @4 d6 P& Z6 r9 b
this.RemoveHide=function(page,objname)
, T- a2 l& w L6 w8 E; q {
- B r. K1 Y' d$ M try2 C% t0 ?- y5 N
{
/ X5 F$ n% z9 \, _, v' h! E3 B var minValue=15;
& G- R6 ?3 ^+ ?: Y var objs=page.getElementsByTagName(objname); ( V* X) F, V4 C: ^- d& a; Y# e
2 u* j# \$ r* F+ ^ if(objs.length == 0) 3 X" \2 _ d0 U+ {2 h7 R: q- V
{
! i. o9 T6 u0 K7 G: W4 b7 f- [ if(debug)3 C1 e+ y9 H, l2 ?! h
{
5 R2 R$ k; I( m$ D: _4 \! m alert("no object found!:"+objname);
2 o* j2 A* |: ?0 z- d }
% |8 u1 m- `! |8 q, I2 ~8 X/ g }
% j; T& N5 d! R( }/ H else
- p% L: k: {& q2 h' D: d5 ?1 ? {1 _3 p. q: J& @. k2 C" s, V
- _0 z9 ?7 |0 G" Z
for(var i=objs.length-1;i>=0;i--) G7 M7 i& r' M7 h" J4 E
{$ z/ I1 O0 K( h! ]$ ]$ ~
var node=objs.item(i); / \. R) t+ k$ u$ r+ j
1 `! w5 H+ y. p! X8 t" x , P2 A) H2 S5 ~* c L# d& U: r
if(this.getobjstyle(node,"display") == "none" ||) N: ^0 P7 n1 |' y% `
this.getobjstyle(node,"visibility") =="hidden" ||
- \- w/ J j( O8 X parseInt(this.getobjstyle(node,"font-size")) == 0)
1 a5 K3 q5 D, j8 o% s7 @: T% | {# B; o0 B) c. } s' L ]) X
if(debug)7 |1 R; x n6 F, b/ b- Q/ B( k' F" x
{5 @ g' U& z: `5 N$ S9 M
alert("remove invisiable!");
3 r* ^: h* ~! \& r }
! F2 \* ?3 I6 s" P node.parentNode.removeChild(node);4 g& y) w! N: e [0 b/ a
" L8 |; t! h4 G: Y# U- _ }2 p2 U( }- t) C
else ' B7 d. e& c( n' U5 {& ]
{
$ T# d l8 a# }" G( I$ l if(node.parentNode)
f$ l) D, u& V; t* q {. {! Q: j, t8 ?
var orgNode=node;
2 ^* P' W2 `) x/ G& d; O& Z var orgColor=this.getobjstyle(orgNode,"color")
0 K% Z7 V- r8 l0 ]) \. b3 `; F var orgRGB=getRGB(orgColor); ( F4 w/ |0 D/ l% ?) f
# }) A, {$ Y4 h# `
var parentNode=node.parentNode2 D" I8 |8 f" |; M$ x D# J+ z
var parentBgColor=this.getobjstyle(parentNode,"background-color");' q4 |6 e# }- q% y
7 f4 k2 M2 K" G/ I M2 A var isLast=false;7 t& v% A0 [- `% F2 f; d
1 a; ^4 |9 _$ `$ s while(parentBgColor == "transparent") " V! q( r/ B& B
{
* ], U7 `2 `9 o8 E3 t
/ C: p- m2 o0 w
$ Q7 V( c& T- N0 \ if(parentNode.parentNode == null)
; F4 I4 B$ x n2 B: H {
* l) B: a/ g, |) z6 ]$ X _ isLast=true;
0 e" n. [7 z1 C0 C+ W, Q break;" t$ m8 W2 K% V/ y$ C$ v
}- u. n4 O/ B, E! Q) m6 W
parentNode=parentNode.parentNode;
% |9 _: i, {3 d parentBgColor=this.getobjstyle(parentNode,"background-color");) g; _8 c* V/ n, n4 \' q
2 A/ x; O$ f9 E/ M! W if(parentBgColor != "transparent")
6 O, V, a. \' }# S {
) L( R* @: ?' C) }9 U break;" d: u% B+ s9 a- ~$ }+ A8 v1 I
}
& I! o3 C- K2 x! X; z* b }7 V' [4 J" S& {2 O# m* y, p- h3 ^# J
if(isLast) . ~: ]' u& U6 b% `
{
0 F2 e, [* s- @8 ^$ j) L6 m if(debug)
% ^1 G3 t$ {/ h0 W( V" b7 Z {" K( z# a' `# C1 B, s
alert("last!!");
& {( s) ?/ Z4 f o& e4 J }8 F7 V" ?9 T5 b
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# k$ H1 y' q. p* A {& l1 @/ P L$ _; L8 C
orgNode.parentNode.removeChild(orgNode);
6 _6 a8 ^2 p4 j+ c% [; R, [ }5 v' P M% h7 s+ U3 e; V3 X
}- L! Y5 S' T8 a7 O) m
else
9 ^" F: m- r0 g v3 c0 ] {; n" s3 v4 b, n* k0 R* {
if(debug)
4 @2 f- L6 y6 V/ p {
3 C! H/ W, S0 t0 J, g alert("compare color and parent bgcolor!");8 s( U" x: E% ^( Z. i2 S* o$ G/ ?
}# |5 t) g2 @1 t$ k, T' I
parentBgRGB=getRGB(parentBgColor);2 u% ^+ o7 S9 a7 [1 X1 B: `
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 Z5 z9 U6 ~9 [( Y# O$ q4 n
{% K0 E8 v9 a* M5 ?( ]* T/ u* `
orgNode.parentNode.removeChild(orgNode); # ?6 e( d" N& U! a& k- R" b! Y9 v
}
6 h' r3 Y) f' H: q; \ }# p- T8 z1 F8 H/ h5 D
}
0 S$ Y0 L1 B7 C) D. d1 j2 R" E2 c }
0 A; Z- ~- }. l$ ]6 R- D1 J }
# N, T4 K2 e/ b }
3 n' @# y! U& g4 C% x- O" @( V
+ g* J3 p8 ]3 A& q1 p- H. o8 @% x5 {
# |6 c' B0 B# C+ j7 d1 L var itemFrames = page.getElementsByTagName("frame");
( X5 Y4 j7 x8 A6 ]1 g var itemiFrames = page.getElementsByTagName("iframe");
/ M# ]! b9 @6 k + X; C4 a0 ~8 M `" w1 t6 y
var frame, iframe;7 o8 M$ l; h4 u5 C
if (itemFrames.length > 0): u. ?7 G8 w2 X/ X! W, y* S/ b
{0 N$ f: b- _* h+ G1 H! H& b
for (var i = 0 ; i< itemFrames.length ; i++) 7 S9 f0 j& L# ]" [
{
- ?% X% p6 d1 s! j frame = itemFrames.contentDocument;) ?" @: p* q& ^/ C8 _8 ]
this.RemoveHide(frame,objname); 5 z7 z+ ~% q5 q
}
0 o5 E* @- M6 ~$ D3 P0 Q% Y, B }
+ b8 }6 p7 J, W: I4 H$ d if (itemiFrames.length > 0)
: f+ Y0 E9 r. @) L* z) v; z+ h {6 A1 }. c# v9 ~7 I! U! V
for (var i = 0 ; i < itemiFrames.length ; i++) 5 _* s3 L8 Z2 |% p' I7 t
{% j* _* I$ y3 q a Q
iframe = itemiFrames.contentDocument;* H% B$ e8 j2 o9 v
this.RemoveHide(iframe,objname); : U0 O4 `% K6 Q; z a
}$ [, W. n2 t& e
}
S* x9 f: f x2 d0 _; x9 @ }
, L9 i& v; H. r+ g4 U catch(e), Q: L6 D T" a0 P- m
{
. z( z, F0 y+ B3 \ if(debug)
* K7 q+ b7 B8 s+ c/ \3 y {
6 S( y; w3 @: ?9 ]& T4 \ alert(e.message);
( q7 n4 z8 W$ B, N, E }
6 O) G0 J& e: T; s/ f& O, G# Q4 d }% @. f! |! f8 H) ^3 c1 s; |- x
}* L A" m8 p2 h9 i0 h) `/ m
7 A0 k6 O% Z K- r0 d( m}
, }$ {1 T( E+ \: N5 e0 Y4 p9 S1 n
9 g) W. A; q0 g# L+ Q, mfunction getRGB(colorString)& l. [1 b5 K8 S& l0 Y
{
- c% f- N0 y$ i1 E" Q( Y var RGB = new Array;# [2 }8 C3 |; ?
var tempSting=colorString.substring(4,colorString.length-1);; A/ J% ?5 Q6 A; ~' G2 s0 J
var tempArray=tempSting.split(",");
( A# O/ A; h& N! n- |7 }, A, a3 g1 v* K5 _" W H" O
RGB[0]=parseInt(tempArray[0]);- J% _1 i& {# H! M8 a% j
RGB[1]=parseInt(tempArray[1]);& z* v4 K; P( {- T& \7 W
RGB[2]=parseInt(tempArray[2]);1 U5 v: ?& i e0 j/ K5 @4 Z
% ~/ \5 w$ f: E5 [, ~9 r" ~0 `
return RGB;
: w5 n/ z w: q4 ^) r}/ q6 ], B1 r1 W
function keys(evt)
& @( R5 ^4 f4 {6 C {
: l3 a9 H7 A( q" ~7 M if(evt.ctrlKey && evt.keyCode=="81") P1 F; x0 i! m3 y0 }
{
* ]0 j0 G1 H5 ?* f) t' M i) ~ CleanHideObj.on(0,1);
* J8 p6 Y! Y+ |! q8 A! i alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # |, l8 K# m8 h+ m) X
2 m O0 y( G/ B; H
}
) v- }* y. O; g5 t8 }& C }
& Z& K: Y: x5 k! I% x9 Ddocument.addEventListener('keydown', keys, false);
4 r2 F! j2 ]' w3 o8 w, R5 _GM_registerMenuCommand ('Clean Hide',
. B2 O' q4 s5 [! K( u( j0 Ofunction(e){- s" V6 Q; c$ A2 a- I
CleanHideObj.on(0,1)
% x' \% @' T! [( W6 Y7 zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* q- B$ z* J- N. `3 J3 {
});' W. D1 |& M- n
|
评分
-
查看全部评分
|