|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - |% {+ ^2 v! ~" R+ S) s# Y
" O% Y+ y' `' N/ F$ S% y火狐插件,用猴子9 {5 X) X Y& b9 \. H% ?
|! }. O0 ]; N- T, @7 ]
var debug=false; 0 K" ~5 u, o# I% q! u
var CleanHideObj=new CleanHideClass();0 _4 i- B7 d9 X; W5 P% m
4 i7 z1 t- z9 W3 J
function CleanHideClass()
& E7 {/ b8 L3 i+ j" a{
8 E2 |+ `& L( z5 Z5 d. C: q1 C
X: L4 Q( B. Z: O) g) k this.on=function(id,bMZ); d+ C4 R! C/ Q! S$ U' C7 y
{
( m4 a2 v+ f, h6 z6 E& O5 m; l6 h ) D# S* `- T. m: B0 ?# b* t
if(id == 0)
% m: B& G: t$ U" l {9 ] U8 ^/ ?. y/ z; [- i
var page=/* document.getElementById("content").contentDocument */document;
" F- p6 A& |/ |9 z4 `* ^ T this.RemoveHide(page,"span");$ l# [/ O3 d9 U
this.RemoveHide(page,"font");
( a6 Z( [2 o l5 K9 `: H this.RemoveHide(page,"div");+ _8 `+ f! M/ ]2 [1 M
this.RemoveHide(page,"p");
8 ~0 l1 x* {# O5 w; b! J. _
& h5 u6 k( X) }! D v% \( z( ^ }
) y0 e) A6 s% s
9 p6 {* x- h# i3 U) z }# T) [* {1 W+ Y5 {
this.getobjstyle=function(node,prop)
6 u( k K% S6 [- T* K+ {& Q& v {; N4 R' @& _0 u! }; p
try* ~9 e, X6 z4 o g+ \
{
# \/ g& n: z- l! F0 E3 f return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* _* F+ V+ {# ]6 K }: G( o3 g+ O' J z5 F* ~( [
catch(e)3 d& T" M+ ~; M6 X, J; W5 [
{
; k4 R5 W" Q* D& t( E0 D* ^/ f if(debug)
3 h. Y4 Z6 E5 ~( Z {
9 d/ U4 @$ q2 j5 U+ W/ F alert(e.message);
q: E& ~, H# R' a }
& k& L+ [1 Z3 q1 ~2 y, f0 m & m, ^) v1 a2 G" C0 f/ f- W
return "200";
" j3 k# h ^& `! T }5 h z' @1 ?& }; n& S
}9 Y8 [9 J6 ]8 l7 w
/ n, ~! w. [! ]* | this.RemoveHide=function(page,objname)( _5 @- _3 l o5 A' q
{' E7 `( ]: K; E2 I) d- J6 J
try1 k u& T9 h/ c0 H8 b1 H1 [# g/ b
{4 V) F* e7 S) C/ ^- q" {) F; H
var minValue=15;; m1 m/ t+ C9 S8 g
var objs=page.getElementsByTagName(objname); - ?. |# w" _9 p
% t7 p. T, {. }- o; E/ ?
if(objs.length == 0)
% d" ?3 A, t/ w5 R5 d* D) h ]* Q {
& S) Y' L9 r" {/ I6 I if(debug)
' U5 o# ?& n& D3 \8 A8 F2 j {
F s5 f+ ~- P1 B! ^- V0 x4 N alert("no object found!:"+objname);
! f" G& e( k, E% e2 h7 f4 W }
% `! ]. O+ @# ?& `" G' N) L }
) }/ M4 c6 C# i9 h G else- k# `2 Z2 b3 h% C2 y$ s2 c- i
{
$ J& r w2 i2 ]* M/ g% W$ _
$ Y X) ]9 W! [) w9 U for(var i=objs.length-1;i>=0;i--)
7 V- l8 E `& d# Q9 @+ r+ _+ }, i( [ {' \ b. Y. |9 x5 F+ m- j$ s
var node=objs.item(i);
. @6 n+ z3 l, I8 V% w; H5 I H0 U# i( \4 E
7 i0 c% f5 x9 A1 t
if(this.getobjstyle(node,"display") == "none" ||
" r2 r' m# X9 Q8 d this.getobjstyle(node,"visibility") =="hidden" ||0 u( q' c' g2 V5 j) x0 ^9 Q
parseInt(this.getobjstyle(node,"font-size")) == 0)
; t" F4 y% i5 K% w {( p+ ]9 G; J2 E$ u& N* k& T: Q
if(debug)6 x) }5 k! Q) u8 r @( {
{% _: P6 |5 n5 [# O0 s( e8 o( S7 R
alert("remove invisiable!");
& a, T W' i$ p/ h I# w }
2 U& \ R7 J5 @/ c node.parentNode.removeChild(node);
% b x+ g1 d. }1 R( S- e! q8 p2 \# H+ ~
2 X; H5 M5 Q2 c! Q' i; f }% \1 T# U" q7 O1 B: x/ J2 f
else : v2 R( D5 k/ U5 {+ N/ {+ s% [
{
) f# e2 ]" q( R' w# ^$ X if(node.parentNode)
. v% G5 N2 f. n' v' }4 W {+ v# e8 ^2 L; l8 @
var orgNode=node;/ ?* s+ y( T* G3 C. N& I z5 L
var orgColor=this.getobjstyle(orgNode,"color")
# L$ `# g8 f! d1 Y) V3 C var orgRGB=getRGB(orgColor); ! Q# G% J, z, n- n5 i
3 _6 e5 E) `* `5 m7 V
var parentNode=node.parentNode
+ a7 q* b9 |& R* r; M0 A var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ O0 z% B. M1 o1 N+ f
" u: C1 j2 S/ v% P var isLast=false;! w# o/ R6 X. j' K4 K
4 m( c- |0 s: C5 n while(parentBgColor == "transparent")
6 d; T2 _; M: q {6 p$ K5 @' E0 X9 w m, J2 s
. r" }4 \7 Y" a5 k
$ \6 {0 P8 p) @ if(parentNode.parentNode == null)8 K3 @) P3 e7 ^0 \2 J
{
* f: x5 u: C8 M' b" b isLast=true;/ y8 m% v9 W- R6 `
break;
/ B5 e3 [5 h+ B5 t/ i1 p }
- l3 H" D9 u4 Z4 ~0 j parentNode=parentNode.parentNode;* V6 A" L1 v) T) E5 H) _
parentBgColor=this.getobjstyle(parentNode,"background-color");3 C5 e: J5 `* j& P8 K" K
( w+ [; p1 n6 r! f! S: Q
if(parentBgColor != "transparent")
. Y7 z+ X3 |! e0 u9 ^ {: o" t7 s4 H% x N' T- @% {$ a: s
break;, f7 n+ K& b6 W+ ?4 q/ S/ m! m
}
- x, h# S# V5 S, @( l- E }
/ c- L+ G/ B+ O1 l' y! y if(isLast)
' r& O# z; t4 `2 ^5 ^- ] {
! y* a! Q% o: M2 ]' ^ J if(debug)' h3 _$ o4 Z$ _+ b. ]5 N+ {
{# Y) o0 Q! {3 ?- S; J, Y$ Y
alert("last!!");
" _2 r7 _7 w7 v4 h- E }
f8 U: V$ h8 e& l6 S8 w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 _* |5 i/ V% P' U* @
{: I5 H5 }/ {3 N! R Y
orgNode.parentNode.removeChild(orgNode);
; V- [3 v9 R0 N; x' `9 d }+ b8 @! `% f: F8 ]4 A% ^* g1 R
}
# S5 v( W8 S, t: } else
. g+ K( T+ z" m- m: Y6 e {
u7 x0 @8 O* q6 M" { if(debug). G0 B: @% R7 f* W7 ?9 E' t( U- K
{
5 _9 t0 g; K' ^# x3 K alert("compare color and parent bgcolor!");
1 I d" d( c+ t5 x }/ p2 x, u' Y g' u4 q+ V. u
parentBgRGB=getRGB(parentBgColor);
0 f4 k1 ]3 J7 D: W/ m/ |8 v) n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 \# v s4 S: s" g/ F' X {3 j9 P3 T& U; k1 V
orgNode.parentNode.removeChild(orgNode); - F+ S% y | A+ y3 d/ W. @
}0 o4 o1 K# N0 Q0 Z
}+ l# K! e$ W6 S8 P
}) C9 p# c& q2 B+ @5 u' M" e- y
}
& A- m+ a' j3 ? M2 W" [; h }
; w7 c3 y+ [) J2 S3 |6 G3 ~7 q- x$ f }) a& Y6 f5 g* S6 {# B" p
, O& f0 Y/ _! T
2 k7 a) \# h' t* {" U var itemFrames = page.getElementsByTagName("frame");
$ E4 d: h# l" B' {3 E2 |8 K0 W var itemiFrames = page.getElementsByTagName("iframe");4 M' C ~7 u% B! J2 x# g; g
& n8 n$ Y0 A8 A1 K' P- U3 O
var frame, iframe;$ e, F( O8 H9 a
if (itemFrames.length > 0): K) j! T7 E) F% i
{) c6 v2 @) l! D9 @
for (var i = 0 ; i< itemFrames.length ; i++)
c( L0 m" L; m) D7 v$ z U {& d* E4 h% ]! S1 x( \* O# ^# G: {' ]
frame = itemFrames.contentDocument;+ ]+ c" F, h! L j; a
this.RemoveHide(frame,objname); 5 P; q+ \( i2 {. b3 `& b* B
}
$ H) D6 N- U4 k6 J, d- x. E/ s+ P }
, G, Y* D a8 |% z; p/ M) E, e/ D if (itemiFrames.length > 0). \& g$ S) y7 d8 Z" O! C* `
{
. b) t4 O m f r; ]# v for (var i = 0 ; i < itemiFrames.length ; i++) & m9 T- o. f% \: h$ Y( \: Q g v
{
. V. ^; K* k! U iframe = itemiFrames.contentDocument;
% {" Y* [' J3 |6 ^; c1 m# c this.RemoveHide(iframe,objname);
6 h. G& C# x7 Y& D9 W1 q6 L- T } {% `! ?' [$ X. W O) J6 i$ g
}
2 T4 G9 o8 v8 F( p; |, ` }% ^6 K( C# t1 M0 n/ K2 k
catch(e)
* D/ \* o' F. k; t- T {! \& p0 S2 P% U4 Y1 Z
if(debug)" x* @: V; v+ W% A" |% L1 }
{$ B+ L7 R+ F% j, t4 D
alert(e.message);
; F( W; K6 q/ J2 w/ N* ^ }
3 z/ d: b% m$ |9 s. \ }* I! _) f A' B; ]+ n2 w6 t
}4 [! j' E4 K/ o* r
& r) u7 @& V& J
}4 H2 h7 ]2 d0 x, H& c- C
' W& P9 O; ~6 P9 ^& @) M
function getRGB(colorString); } J( p' }9 L# |; v5 a$ W+ g' D
{
$ |. `6 g2 ?" N2 E9 h var RGB = new Array;+ [: s' O9 l+ R# A1 T; M0 o4 {! N
var tempSting=colorString.substring(4,colorString.length-1);
# x& F; l' l1 ~ var tempArray=tempSting.split(",");- I0 ~5 X: E, M) q8 }
- @$ }2 N0 C( Z u7 w
RGB[0]=parseInt(tempArray[0]);
4 a2 W6 m, r- d/ y RGB[1]=parseInt(tempArray[1]);6 V* V, t" a# h6 `# g1 V
RGB[2]=parseInt(tempArray[2]);
/ o# A3 ]8 n( |' t , \7 l) W9 X4 R$ q8 `! M
return RGB;
& r' Z1 Y0 W- @1 W9 N}
9 w9 e8 z1 g0 r: N4 Q! t$ N: I* ifunction keys(evt)
: b: q( V8 a/ Y9 x& D3 F4 B0 C {
1 M' R; V% _! X if(evt.ctrlKey && evt.keyCode=="81") : [4 B% z5 n$ x5 K
{ - @- o" C7 c) r: `% L, X; D; U# x# t
CleanHideObj.on(0,1);
, v% X( L3 C) y4 t- j. q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( L2 e0 Y( l/ e) P+ v5 `# L) S; r5 K
$ f! V; G& h% i- q3 q } . `. b- U8 T2 K
}
+ s w* ?8 D1 G, v6 i6 Q" T$ Odocument.addEventListener('keydown', keys, false); : J- f5 N% a: a V; t$ R9 c# @6 H
GM_registerMenuCommand ('Clean Hide',
8 H, _9 W" i! l+ F6 `: d6 Ifunction(e){! Z6 u9 t7 _% M$ H
CleanHideObj.on(0,1)- G; E& M" g1 c# E- ]. ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ e' K4 c. s s: h$ ~2 f$ ~});
! p" h: k; R& P! ?+ Y8 H7 a |
评分
-
查看全部评分
|