|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. `5 Z, V k! l! E' m: N/ ]
" D7 R- ?. ~( W火狐插件,用猴子# m3 J+ x/ H d0 O4 Q
1 e+ Z- [5 Y6 v2 Tvar debug=false; 4 X8 Z" A" q! E9 a4 H* o" S
var CleanHideObj=new CleanHideClass();' s! E u& D% D& v. b: D1 ^
6 B. m/ M/ i* b, sfunction CleanHideClass()
9 O8 _% W( w' s# d4 X+ l{ 4 h* K. E( b, \) z# W' b" A
, u$ @2 n/ {9 H) \0 ]) A
this.on=function(id,bMZ)' N5 s. @% }% o; @. `$ z- b
{
* e2 S( N' D5 \ & Z7 l" V' r- x7 m \4 Y
if(id == 0)
- u) R$ w2 u4 C0 h {* h$ N: R+ F' y; I
var page=/* document.getElementById("content").contentDocument */document; ! p0 P7 k! Z P" P3 _
this.RemoveHide(page,"span");" {2 Q( ~# ?6 o7 z4 q2 i
this.RemoveHide(page,"font");1 E3 C& {% m$ w( b" J5 t! s
this.RemoveHide(page,"div");
- O% u5 P& s$ e0 G% t8 ?; e this.RemoveHide(page,"p");
' o5 r0 R" ~8 |3 l* D t& Q. Y; g
% C# E) a \& t Q& r }$ u% z( i! V6 L' _7 H
1 H6 K7 z" u& k }$ N" r" O% F. t" M( M
this.getobjstyle=function(node,prop)& R5 g- \" m& F
{2 P0 i; q/ K2 D5 _2 E' |) l5 W2 R
try0 O$ g, e+ r; Z$ }
{
7 {. p- @! B V3 r) J; ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, b; Q+ c2 g1 T+ R$ F
}1 R* _) b, Y$ M) B7 a4 V" p
catch(e)
# U5 a" s- R- {' I# R {: b# g% k6 m5 {+ I
if(debug)
* f! p2 W. ~ A% h0 f- C5 ? {
, x$ _" K- S* B4 X alert(e.message);7 q: |3 W- Z4 D8 k
}1 H5 m% w2 r8 G% v% i6 a4 M
- T$ e- ?+ ~$ r# S4 ?/ F
return "200";0 m2 S X+ H+ @1 `, } F$ C& o
}
) t/ e5 k6 o+ a, V4 k }
0 p8 j N2 d. {6 j
. N4 V2 j% o2 e# L this.RemoveHide=function(page,objname)
; m. ]5 u {9 D {+ W2 g7 D$ _: S
try" g6 a! b( Z, M! O( N
{# H% N. V# j3 {' d3 K, g* a) w
var minValue=15;% D; \/ h4 h+ r7 a. S+ v
var objs=page.getElementsByTagName(objname);
5 h0 ?% |% v& Y% v
1 h9 h" E! Z. C* D9 h* w6 B5 r if(objs.length == 0) : s P ]# w8 Z9 B/ u3 i$ x9 S o
{
- I4 ?# t0 U+ p7 j" n9 s8 K if(debug)
X a+ q: z; Y. y2 V \3 z {4 ?; f; W' I, [4 O3 R/ k8 ?
alert("no object found!:"+objname);+ L: {2 g- D* F( ~! y
}
/ {) G& h* }/ c3 z! O" w }2 l w1 [5 o; q3 _
else
- U# b$ `# {7 @( v! e! ]- Z {4 Z+ e: v& X9 u& a1 Q6 u( C
: h$ \' p' N; I2 P
for(var i=objs.length-1;i>=0;i--)
" c& y- w' c# ^% Q: t {
( F2 E# p5 |) e; Y8 P var node=objs.item(i);
% m7 _0 l r4 R$ S# ]9 h' j $ R6 Z" j6 D: F5 @) f% [" e! g6 V
# W. V( B4 k& V. t7 N* x if(this.getobjstyle(node,"display") == "none" ||; V* u( d+ a' u! C
this.getobjstyle(node,"visibility") =="hidden" ||
; g* |0 r* @# R# i. Q' g3 a3 n parseInt(this.getobjstyle(node,"font-size")) == 0)
$ g% j- j. T% p' @* P, p {+ A/ _) v. |- W# D
if(debug): T0 t- S. i! d" i1 o7 _$ e
{
6 ^. Z' d4 q5 Z2 [ alert("remove invisiable!");
; C9 u( V4 ]9 F }; K8 B+ v0 a; b1 p6 u Z* x
node.parentNode.removeChild(node);4 a: _ k4 m- G6 z0 ]$ O
# i7 z* i8 ?7 j; S* @4 u }
& U/ f/ ]% I% [, Z( @5 Z' `' K else
! V4 m; S. y+ G/ ^- f {# H2 g q# c* `& {
if(node.parentNode) 6 ^' t5 x# {# `. B; z" x
{) l9 V) C$ l# N* j7 b6 Z
var orgNode=node;
2 U7 ]* b2 G, \$ V. j* c var orgColor=this.getobjstyle(orgNode,"color")
- i5 X0 W9 S- T8 i# ^ var orgRGB=getRGB(orgColor); $ D, @6 ^' b8 S' ?
! d( C9 t! @) l1 D1 T
var parentNode=node.parentNode
+ V1 ~3 M1 c$ W var parentBgColor=this.getobjstyle(parentNode,"background-color");1 l4 `# b( Y1 k# d# z, P7 n; i
" Z2 ?; Z, M' c1 @6 ~( z8 b var isLast=false;
8 I0 C3 J3 {; y5 K$ f0 ~% \ : K! y8 k; X2 Y" f$ H
while(parentBgColor == "transparent") M# x( |& i) B: c) C3 L6 v" j7 ~
{
0 \4 X1 q# {6 l, c" a2 a
: Q8 r/ A: |/ c7 B, ?( d6 A; L( w
9 x3 H! Y& R3 G* j5 ^: ^ if(parentNode.parentNode == null)
( l2 H/ z+ x; Q4 n' B( R% g {9 w5 W! v* i5 n( L: D4 _( S, f
isLast=true;0 a4 k7 o3 u" }9 U9 b5 D8 l* I' ^
break;# H* c- P4 O& d% n1 y
}
% Y* l j3 _- Y$ h8 r parentNode=parentNode.parentNode;
7 Z5 x- n4 f9 f parentBgColor=this.getobjstyle(parentNode,"background-color");
# b3 m" f# y. f* `+ j2 B, X
3 n/ f5 P( G- ?8 O, w if(parentBgColor != "transparent")
) X; ? r# I" C. f; J' E {/ e0 d% A* }! o" a; F+ ^1 P
break;
* q; p$ x7 I9 B! M/ [ }% S$ J# e1 B" t1 b5 c
}# c: W2 h" W& L7 |5 b2 Z
if(isLast) ; i( L% D9 J+ W" h% E I1 a
{
; u/ E& H T5 {* v; M- t" R if(debug)
& l0 o6 i! }0 r) V0 m. d8 t5 _3 x {8 F% p, V) k1 |! P Z: V6 S" _
alert("last!!");1 [; [; M) U1 B
}
# h" ?; A) a% i+ J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: D, [4 {1 D1 u: R$ Z6 o {
' u: b- c! f2 y' f orgNode.parentNode.removeChild(orgNode); 9 K7 c( o+ f+ \' X
}
" x4 ~: M9 X2 V) g+ ]6 U8 C" K }
1 h7 ]+ P) H; z5 A. Y else
; h2 z a5 |- o" Q; ^5 W! S" i1 ] {1 o: t& v V. W: ^
if(debug)
/ C& F# t$ L7 u5 q) R {$ I {+ v0 R& Z2 p' J
alert("compare color and parent bgcolor!");
) A ]" K) Q8 \$ z6 t t }
, l4 k; \# _& x8 l$ @5 h: J parentBgRGB=getRGB(parentBgColor);; c! } W( P* i, V( ^6 k* | r/ S* b/ a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) f& m2 C9 k4 H& P
{2 ~4 o0 d$ `/ E q+ p! D1 }
orgNode.parentNode.removeChild(orgNode);
) x0 y% b, P. Q) X5 |" e9 O6 e }
" M2 g5 h+ m6 ?$ W2 e }: f4 ^9 v7 i" M+ g' G
}
B. I' K2 A+ P) p: ] }4 J/ ]/ j3 w/ _2 \) b1 y
}
$ Q; F8 L/ H5 D) j5 Z* c }) N2 {( @+ H [8 |. V6 i
7 u9 N. m. V4 ~: D5 k
3 ^/ P7 u2 _: ^- h) }5 P' D, ?4 _ var itemFrames = page.getElementsByTagName("frame");# v4 ^7 Q I, ]! Y; g
var itemiFrames = page.getElementsByTagName("iframe");1 x+ W1 P# K# m& U1 r
7 l& l( C {7 q" y var frame, iframe;
, R( G+ S. g7 y! u3 o if (itemFrames.length > 0)9 J4 u4 o( l# F
{& `. u) t* X0 H+ D
for (var i = 0 ; i< itemFrames.length ; i++)
" C Q+ q; O, O1 b* X+ n {/ |% w7 {; q- M: H
frame = itemFrames.contentDocument;
' E* D4 j" {' q" x: v( g& f0 P5 Y# y this.RemoveHide(frame,objname);
$ r1 ~1 Z$ c5 x2 Z }1 {0 h' K+ ^- a1 P9 d* }% f' U
}# j6 I6 U/ U' X ^; L& h
if (itemiFrames.length > 0)
: W7 ?; ?3 T) p# o+ { {
; ~- ?; g, M1 K4 y0 D2 ]$ u; k for (var i = 0 ; i < itemiFrames.length ; i++)
) {$ U$ W0 x8 S4 k; B* [ {5 W* Y+ L* {- `7 z
iframe = itemiFrames.contentDocument;
1 |/ h7 g$ m7 }% N( x% Z% C! G this.RemoveHide(iframe,objname); ( ?6 h, P' `7 s+ K& o9 W+ _
}
( v7 |2 U: U; o8 L) L7 d5 x }) |3 p) V- Z/ z/ p! S
}0 k5 M: ^7 `7 L/ Z! c# t \4 M! k8 f, v
catch(e)
% ?- j( U# Y5 L6 q- z {7 d$ d5 g* T g& ^& L9 j$ u2 M3 n
if(debug)
7 B0 k r% W- x( f; a) ^4 B5 F {
$ i! o1 T7 ?& Z; {( c alert(e.message);9 j: |' Z' ?' z3 q( e* Y, C
}' V: @- X! A; o" h) N) G! K( \
}5 e9 h6 D! c# D
}
+ I0 k& h3 g8 L8 N- g- j
$ D7 E2 ? ?/ I}
- u! ~1 ^- _0 h1 U# n" e! A5 n; \+ D8 z5 e& [
function getRGB(colorString)9 {) I& f0 l# T
{$ \ q: x; w1 {1 D/ L
var RGB = new Array;3 S$ A1 Z) |; `+ m* I. E) }" a8 D
var tempSting=colorString.substring(4,colorString.length-1);
/ `3 F2 b. v' h% h/ V7 d i var tempArray=tempSting.split(",");
- J- C9 T3 Q9 K
9 p' d1 L% u( I6 Y. K# p1 | RGB[0]=parseInt(tempArray[0]);
/ X; E: ~& Q" F w0 _ RGB[1]=parseInt(tempArray[1]);: E0 ?0 j1 ^+ U% a3 e3 v# v
RGB[2]=parseInt(tempArray[2]);- F, s2 G- A7 Q0 `* |4 U, m+ k
7 K5 z# X$ K) L/ ~ return RGB;
& H) g! v( Y9 B h5 J! d* Z}
& W' s* v/ l& \* [function keys(evt) 1 Z, d# P$ X2 |" w+ z3 q9 B0 s
{
/ a$ x9 K. L4 f8 ~' ^7 d1 w if(evt.ctrlKey && evt.keyCode=="81")
. i) u, `; p" V" ?' L: l% {( S {
* k/ S* B! `) [; O& R# f$ o- U CleanHideObj.on(0,1);9 N" n4 j; R- L2 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 z3 Z1 u. q, T }& e% t
1 B; s9 z* E2 L. j }
$ v4 ?( j! `5 ], v; ^: G: [ }
. d% l$ h& A$ N+ |* Zdocument.addEventListener('keydown', keys, false);
3 C; ]1 n x9 q( P3 _' [GM_registerMenuCommand ('Clean Hide',
: z9 e# h' k7 Z1 ^" o% x. ]- ~function(e){
5 }: T( j3 L( E/ s3 KCleanHideObj.on(0,1)
& K" m' h! I, O* W6 Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% M- P8 ~# K/ x( K});+ r3 q1 Q9 W6 d/ [: o
|
评分
-
查看全部评分
|