|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 S1 l4 e2 p- \ |% x7 W9 q2 U
- v' V3 E5 i$ \/ e# z& u" V' \7 Y火狐插件,用猴子
% p" i, _ m* l% w2 M
8 i9 D, L/ M& I" _+ g$ ^var debug=false;
; G, [7 z& Q/ D* ~# dvar CleanHideObj=new CleanHideClass();
! l; D) P& g& X' G0 f: Z2 }1 n( [: X
function CleanHideClass()
1 }; f8 E* s( }) N- |0 V{
3 a ~% w. a/ R' ]7 R* H" d* j
* n( s$ E! n: y' q& a, Y this.on=function(id,bMZ)
% c. M+ _* z l; ^ v; i {" m# G. X# t; |$ O3 l. d; S; }( n
, c" [% X& \- w7 M( @! m o if(id == 0)
' f5 b E5 ^' x8 s& o {7 [- v# p: P, }2 J& T
var page=/* document.getElementById("content").contentDocument */document;
0 P. d. Q& W3 z( z. D this.RemoveHide(page,"span");! r8 W+ a: B) q1 Q* p- ?4 R
this.RemoveHide(page,"font");
+ }- W% q. x. g( P, ]6 S this.RemoveHide(page,"div");# g8 i* A$ L/ l- E( }8 K
this.RemoveHide(page,"p");3 @ p3 U" q& _, G- E8 M
0 ^# w7 c/ A7 p f- ] }
& h7 T4 z# |' z. b, L3 |% q
+ y0 ^9 v6 N0 s" Y P }$ T" W$ h" f, k! m: D# j
this.getobjstyle=function(node,prop)
! C) W2 H- F1 \% q+ U {% _2 @( E6 R$ c
try
, A7 F) q: I" t; Q$ k0 } {
- i0 {9 `) I4 n9 d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 n3 v* R7 K# |3 v' o5 [& z& n
}/ ^# i4 [, n8 m8 J$ M
catch(e)
9 E& V a# J6 v* `- C9 `. l- e {
- x) u) Q8 y4 e/ S8 a9 g if(debug): m/ W) V( G8 V$ Z# X: Z! E
{
- ]% I7 Q. d' j+ q; U+ v alert(e.message);
4 j: g5 ^) Y ~3 O9 L }/ k. ^) \, N2 v+ q- ~6 J
7 C6 r5 r/ J# j# A+ h return "200";
" o& H- ~6 g F# L }9 N9 b/ v8 P$ T. E4 l
}
0 _/ z+ E) a% ?/ a/ M0 I; j
- M0 P9 I. ?! r: i this.RemoveHide=function(page,objname)) F) _( v" l4 F( W T/ C/ P+ M
{5 a7 u$ J6 k$ `" O* |
try& r# K8 p+ O; g5 y+ [) U' y* I
{
: Y9 ^8 d- H5 _; q- T! c E var minValue=15;/ y: l7 Z" o; L3 o. H; i
var objs=page.getElementsByTagName(objname);
9 s3 B p& f6 W3 I( v+ f- r% y0 Z" X* `0 N. |, R. X: t* f
if(objs.length == 0) $ b: H/ `1 U6 w* |8 C. \. c
{9 ]& i- ?4 W4 U) Z) M4 M/ s
if(debug)/ p) ?: e; I/ l2 P0 R& b' ]' r
{
9 }5 F* F1 H) E8 k7 ~! J alert("no object found!:"+objname);- [- A- B& I3 l0 h( |
}
# ~2 r4 v# ~5 ]. }& c% y& { }) C- W8 m! T+ A N
else
- h& |8 j0 S! {/ { {
) c& M( x: i/ a' S! |5 y5 ], I7 j+ b 3 \, O1 M4 i' Z% H+ H
for(var i=objs.length-1;i>=0;i--) ' _# ?: k( u% U: G' [! W& G. c
{
/ n' h9 y1 ~/ B# ?. e, x2 s var node=objs.item(i); - m/ u8 n3 ]2 Q" F+ @
7 n& ~+ L+ A. c; R8 Q) x W: l u5 Q' X5 e7 n
if(this.getobjstyle(node,"display") == "none" ||
% M6 W6 j/ O# z6 a/ L this.getobjstyle(node,"visibility") =="hidden" ||8 _/ p' o) _$ H2 _. g) V# `# G) [
parseInt(this.getobjstyle(node,"font-size")) == 0) - J2 {& E( S5 h1 T* g
{- D" O' @4 q: z% f' s1 T
if(debug)+ H5 B) Z9 j' K6 T' k
{
; n9 {7 Y* ~( `: X5 | alert("remove invisiable!");
; L! W \& M+ t1 A$ C# }1 ] }( I# C( n/ { a! _1 ^
node.parentNode.removeChild(node);
0 @$ a. M. Y7 {+ }( v1 V0 Y. x3 Q
9 D# `! r' d' _6 D) m* T$ ` }# ^+ ^9 ]4 |8 [& n, b! V
else
Z, [3 i$ `- R5 r+ \7 ~- b {
7 }! s2 u( a5 d8 D if(node.parentNode) 0 [& k& z( N: G$ i
{$ B# Z; E. r3 U# v9 H- f
var orgNode=node;( T% p1 |7 M; y8 N) b' p
var orgColor=this.getobjstyle(orgNode,"color"): G4 H3 d0 R/ |- u% q) w( m
var orgRGB=getRGB(orgColor); ; H: o( i- Q2 \. ~
* U$ f# D+ V) }9 h9 k" }
var parentNode=node.parentNode
+ b2 E& Q7 A6 j var parentBgColor=this.getobjstyle(parentNode,"background-color");
# U/ V# a: L) X7 n' P + Y; \$ ^3 [) ~; q3 Q, ~# s% {
var isLast=false;
8 z" p1 }4 U% a( V% I6 r : A: o0 g+ o6 Z. F+ M6 d
while(parentBgColor == "transparent") ) e6 j8 R) ^& l* w/ J/ y
{* @( {2 E- L+ \- \; {& Q0 P, \
; Z5 S* U; I% r
1 x( P Q# Y0 U; w# p if(parentNode.parentNode == null)8 r/ F7 p' I) `( a: m0 S4 j2 C
{! Y; J$ e- B! P6 v8 Z, R
isLast=true;. Z* ^/ h3 }0 s1 K( _! e
break;
$ ~4 C$ l! T# `- @3 B }8 M0 c6 w, o) @9 W9 z$ q
parentNode=parentNode.parentNode;
# n1 W; E) Y) e parentBgColor=this.getobjstyle(parentNode,"background-color");9 b, E i! G& f5 u
( [3 ]) d& C4 I) J if(parentBgColor != "transparent") 0 {3 u6 p' D( a# F0 ]9 n, v! ^% Y
{
. d ?; p, z: {4 O# @# @" | break;
. Q" d3 z5 W) D( a9 x }
; q. O1 p/ `4 \" `' g# Y }0 F+ ~3 Z# ]+ O' A4 d7 y' \( }
if(isLast) U6 X" e1 |) C! T9 C5 P
{! }8 m* b, }* p" H0 a
if(debug)
* T4 ~ ]7 y9 X1 ?/ i! o {. A& ?5 c/ j' f$ j* d; o
alert("last!!");
" q' e7 \$ J, Q9 l8 O" e/ H- H8 T }
7 F" M' b5 x5 e* u4 Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ W1 u {3 U9 F, Y" i. C4 B
{
0 q0 T$ p: g1 T/ F, K orgNode.parentNode.removeChild(orgNode); _+ \; N, G* B- D
}
9 X+ ]1 ?! t9 r, s }
- f; [* c* M5 f" H0 e- @# ~ else1 {, V1 j! k* {2 ]1 n0 l
{
- Y6 [* W% i. y) R P if(debug)
7 S" @" G9 m% ^3 \ r3 y) C4 P8 H {& ]( b$ y' h' I
alert("compare color and parent bgcolor!");; n, ^6 c, v. o5 w) x
}
% y1 g h0 E* I, J' } parentBgRGB=getRGB(parentBgColor);
B) |' o( c) l7 s" {' q+ u& Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))" R/ {+ g# w( z6 f g
{
( R. ]9 s( Z& S e4 `2 X orgNode.parentNode.removeChild(orgNode); ! J! L' h' d! V- H
}
: F" m2 a' }% Y }, w: g8 I3 q0 Z1 o( h: m! }' P
}
/ T1 }9 i6 p* s8 e" d }
, q) J! T& t, s4 ? }# U3 z7 n' @$ m, v% v: N( g, N
}' Q! N6 Q O6 i( S, f
1 l; }: b7 e4 ?6 P0 Y8 {2 A! t
# \. @- c+ S7 Y: G
var itemFrames = page.getElementsByTagName("frame");
8 p" A; Z; a2 o3 d7 c, I0 N2 j var itemiFrames = page.getElementsByTagName("iframe");; M* ]& p( `6 S
5 G5 z8 T1 q8 S
var frame, iframe;
( j$ M. S5 x4 _: P: B' z) X% l if (itemFrames.length > 0)
& ]0 O- g. `. L/ | {
$ P! ` J( O5 o% l0 @ for (var i = 0 ; i< itemFrames.length ; i++) & l2 ?: D( G* O6 ^; w
{- ~) A% }6 f7 k, v# T( N
frame = itemFrames.contentDocument;+ W: H; V* W% U7 ~ |
this.RemoveHide(frame,objname);
4 i6 v7 [0 G) i4 L }
" W7 e c9 _& d& V( z8 t- n- V4 r' Z* _ }4 H& P4 A1 O$ I
if (itemiFrames.length > 0)- ^, L w; L& a3 \( z6 l8 T
{
% j+ ]+ p' v3 O, w T" f for (var i = 0 ; i < itemiFrames.length ; i++) 1 |$ {$ K8 ]& A3 ^( i; ?4 G# D
{ I; ^+ {: w {; ?3 q- ?8 D) L
iframe = itemiFrames.contentDocument;
: F. P ]" m3 k4 I this.RemoveHide(iframe,objname);
. `6 i& ]7 J7 E! Q% k0 N }
7 U! S7 ^% m' i3 t5 S }
6 `4 ^( F% ^' J! h3 P0 z }
2 n( L$ b! h+ [) e catch(e)$ T1 u* _5 g" P* H" C
{
7 g; G$ K5 `/ C+ \$ T if(debug)3 ?1 Q' t+ g* U6 s+ Z5 m& k" K2 I
{1 ~; | i3 k6 m! s6 Z$ g3 U" a
alert(e.message);
. A% N: Q) M, W' ~* x5 t6 M6 }1 Z* j }; n8 s+ z7 m D1 `
}
4 [- A1 @- @/ e1 Z2 S2 g, J; w1 _ }
- s' [: \$ L& c! w
( \, w6 _& \$ ?+ v}
& C! N% w& L" o" ~: b S# y! Z' M p' J% N6 I
function getRGB(colorString)$ P; X' D' ^# C/ s7 N
{
; z0 g/ g6 t& A7 m! | n7 v k var RGB = new Array;- P7 d/ B# e/ d) p2 k* |
var tempSting=colorString.substring(4,colorString.length-1);. q7 y* V0 L0 C" _8 ~
var tempArray=tempSting.split(",");
/ | Z, N7 `7 Y) W/ }2 g& n. o( ~+ r1 @# X$ f
RGB[0]=parseInt(tempArray[0]);
5 P: r' z# |# n) M/ q$ ?$ a! U RGB[1]=parseInt(tempArray[1]);
8 ~* z8 Q' W, ~% ]; o. H9 x/ c RGB[2]=parseInt(tempArray[2]);+ s! Y/ Z$ U" I$ @3 P
0 m0 G/ ?5 |0 f9 `2 `! K( J# |
return RGB;
% h( d# N( R; A9 i0 m7 ^% ^}% B, t* ~% `* g% w Z
function keys(evt)
3 a9 H Q0 @: j, Q' o5 W { . D% o( v1 @7 {
if(evt.ctrlKey && evt.keyCode=="81")
! u+ R' V, j" B {
3 A% f4 r M. y0 H CleanHideObj.on(0,1);4 D! V* G2 E5 ~+ x+ }4 G, ]; D; F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % y+ j; M6 ]8 U$ |% j1 s* [
9 L- n# T9 X! A% m; l } * H& n8 r5 _/ ?7 B1 m' g
} 0 r! ?/ P5 Z# E
document.addEventListener('keydown', keys, false);
% B2 G, ]: ]' l7 a" UGM_registerMenuCommand ('Clean Hide',
1 v$ e3 P# m6 y* C3 a7 tfunction(e){
; C1 v+ K0 V' UCleanHideObj.on(0,1)6 C0 ^9 t5 t/ n8 ?3 {& |0 V6 t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% R5 C2 f, L8 j8 v* D( R});& G" f- b' k1 h& l7 l. x4 U J
|
评分
-
查看全部评分
|