|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 l3 f6 p) w+ B/ u% K9 x* ] Y
/ i8 m* @/ F+ G! |, R1 L' B% j! w火狐插件,用猴子 Q7 |% [/ O d) u; E2 C! V
" `) |* q) m; C4 X9 y8 C+ D
var debug=false; : @' e" ~6 |/ d; W4 C w# S
var CleanHideObj=new CleanHideClass();$ o" c* G- I) e% _$ c
8 [6 ^7 I ]; d( n5 Jfunction CleanHideClass() - n! R! J4 M" P$ j* c0 ~. n
{
. A3 A w' b) I1 I8 X# g+ {9 X 6 I" o2 F I( m! ^! w, z
this.on=function(id,bMZ); d' g) U5 i6 `" W" u- u& U4 Y
{4 s. d& ^2 F" } `: z6 o/ O0 Z
7 t- D3 m5 }' `. c" G3 q
if(id == 0)# D: R# h9 J9 A* ~: u6 X# e9 e" `: O
{
) z! n6 k3 q$ \+ n" s% q; I' ? var page=/* document.getElementById("content").contentDocument */document;
. }3 V8 o% ~# R' q0 l$ [" M0 u7 i this.RemoveHide(page,"span");
) N! a g j! O1 f5 I0 V& N/ { this.RemoveHide(page,"font");* Y7 I* L4 {5 r2 N( G
this.RemoveHide(page,"div");: q% |# R d5 A6 ^' p% }2 e, _$ W* M% y
this.RemoveHide(page,"p");' M* v6 A5 m+ _
4 S% s8 w( m! C$ c }
) X/ [6 K& R& @3 h " i( q6 k8 }% t* B' r! n
}
% E+ T/ V% n) V this.getobjstyle=function(node,prop)
7 ^2 V4 ?+ s5 H X7 ^9 S" _ {0 s+ m X0 u. I# C
try
4 d7 V' `0 U" p+ i- S5 Z {
9 M4 ?) u" u4 ^ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 E9 f1 }" i( X: z! f* @
}
# |! q; H" {' w% g0 R catch(e)3 J' C* D+ W5 x9 \) d1 O! ^6 ^
{
9 Z+ g1 a4 {! S1 ^& l: ~ if(debug)
' m. i5 C$ c' l2 l0 [/ o: d {
+ X' @) k. [6 D+ n% |; k alert(e.message);
2 W0 f7 ^; |4 O5 h, w }# ~* z: |4 o2 B! ~) k0 V
) Z$ q j% n s. n) R. u) p' T. z. h
return "200";$ N& N4 X# z, k
}7 v3 ?4 p$ r( O
}& w( m! E# r4 o. M
, M% D: b$ i- m7 g2 Z
this.RemoveHide=function(page,objname)! A/ f; n5 @0 m! H8 i
{
+ ]4 V" e( X1 Y2 o try
9 ?8 `+ n6 C% N! _! L) @* i* p# N6 b {0 j; X9 W; L& U/ y6 ?8 B4 ]: U9 r
var minValue=15;: E' F8 u) {$ `( N- u
var objs=page.getElementsByTagName(objname); $ I& u7 |) }2 s ~( q/ ]2 P$ m
/ T, M L) m s! p$ x2 i if(objs.length == 0) / W9 V4 j& d. R
{
5 g |" c3 f# E; D# F! l if(debug)
0 f' e& [- C9 E8 _1 B {/ d( x" y+ u. e0 j$ h
alert("no object found!:"+objname);! L. u3 z' `5 x# t, t/ b
}" _% W1 F1 B7 A2 U! {/ H6 l5 o7 w$ F
}
" L% e7 }, Q0 c3 P9 P+ H else
. h* v ] }/ s {( q9 H$ t1 e' ]
. H" x( X, q! B0 O7 }
for(var i=objs.length-1;i>=0;i--)
7 n2 A# X$ s7 v: E/ w$ l( }2 h) V {! v8 y# D0 U- |8 N! g8 C8 n
var node=objs.item(i); & v. l0 s9 I! F9 p1 F
# r! U: B. ]& @8 n' B3 z9 ?- n
8 F& h- s: J2 \ I if(this.getobjstyle(node,"display") == "none" ||! a9 T7 ] {3 w
this.getobjstyle(node,"visibility") =="hidden" ||: s& w% h6 S: k7 V4 ?3 @
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 b& a; e- q, w+ @1 _: A( s$ W
{6 |9 q" p- c* r& g' f& F7 {
if(debug)" F( y+ Y: T0 K: s' v! z
{. _9 I& X$ Q) J: d7 y% s6 f/ k
alert("remove invisiable!");+ P" A: F+ f: y/ u6 s' B! G
}
. b% e, w0 T6 J/ | node.parentNode.removeChild(node);
+ R. K+ Y4 V" [1 V/ z) Q $ m: w7 E! Q5 P+ Q
}
1 x* S: K+ @, i# ]2 d; f! i else
0 O! T7 A; ?0 y j {
$ u- n4 O% ?: L) K) u' e if(node.parentNode)
" _" \4 I- y. S6 U {
, `# V% n0 d/ h0 } var orgNode=node;4 z1 J% W3 j1 @
var orgColor=this.getobjstyle(orgNode,"color")& f4 i- Q. S7 W- g# {( E- O0 r
var orgRGB=getRGB(orgColor); % H3 _1 `+ C# Z5 G5 h
4 ^ _# j' z* I4 X2 J var parentNode=node.parentNode, b: I- g9 k5 j; Y9 i
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 d F- V* p+ G* u/ L* N0 Q( W- L
% g! E3 ]/ O% ^& a var isLast=false;
( }& \ n. p4 u; O& x1 C% n
8 n; e1 y4 A5 {' s: l* G! p, t: B while(parentBgColor == "transparent") 1 V) k% n7 z( u7 y
{% C5 S7 ^5 A4 {4 ]
0 e/ X1 N3 x' u. n" [2 ?
4 ^, e5 x6 [8 x- q7 J" K) V
if(parentNode.parentNode == null)
* F' Z4 p! K5 @; V- e {
7 v3 T ~' c6 }6 [ isLast=true;
8 \9 h: @0 k% f6 \4 @) Z break;$ a+ {9 @0 O' Y8 _
}6 `# M( Q: R O- L6 C2 N8 S
parentNode=parentNode.parentNode;7 _% X( N5 p2 y2 `: h0 x% ]
parentBgColor=this.getobjstyle(parentNode,"background-color");) f# W8 O- p: r. Q3 k3 u
( I# U& s6 R8 _# X
if(parentBgColor != "transparent") 2 ~9 P1 T, W) |- E5 o; ^" ]) P! C" t
{
" G- ?+ o' P$ u" r- ^% I( X break;
% V( |4 o& S5 p s }' b1 f5 u5 p+ b$ @, _ B0 J
}# z# M) _ n4 ~
if(isLast)
* c+ ^9 t1 j7 _9 x0 o' u0 Y$ F; s {7 K& F j8 g$ B5 v
if(debug)$ y0 ?! C7 M8 o
{
5 o: S+ E+ |# }9 w- a alert("last!!");
5 b# G0 d- t+ }! F$ |/ w }
9 z+ q5 n+ j: X3 X, v4 q. z, \ V& h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) V0 m. z4 f% F" F# O+ m! A) @ {
1 X) ?% `$ K& j: G; q orgNode.parentNode.removeChild(orgNode); ) \1 s L1 E0 n0 ~: Q
}
+ ~7 E0 @, f7 p }& ]* _$ x) Y2 _ b
else
8 ^5 o8 f4 ]/ [4 g {
3 z) N1 n2 E0 |1 b3 U: T8 g7 } if(debug)
: }6 l& @: Z/ w1 o$ _# Q+ P {1 g6 g" d- L2 S. U7 e- ^4 P% w! ~
alert("compare color and parent bgcolor!");+ L7 n2 b# V c$ t! n0 q6 J
}
5 w# \" I1 y4 J$ h parentBgRGB=getRGB(parentBgColor);
4 l+ u7 c2 u8 ]; f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# a1 c: Q7 Y" L+ J! h% p+ U
{, w7 C$ K( T$ ?- L
orgNode.parentNode.removeChild(orgNode); / y$ v) G' o" W4 K/ u& d, Y
}
o' J1 E( J& r }
0 n# \" Z- `# Z: E }
& x$ u, f2 A2 Z2 _1 r5 n2 ` }( {% e4 } J& M Y/ L' `7 p3 w3 N# o
}
" K5 Y4 o4 z! A, B8 c% E }
( \& l% P0 Y+ m' s5 N& H% @ 0 k n3 O% Z' d, e! t* S
* n N, T# b" X- C+ i4 E
var itemFrames = page.getElementsByTagName("frame");: {: e- G& h" H; k( S
var itemiFrames = page.getElementsByTagName("iframe");* g' `* c* a: N. X
$ U- T( T& {& A8 n8 r* u9 K! {
var frame, iframe;6 y. A5 t" N$ a& [2 L4 V
if (itemFrames.length > 0)+ U2 i1 b# E- A9 x6 s
{
+ v8 V. D; v' f0 K8 Z. i for (var i = 0 ; i< itemFrames.length ; i++)
6 ^+ h$ f9 V. N' [ {, B+ A. h$ Z8 R( M( `0 ^7 N7 {, a
frame = itemFrames.contentDocument;
2 I& q! J) b8 u: U( F% w this.RemoveHide(frame,objname);
+ ^. s" X; \+ ] }
* I/ ^0 o3 p( q7 z) _4 D8 M }
1 v# r, Q4 t$ @# j. p if (itemiFrames.length > 0)
" r" t9 H# j9 n9 L# o" i {- F9 p2 N8 ?, B# ?; v. F- j
for (var i = 0 ; i < itemiFrames.length ; i++)
! c, W v- T6 S9 M {7 D! y1 r- d0 t6 D: i+ k* X' o
iframe = itemiFrames.contentDocument;" L1 ^/ i9 ] V& O5 S. o5 i
this.RemoveHide(iframe,objname); . E+ W7 u# o" e; A3 P6 v
}
' Q+ E) O/ J" g, d8 n. D& o }0 M7 v8 z, r1 X, g/ u: r& P3 |
}0 J1 ~1 ~: H; h( h3 Y4 r
catch(e)7 W# a, L2 f$ l: J& w: y
{
0 M) i$ j2 i6 G. X* f' l) \+ G if(debug)% Q0 i+ f% w" }( ]! |
{+ c! m; E1 X* R) d' [; J9 k
alert(e.message);* y' w" k6 ~7 M) N
}
" u% m6 c {" k' N- P G* r }
! g* K& ^/ x, b# V }8 \- Y, ?( Q) b9 X5 B+ z( ~" `* }# A
; W; l& b! M+ W! o
}) h+ d8 d) S! y3 D) z8 b( O% I, V) R
% J* B9 g9 f+ U9 H8 O. A9 Hfunction getRGB(colorString)" I; c; Y: z O; {: h& D
{$ ~$ C1 }: p% i0 X: f2 T/ O
var RGB = new Array;
3 r5 }% c2 x, r; w* i9 K3 w var tempSting=colorString.substring(4,colorString.length-1);
+ U; Q9 F& [: _: N) s var tempArray=tempSting.split(",");
( X+ ?/ L5 ~, s# j$ B! Q8 A" T3 Z# T3 y
RGB[0]=parseInt(tempArray[0]);6 r s; s3 f j, n8 T; P" ^. [1 L
RGB[1]=parseInt(tempArray[1]);
- j& g) Q& Z* ]0 x3 f* a RGB[2]=parseInt(tempArray[2]);; O i# ]5 X0 E$ Y3 {0 H
% `0 C5 L0 o, e& l, d, j return RGB;
8 O3 B: ?4 R) M& H}
, u; A, F- I- r) N& V! [" efunction keys(evt) * _2 b/ U# i* s8 }: ? q
{ ( H! { H! v" m8 I4 K9 G# c' Z% [
if(evt.ctrlKey && evt.keyCode=="81")
& q) q* E. |! R! A/ ?8 J {
# X5 A$ {9 _; e" F CleanHideObj.on(0,1);- `* O7 ]# U( Y! B* K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ u8 R) x: R7 H# w( d
' y8 I9 H2 F7 U6 q7 M }
6 O: a4 c- W/ S4 T' ?+ p; m/ k6 ^) U4 z. q }
% x$ l/ w: v* q# w+ c; z% U. Zdocument.addEventListener('keydown', keys, false);
5 p @# l! A7 A1 `) LGM_registerMenuCommand ('Clean Hide',
$ x5 b$ U1 X9 I) h3 L: L$ Sfunction(e){& c+ c6 X# k- c l: e: S
CleanHideObj.on(0,1)
. |/ {8 Q" G R7 j7 {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 `4 q- g5 F6 k1 p. P9 u});' `: t8 l, @7 D) P5 O" p4 `; y& N
|
评分
-
查看全部评分
|