|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, F8 |! Q' i' L) o6 R; F3 S8 d0 @9 t L' ]: {
火狐插件,用猴子
$ L* \# |! u0 @2 S ?7 c( c0 r+ w( Z( `6 o' f3 R6 L8 C1 ~
var debug=false; 6 N: J# Y" ^/ d8 `
var CleanHideObj=new CleanHideClass();
: S/ _% N9 g) M
% Q8 m' ^ z/ Tfunction CleanHideClass() * W8 H7 { G8 i3 K L
{
1 w4 @9 n) x* D% {# H3 @ ( m; G) }' ]( o: m) p& r' ?
this.on=function(id,bMZ)
2 A, j5 p% n0 t3 |$ ? {
/ ]0 _& V2 f7 x# x 2 u+ d! u$ z+ q
if(id == 0)
; z) e: z- k) p- c, n5 r- ?! O {! X. ?" Y2 A( k8 L* N$ s; V
var page=/* document.getElementById("content").contentDocument */document;
9 q+ Z$ z" m1 H3 D, I' \ this.RemoveHide(page,"span");' y$ F y. K6 Z4 M
this.RemoveHide(page,"font"); o6 }: Q$ b$ Z% Q- Q: {; e+ j2 M
this.RemoveHide(page,"div");+ w5 Q$ d5 d0 \
this.RemoveHide(page,"p");
( h8 d# J7 m$ \$ r4 u0 R" l* a
N4 c# Z! L; E3 a W2 O0 f }9 Z: }4 @, p1 N
D: ~* B9 ?# D n9 ]( n }5 S9 R% f( a9 R1 @
this.getobjstyle=function(node,prop)
o. W# e2 C, V5 [5 P3 E* Z) |3 S {
8 p+ q7 p9 o: y5 Y# a9 d0 |/ d try
& d) [% o r; {1 g9 z6 D1 |5 f {
6 L4 h$ c3 Z' V/ {% ~* X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 b9 ]. h1 [# Q1 i& }) c2 S/ k
}
# G# b# H! F9 |* k catch(e)
8 r l" E$ ]# G7 d9 V4 ^ {
2 U2 u, ~5 e" D) T2 [2 |: _3 k if(debug)
8 ~% x2 k; y7 r/ j1 D {
# b- l! j1 n" ^! |6 Q alert(e.message);
, v+ v' Y! e$ T# i6 q6 J }- D/ B: m; w6 [, k# L
, |# r5 f# e5 X return "200";. Q# j3 |' T# M3 ]& {$ n k
}
, p3 j+ s7 K+ `% l) A1 { }4 C- A [" D- C& S5 E% W8 V
6 \ Y/ N6 `7 Y @% N7 b) [0 e) t( P
this.RemoveHide=function(page,objname)
# n, s5 c. `9 y( [6 Q {
b0 I1 p E- U- O try
5 Y4 b# n: F7 }$ w {
9 c' v5 C2 e6 f, N" s. g: Q5 w var minValue=15;' q; z" s0 [9 S3 \+ U2 ~6 p
var objs=page.getElementsByTagName(objname);
( Z/ [ E' t" O6 t" q% I% v" W: G W; l; Z2 A
if(objs.length == 0)
3 A; H3 j, ?# @: o0 u8 j7 w {
1 E7 P, ^" f$ Q! U if(debug)
8 b, q; b. ^! ? {
c8 ]/ M- h1 H m& `0 q$ I alert("no object found!:"+objname);
6 ~/ [ s* g3 a' _. k4 H }
- N& p& J2 c( [! } }1 z# w! S2 ^$ }6 v' a" `$ U
else# D* f4 W9 D. V' B
{( E/ f2 E L% a9 S
' Y& I7 T S8 p' ^+ k
for(var i=objs.length-1;i>=0;i--) 8 O& q# T1 [0 C. c, x. [
{
" J5 s1 `; k5 x4 t0 Z6 t2 O var node=objs.item(i); : `& \8 s& M6 Q5 \- O# ]6 L% b
8 B# i( q$ A; V Z
% ^, M; j' H) H* @$ I
if(this.getobjstyle(node,"display") == "none" ||
% X; Z% D! B }- }$ R this.getobjstyle(node,"visibility") =="hidden" ||) U9 F" m6 ?9 u! y# O! ]
parseInt(this.getobjstyle(node,"font-size")) == 0)
& Z1 H" Y% V( Z0 S: K {
5 p1 o2 t& `7 J8 Q3 x' R if(debug)
/ K+ H% x- o6 z/ W/ l {
4 ?# e F% D8 G3 q4 | alert("remove invisiable!");6 K- L# s" I. \% { x
}
a% n% Y6 P5 P6 ]4 }$ y4 n node.parentNode.removeChild(node);
3 z. A* k u6 T' Z0 b
2 e8 x- x# J1 S3 p* H. p8 L }3 f" k' |" N. O2 V6 C7 }. @ W
else ( ~6 ~. \, ~6 Y
{
; c$ ~/ ~/ z3 P$ Q8 ? if(node.parentNode)
3 v1 k+ c* M( m/ I+ f2 r* w d {
9 r* y, {6 n4 m" I* j. n var orgNode=node;2 r3 I0 J& c @
var orgColor=this.getobjstyle(orgNode,"color")+ S. h/ S" Q0 b8 N, U. V
var orgRGB=getRGB(orgColor);
$ q7 d4 E3 D5 N 7 { U( P& W$ `& B
var parentNode=node.parentNode
2 k$ i# x8 F/ C- v: o5 [3 X var parentBgColor=this.getobjstyle(parentNode,"background-color");- f9 R' P& s1 c) n
( b& ?7 V, p5 Q3 {0 i0 v var isLast=false;6 P- l) V& m- h3 M a1 h6 q
/ d9 `4 h, r$ r% T" q while(parentBgColor == "transparent") w5 T5 L1 e* ~% x
{
* X( I" o# w( Q7 Q! C7 g, {
q4 |" U: G- C% G, A " H4 F: i" x% `$ [$ B
if(parentNode.parentNode == null), `- @# A6 J( r) h# l0 Q
{" T' T H) N& Z
isLast=true; j' M1 a( ~3 S( g) D9 y1 W
break;
{. u+ o$ p% h4 g5 h# S }* F6 ^! j5 P( l; S
parentNode=parentNode.parentNode;
9 v. g" L B8 d/ x/ b$ f parentBgColor=this.getobjstyle(parentNode,"background-color");' N3 K* U: b$ P# F
% C& J1 H% N3 N ~$ n$ C/ C8 ? if(parentBgColor != "transparent") 9 U) K' a! t; y# l4 o* p# n
{5 p6 z3 D- c3 q5 U! K1 `8 [+ Y
break;2 m* ?4 d; X$ W
}# N% \+ ]& _+ d
}1 Z/ G6 h0 n! J& s
if(isLast)
0 p+ s6 |( I3 J# p+ A$ `. } {' P1 s- i1 W0 Z' l; Y0 ^
if(debug)
8 g1 G$ L7 f4 u6 `3 w5 S% x {
* f5 {% A) F ~' y! z alert("last!!");
* W9 |& u k+ Z! l, l% W* o6 @ }& s& `; }4 _0 X0 k3 n% M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: ^: f6 p% | ?( f K {: ]8 _0 |! C9 j
orgNode.parentNode.removeChild(orgNode);
2 z3 {, D- N/ u3 f! Y" D }) F6 z1 u0 R( m* d7 ]
}
2 x' `" J( c3 K8 b9 z0 ? else8 e% z( o( v* i+ M
{
8 c: Z+ a# j, S' a if(debug)
' F) Y/ {3 d9 z! k- B! B { D) F; I: j3 b# F" r
alert("compare color and parent bgcolor!");
) h& \! T% h/ ?/ a) \7 C4 d% i- ] }2 C5 k9 Y0 h, C, @
parentBgRGB=getRGB(parentBgColor);
/ z2 R W: ^- m$ N/ g if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ G8 T1 t( r$ ]' R0 E* K {
! h$ I* P; K, Y orgNode.parentNode.removeChild(orgNode);
8 E9 e4 U! |" A3 K6 t! G }
4 G" ?' |: d2 @1 S7 R: e# c C [ N; h }: d/ d5 h0 R7 G, ?7 B
}+ B+ _7 r+ z' T; w# z
}
+ t3 Z2 y I1 t3 Z. I }$ z1 B! Z7 o, m% T5 M0 `5 i/ s
}) [: |: `+ Z: S! n1 o. c9 k% m
7 z& T+ l7 t' H$ m/ n
J$ o* `- g8 p0 D7 T
var itemFrames = page.getElementsByTagName("frame");* Z& A7 a3 ^2 q) A2 ~
var itemiFrames = page.getElementsByTagName("iframe");
' n) \+ u3 _/ P, Z3 f! p6 a6 |
" r! B! Q+ {) c+ Z: b' f: F var frame, iframe;8 o. r0 Z+ j c/ K
if (itemFrames.length > 0)+ H1 T/ K1 E" h4 x0 K6 f
{
2 X2 x: R! `+ Z. S( g# j: U$ H for (var i = 0 ; i< itemFrames.length ; i++)
# m7 n i) c7 v1 u+ A" d {% @4 x( ^6 @" O, c4 |
frame = itemFrames.contentDocument;
( M- ?- C& H9 R' E, d this.RemoveHide(frame,objname);
7 q: W; X! M3 f" }1 o! @+ @1 j% H8 u7 m }
- ^# C1 T1 J8 d5 w( Y" h3 R' e) z }* K! g p0 X/ R
if (itemiFrames.length > 0)
( s+ P4 G- k# J1 V) J {
/ b# `7 A( U5 `2 J+ h! t! T* y1 X6 a5 u for (var i = 0 ; i < itemiFrames.length ; i++)
' u# b% v. v8 M {
" _1 c( N7 Y/ s. i$ t iframe = itemiFrames.contentDocument;
: ~; a( M- H: `' t this.RemoveHide(iframe,objname);
! C, @" A+ W6 k! D6 r/ ~! [" i }
6 a( M- G: ?2 z, H8 q7 ` }
& {+ h4 h+ g8 i }+ C( D7 c0 U6 X8 `5 P! S
catch(e)
. c) D/ D9 t0 Q" G {
5 o+ u4 `6 W: r if(debug)
8 s' {" k* b- w/ {* e" f& o {
X F, Z2 N$ L9 C! p alert(e.message);1 Q0 c9 h* F) G" V# N6 p: @# \% b
}
6 y; Q8 V) b8 A9 E1 [ }
8 a5 q1 `, ^- o1 v }
" i) N$ x7 I1 V% p$ o8 p 9 X: I* ^$ d @; }: c8 K
}- o6 H7 E0 ], O" y2 ]
; N: H) W% ^; \$ h1 r$ x- B
function getRGB(colorString)) Q' A+ Q+ T! q
{
0 B( ?4 q! V( ~) d' ? var RGB = new Array;
Y0 k% J5 n/ j$ @5 A var tempSting=colorString.substring(4,colorString.length-1);
2 \8 f4 S+ v3 @7 O var tempArray=tempSting.split(",");& u1 J+ C+ D- _" T" y% x3 R
$ ^5 d' U6 a w. i: z. X# |* L# m9 V
RGB[0]=parseInt(tempArray[0]);( o7 E% ]6 P! z" Z0 m1 K
RGB[1]=parseInt(tempArray[1]);! H& x. Z: |" r0 A/ Y |- F
RGB[2]=parseInt(tempArray[2]);! f3 q5 [% o+ r9 j( g
8 g! e3 S: F9 s
return RGB;, j% ^& [6 t! `
}
4 s, A5 h9 N% z/ afunction keys(evt) ) V2 t* H' }" e |
{
; c5 g2 }; k d/ C if(evt.ctrlKey && evt.keyCode=="81")
8 z/ Z0 h/ S! M* e { 4 M7 G0 G3 j, I/ |% v! w+ s5 E4 V3 g
CleanHideObj.on(0,1);2 k% h+ y- C, L3 E& Z6 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * d* @' e T2 v. I
% u/ T+ q) C- Y
} 8 {4 x# u! H% O
}
9 h6 ^$ P% B! o" @9 ndocument.addEventListener('keydown', keys, false);
# u( |" ]2 r/ R) X' UGM_registerMenuCommand ('Clean Hide',* U- Y+ k5 h3 y7 w/ W, X
function(e){ N8 ]. x8 D+ Q3 f2 U
CleanHideObj.on(0,1)
& I9 v8 I* [1 ]) B4 Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; D2 j" l( P2 @* z});
- Z F6 W# e. D& \8 | |
评分
-
查看全部评分
|