|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 c) T, j/ G/ D0 U3 E
. ?& L2 W8 ?% J4 `( c2 `6 X# ^
火狐插件,用猴子; k0 q' g# |/ _/ {2 a" o3 G
# h, u% f s/ o, N& n! W2 Vvar debug=false;
/ F& ?( C' j8 m5 B4 s5 avar CleanHideObj=new CleanHideClass();$ B$ j) z% m$ n8 b3 A8 T
, N- q) s+ X. ?. t, V
function CleanHideClass() / ~1 F$ [) v) Z" v
{ : [1 |8 r2 m, T+ L* x. {. H
8 V9 c4 J1 h' `& z* O. s
this.on=function(id,bMZ)8 l! h5 C0 d$ N8 A( ^' J. ^
{
/ ~3 \3 M) B3 |0 g! r0 O, p / S* c! E( R# f+ d9 T$ H/ X
if(id == 0)2 P3 G2 t" q7 u+ V% L0 w% d& z
{
3 A k& O3 t: C var page=/* document.getElementById("content").contentDocument */document; : K: X! P2 C' ~9 ]! ]
this.RemoveHide(page,"span");
9 b. F8 q, _# h: M% I. U, T- J this.RemoveHide(page,"font");9 `# X5 Y. ?/ p7 a/ E4 s
this.RemoveHide(page,"div");4 x: M: u; ]# O3 |' s& Y) x6 ?
this.RemoveHide(page,"p");
$ y5 ?9 W6 l* O {
0 ?" k$ m; m! G1 g }
7 \. X$ u- m! L5 O3 G
- d1 V$ [, A4 A5 [" i }4 S' m/ M( r/ }" P0 q( m+ v
this.getobjstyle=function(node,prop)
. b3 t1 d0 b p {0 E0 z# v7 B7 }7 T3 v
try6 L/ [* C0 c+ m4 W4 C
{
% S' L w, Y i0 _; [0 ?7 X- \' b0 h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 V1 Y- P2 d$ e' u0 p
}5 f# U0 K" h- A
catch(e)
9 D( p" b E4 t8 v3 @& z1 x& k$ a {
/ l0 D. h% V; i) z; D# }: \ if(debug)1 J: O% ~# w$ s7 |
{" b8 r: m: o9 c& ?
alert(e.message);1 [! Z3 x8 |$ U4 B5 f# l5 i
}
~6 c) r' v* j, ~7 E' t1 y7 C
8 a/ V* D7 o- w) U- g return "200";9 J8 U; f4 R, {; L$ c% A
}/ M! i8 j5 ^- E: u
}! J' ]& s M. E! ?+ w6 S& S! S
* F ~. M# A9 y1 W }9 ~( ] this.RemoveHide=function(page,objname); @3 J# M0 U. t3 ]) q( O
{
, p5 w8 X2 n: |# ]/ o" U# K try% q. |+ C O& V: ~ S
{
* Q) F" Z4 @+ U' t; L( D/ w! {( B$ ? var minValue=15;/ m7 U0 ~# z+ a' a! g
var objs=page.getElementsByTagName(objname); 2 Y8 S; T* m* O; K
. ^2 H5 R; l* ^
if(objs.length == 0)
! a% s8 y" [- @% I/ @. v& {1 Y {
. T0 @0 ?8 ^0 d6 r if(debug)
% P" V. ]; x& } N: D7 A {+ d5 o. c/ O( t$ e
alert("no object found!:"+objname);6 c, `0 E6 R& e/ H) f' g+ K6 v ^
}- @, e/ S. Y8 A0 _" N
}9 D* W8 H* ^# _& q
else! v, D1 G4 W) o- q& U$ x5 w
{
4 _; g# O8 m% a, Q ) u; O% V/ I2 Q7 u& i; i
for(var i=objs.length-1;i>=0;i--)
" b" \0 |0 B# S; ? {
, a" J8 x. W( S+ [: q8 X3 X, o; f var node=objs.item(i); / R4 z x- ~6 v
/ `( l4 ]- X& ~9 @- k' p9 I
9 F4 }! o& ~5 Y$ G: X if(this.getobjstyle(node,"display") == "none" ||" {/ M0 {+ F, h' \ l5 L
this.getobjstyle(node,"visibility") =="hidden" ||
9 @! z; V9 t( ] N$ D4 E parseInt(this.getobjstyle(node,"font-size")) == 0) * Z) ?! s8 E0 E
{5 `$ d5 E8 _. N+ s' t4 E0 i
if(debug)/ U$ ~) W- s8 k1 @2 q1 J
{
. ?- }# ?) V9 k+ h3 M0 G8 u/ @ alert("remove invisiable!");
; j5 i- }/ a0 H }6 I2 u' k# w8 `$ n
node.parentNode.removeChild(node);
& S6 k% |( p4 V3 w# N * L1 W, f/ S- l4 z- }
}- o+ E2 c2 s% @' C2 |2 n+ s9 u/ [4 N
else % a6 ~/ J2 r+ d1 T1 l: X4 a2 l
{3 T p+ W# @5 p& z; F
if(node.parentNode) : }- m8 X! G$ Y# A. P; r+ e
{
- M( i1 t5 ~) a var orgNode=node;
( p# T. s( C& V* L ]5 r var orgColor=this.getobjstyle(orgNode,"color")
. N4 c/ m4 f/ m- Y! H; E3 k4 l var orgRGB=getRGB(orgColor); 3 ~2 G9 r! q! ]/ J7 b6 Y
6 Z! N6 O4 W6 q- Y) P1 n var parentNode=node.parentNode( F/ ^9 I4 [/ h ~; Q; ?. J. R( }: W
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 {8 x0 W/ H/ F- O8 s
3 U3 C3 e/ g& i3 ?: v: l2 D8 I6 }) |
var isLast=false;3 `- H' b# [! S
- H$ r; `% {% q
while(parentBgColor == "transparent")
/ X. H# J. |; E( o& Y' @% p' L5 Z {
4 u. d" H6 k) c" t( K% A; A 9 P. p! N0 |* U, U2 u+ B
8 `/ a- O5 G8 k' F' Z( \# ]: ?
if(parentNode.parentNode == null)
3 j: L3 t. I( S& c% M {
$ A, ^! F' x* V7 M* h J' o+ F0 _ isLast=true;
) {& s* j$ c" C, Z, K1 g break;
4 B4 r( }6 W6 Q }4 @1 A4 J8 j' [( p$ U2 P# h3 o1 h4 [
parentNode=parentNode.parentNode;
! o: J' f! T" G4 o }9 Y parentBgColor=this.getobjstyle(parentNode,"background-color");
; Z. \$ j# Y. k6 } g
6 ^! N% h @/ n6 H if(parentBgColor != "transparent")
: M) q8 A6 Z) D0 H3 m1 q {) ]5 T7 [" e1 F/ W# E% i
break;3 u* ~, x0 J$ [7 G, t+ d7 E9 N8 K
}# Q q- r' @1 h' o: F7 F( G
}
8 o0 k6 r7 Q. d5 U- O1 F2 Y# C; L if(isLast)
1 T2 |) _( W# n Q {
8 R. |# W# q }4 {9 [% p3 ~ if(debug)
) i+ E: G7 u8 S! a, v {5 s+ ^6 @7 h/ O4 \+ X4 b
alert("last!!");1 Z$ I V- p8 W& n# l9 y9 U
}: d% B5 m9 F/ }9 p4 g) j# G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 U2 w6 {6 Q5 \( I9 O5 N {
- L9 d7 b4 c5 l2 I) m" R/ ~ orgNode.parentNode.removeChild(orgNode);
& M, i; ]; T: t' }, q }' ~* m; d, F$ w+ l
}, d! X# V" A: Z5 V9 c5 z
else
$ v, c3 f N. x& }1 R {
' w/ R5 ^0 g+ H; J7 h0 o8 f k if(debug)
1 g3 ]# `- B' Z/ W- Y {4 W6 r$ Y, U3 z; @) J
alert("compare color and parent bgcolor!");4 y+ u n8 Q; C5 |
}
0 L! M C: t( ~* G) \; ~ parentBgRGB=getRGB(parentBgColor);! n( J, Y; ?3 |7 b$ k0 b0 G: o) r: F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# H3 R# {, Y E7 N
{+ n2 L3 j6 T4 p! I) ]! b! c
orgNode.parentNode.removeChild(orgNode); 2 x' d. m+ B# j& Q8 ~, J/ B
}1 w: i. y% z" {& I" Z4 O( s) ?
}
1 ]9 M2 a. i8 I- L! g }" y2 M7 J9 E; y, S
}3 ?- T; E) e J, q5 V
} o1 Z4 S: R+ f8 W/ O( r4 c1 o
}
6 |9 Y" ] O0 R: @& X0 ~5 k 5 b1 f; b) K$ P8 _! v
& V! d4 |& u5 T+ M/ D8 s1 U var itemFrames = page.getElementsByTagName("frame");
/ Q7 o) D9 Q; \+ c+ e6 a/ G var itemiFrames = page.getElementsByTagName("iframe");1 @+ o+ ^ c1 j H" n( d1 a/ @6 m
5 U7 z9 l2 x8 `) e( g/ O# O var frame, iframe;
5 G" K! f0 r0 G4 n8 Q& L# ~( M if (itemFrames.length > 0)
% T5 Z" i3 ~% E! e2 t {# R. _- J( G) ^/ |
for (var i = 0 ; i< itemFrames.length ; i++)
6 h( ^: l9 s% e2 V* c) ~( X$ h {
: R8 Y* o" M/ U. A2 m frame = itemFrames.contentDocument;) U9 o% J3 W& N, C# f
this.RemoveHide(frame,objname);
. L3 @* |* o3 C' F+ s }- S2 U: h1 x) P2 s
}5 f; R6 k+ {& Q, Z
if (itemiFrames.length > 0)1 ?* `/ G" d: L
{% E! b4 `% g3 D
for (var i = 0 ; i < itemiFrames.length ; i++) / c! ?9 G8 N+ f% {, _+ W7 _& [
{
5 c @3 n6 c' K iframe = itemiFrames.contentDocument;
) ]' W a" ]5 ?1 P9 E this.RemoveHide(iframe,objname);
; E/ b! m0 E. @0 a; J7 v3 I* G0 g) a }$ Z Z" ?$ F: f2 m( T% F% M s
}
: G. \2 @( a4 x: T9 y! D) d* Q }
d3 T+ X, H$ G catch(e)$ T0 s% m% @# a' W4 {1 A, r
{
5 I2 K# C- l( F% i5 j if(debug)
$ u$ B# ], o1 w( S {
( F& L- U( W- ]. X# l' b alert(e.message);( w/ y8 b6 c/ P2 x+ J9 d
}$ `! a: ^3 Y6 r7 D) P4 Q2 \/ {9 y
}
, M$ \1 O1 G# u3 t6 l7 _% E }
, f1 d! K/ g$ n: ~# D9 h
/ f; S' P0 j" ~0 m}/ V: ~6 H& a6 a: Z; I6 v
) O' m8 `/ ?9 G ^. [
function getRGB(colorString)
* L# d |, Y3 n& |{
Z( F+ {/ ]$ m9 c3 q8 Z, R; G var RGB = new Array;7 @3 F7 Q/ F0 s
var tempSting=colorString.substring(4,colorString.length-1);4 u; @, F; L- l3 c
var tempArray=tempSting.split(",");' H# V% b# }1 ^. d
7 ^; ^9 V0 w6 A' x6 U! M
RGB[0]=parseInt(tempArray[0]);
8 j, T z4 X5 C$ n5 Q+ m) V' { x RGB[1]=parseInt(tempArray[1]);: a1 H! }) M6 w$ G D
RGB[2]=parseInt(tempArray[2]);
5 n( ~, m$ G! i+ o1 l
& B$ O. R' d, Y9 j$ y4 f) Z c% b return RGB;
' f+ f+ G" J3 L}
& Z/ v) d6 k' `; T$ s# Mfunction keys(evt)
& H# |; I. q* }, ^" B6 v5 E+ \ { 5 [( C# ]; L* v4 o: f. L {+ |
if(evt.ctrlKey && evt.keyCode=="81")
6 s* ~" w3 O. ^# p8 C9 I9 c9 x; I {
) I0 D$ H \, h$ V( A* J CleanHideObj.on(0,1);
4 u8 f; [' t- Y' Z) b0 J8 z; p alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- V, ?; b P$ ~% I2 s 4 n! {6 F# e- e: h+ @" N
}
" V# k2 s! Z L; d }
6 g$ ?+ O9 w, v# C* ]document.addEventListener('keydown', keys, false);
- K0 l, r3 Q' P/ Y1 j1 F4 m1 KGM_registerMenuCommand ('Clean Hide',
2 o) u) [1 a( N( @2 |; Ofunction(e){' E- h; s7 X$ T8 q
CleanHideObj.on(0,1)6 }- R% H7 i, i7 i1 g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ @* I' T, o# ^$ E: d});, j9 E z) W1 ?7 x" d
|
评分
-
查看全部评分
|