|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 G a5 e' s5 L4 m- E& H! `. A
5 _: t5 l# ]0 P% x/ R火狐插件,用猴子7 }! S) n3 T5 s W( S4 n
# K: K" p) G0 f$ r/ U6 B R, k: e( nvar debug=false; ) Y4 ~7 U- [* o' \; j
var CleanHideObj=new CleanHideClass();
8 M) }) w: O; B* n( [! o7 i5 j& G8 e6 F9 m" B$ w& e
function CleanHideClass()
0 z) [3 ^: A$ h{ # C9 ?( x7 u$ K
- `4 Z! U/ G! ~1 c0 D& M& Y this.on=function(id,bMZ)
$ t! X3 z9 v P0 |! |2 A, G {0 l, F8 n7 w9 |+ O% z" x
8 |! o$ m6 w( `8 ]
if(id == 0)( G5 W2 j$ M8 z8 c( x+ [
{- q6 y% T$ e5 A P$ o7 H
var page=/* document.getElementById("content").contentDocument */document;
9 U2 _; t c5 R this.RemoveHide(page,"span");
, A+ `$ b# ?& F$ p* a3 b: O this.RemoveHide(page,"font");% D+ @5 }+ Z$ r, A5 J
this.RemoveHide(page,"div");3 x! P& ^3 b3 r
this.RemoveHide(page,"p");
3 E! i$ o$ G. g3 O) `, v f) ^6 i
# n8 V8 h" a' Q& X9 N; g }
! F* }$ h2 E3 @- ?3 [0 i6 u 2 U. K, ^& E5 U, |# t
}
8 U3 m0 L G8 Y+ t this.getobjstyle=function(node,prop)
# L) S" R. j2 v3 V/ D+ L% J7 A8 J7 Z {3 S* O2 m8 f9 x" u2 d: ]
try5 D6 ~6 o' ~& j8 Y. I1 s/ Y
{* K0 G9 v1 k% y( S. T1 W# E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 m* ~! r$ D. o, F
}- E0 n$ E5 h8 Y6 g# t4 G; A( e
catch(e)
% O3 o- H/ C7 l: W" r# M8 S9 q {
' H5 ^; H1 G B: f* T if(debug)( a- g! e6 G; {
{- l* a$ T6 B0 H( |5 ~& M8 o0 y8 G
alert(e.message);
* [% ^; L( w2 c; R }
7 T. q9 r% j/ W, w3 \ , Z; X: J" Z& D4 ?0 N' V
return "200";# t: K. x" _: Z
}; ^4 Q' [& `2 u
}
5 T; i9 t7 H6 U - ?) S: I. R) u+ z. ~5 f9 `$ j8 a
this.RemoveHide=function(page,objname)
: ?7 N3 R5 \2 G- p2 O# b6 e {
# i/ R5 ]4 t' F+ r% d5 f7 R1 J try
7 Z! G: V+ c+ t8 Z- Z) d( c8 ? {
& z2 K& T( D% }+ p5 k/ o7 b var minValue=15;/ F* q, e3 t5 z) c; P* u0 @
var objs=page.getElementsByTagName(objname); # s& H* O% [9 k* m( F; [2 R
7 l" M5 A& t3 f6 v8 L. T+ R/ ` if(objs.length == 0)
$ D' `% h4 ], D3 G c4 T {9 ^8 N$ u. e2 @" O/ L
if(debug)2 Q" N9 w9 l( l- }8 R) m
{- W2 U- p" C! T- ~
alert("no object found!:"+objname);7 Z* E5 g# P$ q! h0 v
}
. T+ Z. a; R7 F* O }
- g& z" ]& l) }! [9 ?6 s4 Z! ^/ p7 Q+ O else
9 P! [6 C/ ?$ G- x {) Q+ N9 [3 [6 n5 J8 l4 a9 Z
4 s4 r1 i3 K: R+ Y% |7 q: m for(var i=objs.length-1;i>=0;i--) * C8 v# G5 |" J: M
{% d6 k$ h+ z) D# B {1 k5 ?
var node=objs.item(i); ! T7 e+ C- `. o
6 S" f6 \2 L1 w, Z
5 ~# ?/ Y/ j$ g6 ]; P
if(this.getobjstyle(node,"display") == "none" ||
5 O* S t# g% T1 o- c this.getobjstyle(node,"visibility") =="hidden" ||2 Q" [7 k/ |3 n" u2 Y
parseInt(this.getobjstyle(node,"font-size")) == 0)
: U+ }: }6 k% h5 `$ t {
; W' v+ N1 r! P2 E) T5 N if(debug)/ k: z9 [ {! S5 I' d$ P v z# M4 l
{
% t3 a) l# Z$ w alert("remove invisiable!");0 K% ?; T- V/ A4 _' d+ o$ \' v
}
0 p9 e6 T& I$ o% j! w7 Y) G2 W1 g node.parentNode.removeChild(node);
3 L, g0 l1 A1 J" [
$ P! W3 T3 E1 A. g# O( Q }/ C) f: q6 A: X: R
else
5 V0 ?6 r: Z0 K2 p" P0 F% x {/ L+ Y* a8 s7 K+ Q
if(node.parentNode)
( d" q% n, B3 {) j1 M8 C& f: Z {# ^! i" x# R( A( k; j
var orgNode=node;# i; _2 y" C: g+ I3 j {2 _
var orgColor=this.getobjstyle(orgNode,"color")
9 i. S7 S4 }" Q var orgRGB=getRGB(orgColor);
7 `. V( `' b* E4 @' k$ U" l# B
4 Q y" L# Z* a var parentNode=node.parentNode
( ]$ T' m/ N0 |/ n var parentBgColor=this.getobjstyle(parentNode,"background-color");9 s2 v( n% ^8 W: q! x
1 I& P' H1 ]4 P6 i var isLast=false;
; d" P- Z! H' |3 q6 z5 d: G7 H" i
# P8 j- S* S3 }( w% a# U9 [3 K: O while(parentBgColor == "transparent") " h# S# E. Q9 e* O
{6 p1 }! B( p' U/ f
0 `( J% x1 n! U; a5 D! {9 t% O
. Y. r- I$ |+ |8 D: H+ P# C9 A' U& ^ if(parentNode.parentNode == null)
# p7 M! S* f/ [: t2 E S1 Y {
& p# u1 |( q0 `* O( M! i" v' G isLast=true;5 A& G! N5 N* b, v, x4 b
break;$ q, C @1 o% v [3 M% n
}
3 y; @1 W4 x: Q parentNode=parentNode.parentNode;* X2 M1 Z" F' @2 k. x4 X/ ?7 }. P* |
parentBgColor=this.getobjstyle(parentNode,"background-color");% A: j7 T+ b5 T- N- ]
+ e" W2 @- Q( s" ^ C( B# \
if(parentBgColor != "transparent") 8 \, n: x6 N! X7 C$ ^
{7 n W5 X' q! ~4 }& o+ E g
break;
. C# L* E/ X7 t! r& x0 U4 @3 N }
6 f3 V2 W. a2 X/ } } g7 G4 l4 u, w4 I
if(isLast)
1 S7 U8 g. F4 ^" q {
4 l# `+ ?! E5 ?7 h6 X if(debug)" @# ~$ f4 a6 h+ y5 ]% @) e
{
7 H b0 r; P3 Q; I# c8 g. m alert("last!!");+ W' I, u. T% U' G% e" Z% M
}
, D& z; r3 y5 |, v1 J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) N& N# k5 u+ ]! T {" c5 r0 K+ |; O& H# v5 o. E
orgNode.parentNode.removeChild(orgNode); 7 I! ~3 {7 h0 I( a
}
+ C2 ~& \' U+ b1 c0 b% ?7 d }
4 r) j# y. r5 Y6 b5 \& z; F else
) r7 o1 y. }/ L J' m7 H {
# U& V$ i" J" t6 X( m if(debug)
& d0 O- @- e/ t' [/ t& W {
9 n! j" S5 \! L alert("compare color and parent bgcolor!");
7 E/ v9 i% x" i0 c0 h1 X }/ D- C# A, n# I1 d$ u4 W8 ~ o
parentBgRGB=getRGB(parentBgColor);9 t0 l+ ~! C1 a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), O* M/ t. J* r
{( k d" I! V8 u- Z2 X! C. T$ s
orgNode.parentNode.removeChild(orgNode); 2 T# {* o- e2 b, _: T
}. s5 z1 Q6 J4 l' M( g- }( b- z; y3 H
}
. ` ~ t9 d& [8 P }
9 V# Y8 ?, [* u) b. C }
! r6 L+ J& g N" r7 B& U$ E }
# s2 I+ X6 j: x4 J4 o4 p& h }
3 `. r$ R( [! V* n2 ]9 E% p
3 I) _8 @6 I) A- i l. ` # ~" O4 d7 [( U3 o+ {9 H: k+ A) q) s
var itemFrames = page.getElementsByTagName("frame");% S) e4 [+ d6 z' E, Q6 b# Y# v2 U
var itemiFrames = page.getElementsByTagName("iframe");
1 y+ K2 L) ?9 m; k* E $ H' c# h8 b! U. t, S8 ]( b H
var frame, iframe;
- F$ O8 O& X% j. u q. N if (itemFrames.length > 0)! |6 a2 I# h G- `3 @$ e
{" P$ ^5 m( ^0 _& t7 J1 u# K# w
for (var i = 0 ; i< itemFrames.length ; i++) 4 n. |6 x: A" S6 ~! A! x
{3 a# Y |5 ~2 H" \$ g# ~
frame = itemFrames.contentDocument;
1 z: B' F4 ^0 O this.RemoveHide(frame,objname); ! X( M' Y- g" k; o/ S+ i
}
7 P: H9 _3 d8 ]4 f: r } s% N1 O0 p$ j* r/ |
if (itemiFrames.length > 0)( {1 x3 | R( U( B
{( q7 h: L- z+ ^1 T& p% H
for (var i = 0 ; i < itemiFrames.length ; i++)
8 [" F' F% W% V4 N) L. m {$ q4 i/ G: w: M* F
iframe = itemiFrames.contentDocument;
N/ y5 a/ O8 @3 p& a this.RemoveHide(iframe,objname);
* X. Z+ T" v( V7 l N: {. C }
7 m5 c7 D0 D9 y }
6 r1 P* W- I; w- J, B }
" {* q8 D8 J, _9 I. O catch(e)
6 `! g# _- x& s1 L' A {; q6 n8 d: V0 R6 J! z, ?2 |$ U
if(debug)2 _7 I1 h4 |1 c# S' h
{
; J1 f |, I& X, E' E6 Y9 w1 L alert(e.message);
$ m1 X* D2 b! ]' V' {, b, Z }) [! I: K \; X2 r6 k+ F* z. ]
}
* S; E' P0 o$ ]6 y1 _% E }
5 N, n$ f2 y/ Y1 @9 V. z
* _6 ^) j8 T g2 d' X+ b}
& K# u9 i* U* f9 K4 f
0 w z* `+ h4 J/ ?4 }function getRGB(colorString)
' R& o& k/ x# Q: x: p; p{) ?2 V5 [ j6 x$ C) ]! z
var RGB = new Array;6 C& Q* l* E5 v1 y3 _
var tempSting=colorString.substring(4,colorString.length-1);' t$ x. A3 ]) R6 O0 g
var tempArray=tempSting.split(",");5 ]* z1 G, t7 D3 O8 }
9 A1 F* `: N$ Z; ?
RGB[0]=parseInt(tempArray[0]); I4 x0 n! U; F! f+ ?- p( G
RGB[1]=parseInt(tempArray[1]);! ]" K4 k3 y0 q! l2 \* `
RGB[2]=parseInt(tempArray[2]);
2 g4 l6 Y- i( l' K* _1 \; {
# h. P$ t& s( E return RGB;$ V& A* D; c1 e& j0 I0 S! G
}2 B5 ]# s6 S9 t
function keys(evt)
2 h1 P% T* J5 T- ~. P! d5 n { 5 H X7 Q, d/ D# m/ E
if(evt.ctrlKey && evt.keyCode=="81")
; K! `2 O5 X+ X4 U) h# i1 q { 1 t, {. | p) f' ?+ l$ k. ?
CleanHideObj.on(0,1);* ?& m1 f! R( j/ i' J9 _3 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 m/ l5 g1 L2 a1 A4 _. {9 a9 {
% K4 b: F( B( S }
7 I+ g3 w4 e7 F- y } 6 ^5 `! {. [8 G6 @- K; ~6 }. u
document.addEventListener('keydown', keys, false);
u; G! _0 a3 f' B; X, NGM_registerMenuCommand ('Clean Hide',! l8 |& z- P7 g$ e
function(e){
1 W& @* Z, r. XCleanHideObj.on(0,1)$ s X$ [/ H6 v- A, ?$ c3 j% q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 v% l0 W9 R3 @# ]: r( D6 v});
5 O( b0 R" c. \& _7 t% z0 F |
评分
-
查看全部评分
|