|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' l, N0 G) a/ x `9 S \
: }/ j- ^# S$ @: B0 L火狐插件,用猴子
4 Q0 `% B; g! ~+ y5 {* f0 ~, O7 R# R' B; [; l3 q" a$ x
var debug=false; . w. j6 Z- g3 U/ `5 W+ z
var CleanHideObj=new CleanHideClass();
9 _8 ^9 F1 o( k; ^! Y
) J6 E( _& {2 m! Y8 B3 @function CleanHideClass()
, k% B0 _% W/ ^{ 6 r- W# L1 i6 d7 w" d' G" k. e, w
, B/ \3 T- R l- f# O, M- X9 g this.on=function(id,bMZ)* ?. B. {1 o" c; b: t3 `
{
6 r: h2 D, p8 i# b1 G, F1 n
: ~! f% l- {; c8 G. u if(id == 0): x* h3 Q! {/ G% m- e
{
% i) S" k' H; Q! g& G5 F H; c1 f+ i var page=/* document.getElementById("content").contentDocument */document; 4 p+ K+ N( x6 _+ ?3 T0 Z
this.RemoveHide(page,"span");$ K+ F( J+ `% T* z( N( c# u9 a
this.RemoveHide(page,"font");' z2 D3 d* G; i8 r% O
this.RemoveHide(page,"div");
4 Q/ W# s$ J* \+ ` this.RemoveHide(page,"p");: B9 ^6 @ Y' c8 c4 u) q% H
8 X" B/ d7 Q( `: L4 Q2 |: J }
8 @$ U+ e, \6 P+ c5 Y4 `
5 G) E5 L6 N. c+ H' s, E }! X5 d& j( s1 v0 n& e
this.getobjstyle=function(node,prop)
* C# F6 o6 L+ P- y/ }0 C {# m8 l8 p% r) E( i
try
% _ \6 N& a$ p7 j6 H5 Q2 A! ^ {
- v, |% k4 ?# K, U7 J# |9 }0 J8 _! y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
O% B: C9 O5 B) ?/ i0 r3 P# S }. }, C- A3 l& a
catch(e)
1 y1 F4 N- M7 a- M1 m {
7 \# B+ ]/ o! b6 u* G if(debug)
' {3 A; C4 j- E {) }( v6 ^4 D8 h
alert(e.message);% R' c6 ~+ o' z1 E- Q) G
}6 W. N" ]+ p& N' G) d
$ j1 Z, }# D2 f- ?$ O0 k1 r
return "200";
6 P1 j/ M" A5 J- s2 {3 g% n V }$ @( ^. _5 \" W7 F3 z, G) R
}) J& w- \+ S! L# B1 ~( C+ B, N
+ S+ ~7 S" ~ k this.RemoveHide=function(page,objname)
7 o7 k+ L# ~+ K3 \) z {9 m: T, o9 d9 x1 H/ S
try8 ^$ ^# z0 {5 S! L0 P1 P
{7 G( e8 z5 D* @3 h: N# ]
var minValue=15;
, G, H' Z: [# s; S5 \ var objs=page.getElementsByTagName(objname); ( K. [: R/ A- k" ?' h
3 P1 j$ [' @" @) w! T3 N if(objs.length == 0)
$ C4 |+ {8 Q( o4 p/ _3 p {: Q8 b& D5 m4 j9 ^& G9 ]0 L/ V; R
if(debug); ^* t* b7 g( n% s
{
( X. m. V7 k# x; i) G7 n alert("no object found!:"+objname);
( S) V( h% v8 h4 |) O5 c) E3 S }
4 s# z0 j+ y7 H g j: Y# y1 r+ d2 J }! F5 p+ F h: d. m0 X7 W5 X( k8 N
else
; Y: V+ c5 w& I) ~5 L+ Y- e% \ {- e( Q) c5 A- j( Q/ k
1 b+ I* R" i/ t1 V0 ]2 D
for(var i=objs.length-1;i>=0;i--) ' S5 n+ F4 B% x5 d+ ^* R0 f) ~9 C
{, N a' I& C& `* \0 `; N
var node=objs.item(i);
1 W' n8 H4 G0 V9 W & F8 G' \/ M5 `6 r7 g8 f; c
3 c: ?# v! {* N& F* z2 @ T" f; P if(this.getobjstyle(node,"display") == "none" ||
( D. H' x7 W" k% i& ~# D& u this.getobjstyle(node,"visibility") =="hidden" ||8 I3 [+ I9 g! | S7 G
parseInt(this.getobjstyle(node,"font-size")) == 0)
- c( b! x( V1 M$ Q* }# \5 y, t: E+ E {
# r+ M" H7 _: Q4 G- t( a if(debug)9 N/ t" d' X3 \ x g/ u) I" @6 m
{+ [3 p1 a0 P# r; ~" N; v: Z
alert("remove invisiable!");
+ c0 ]7 |+ j* W3 R$ |) h }
% A C& Y5 ^- g+ }( q& \ z" U- O node.parentNode.removeChild(node);
1 }/ K- E9 P9 W
: T/ `4 k9 M) W( W* ~ }1 k$ [* |" @; c' r1 q! f4 T( v' c
else 4 r( n% C/ f+ c7 x ]% z
{0 [7 u9 p5 D% ~# i* X; R9 v( k
if(node.parentNode) 8 C; b6 v) K6 B( Z! }0 o
{; |) \9 I# [: E
var orgNode=node;
8 @ N0 x' C4 K& ?; c8 Y( n var orgColor=this.getobjstyle(orgNode,"color")
g' }* A3 s3 U3 l# b3 c var orgRGB=getRGB(orgColor); - L: B O9 z/ G6 V0 w
, H% Z7 ?* p9 @. }, r var parentNode=node.parentNode3 y8 z1 \! e1 m
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 k5 C4 K/ S$ N- i R7 Z7 N" T6 {
* o+ J) N3 J" J4 C7 {! t
var isLast=false;
" @0 H# h2 ?8 H& z# R
# R$ D- n) M! Z4 D# H while(parentBgColor == "transparent")
. B' z( r9 N, p- S4 I& |' @3 Z4 U {8 U* C( h8 |3 f/ c) T! w: g
- W5 U8 u+ Y4 ~. w8 ?
- l" O+ S. R5 O& A! k if(parentNode.parentNode == null)! A2 q% L+ X0 X7 O
{0 a7 {/ e3 P1 w, \
isLast=true;1 Z- Q3 ?+ d* P ?+ P8 d% o
break;, g6 \+ t. E5 M1 g3 |
}
3 i8 I; ~# Z5 j* |, G parentNode=parentNode.parentNode;
~' |. d1 v9 A& P parentBgColor=this.getobjstyle(parentNode,"background-color");! t+ l- n9 s, `; Y; m5 S6 x) T
( P% t0 z# k* ^% z) o# x+ N2 Z
if(parentBgColor != "transparent")
5 q' z3 B2 H/ H# A3 ~/ ?9 O D {
( R9 r) j( v( w$ R1 p break;
% `* n$ I( d+ _, X' H+ ?; V }2 ]% V3 y, w) t! c2 t, E, S
}
7 q l: e9 P; Y3 L, N# ^( k if(isLast) , ^( \2 Y4 Q' V3 U
{$ _6 W, e$ I% o1 @6 o/ U
if(debug)
# P% N" n4 X6 H. Y {+ a- ~9 K* @+ o" A' m/ U W9 H
alert("last!!");
& w' r5 D/ |: C2 w, [- i }. l* e9 e! N- E! X7 P0 k2 }8 d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# j0 V& ~& X0 r9 Q6 j
{' u- [; K) A' k
orgNode.parentNode.removeChild(orgNode);
* k0 a" e+ h& ? }
& u9 B: H) @ r4 ~. _1 f! c w& G }
# B6 m# H5 l6 K- U1 q else8 K. b/ ^. I4 K& E& {' u1 s
{7 G) X/ }/ w6 C9 L7 e9 j; u8 P$ n
if(debug)
3 H* Z' [" Z# i+ M! O/ ~ {
% y" ^- @5 O* f alert("compare color and parent bgcolor!");
' T" j4 {" _2 v: B, k9 x8 p( V9 `& N }0 m( e/ m# U5 C8 A
parentBgRGB=getRGB(parentBgColor);+ I$ m4 l8 J6 M# q$ g4 G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ m) z$ [& N3 P+ z$ ~8 j
{
( V) ?# Y, _5 L orgNode.parentNode.removeChild(orgNode); : Z8 O% _1 M# @3 U+ Y3 O: n. b
}, e) o! \2 L# L* E6 l0 ]- H
}
. K: U# T; f& D0 L$ y }4 X" z. @) y: _& l! {( ~, J, O0 h! p
}* E/ U4 _& i* T2 r2 Z9 m
}1 C$ \) \' _9 [
}1 N$ K( S! T: P9 c, A% h
; A4 ^8 J. F/ m) X
9 j3 D$ y+ l8 H( H$ c; h) [4 B/ M
var itemFrames = page.getElementsByTagName("frame");5 }& o6 m: g7 M- z2 E% O1 h
var itemiFrames = page.getElementsByTagName("iframe");2 \$ c; }, X, L, Q& G/ @: a
/ \ p1 G H* B! j* ] var frame, iframe;
5 _- |/ L5 q0 C- Q if (itemFrames.length > 0)
) X7 i- ?, x# \4 A/ {+ m- O) w {
8 u* F7 o. J% h for (var i = 0 ; i< itemFrames.length ; i++) ) Z; p0 V) V1 ?6 P! u8 V0 i
{
; Q7 j" h+ s l5 X p- A, D3 A frame = itemFrames.contentDocument;4 G4 b2 V/ b0 ]- X; Z z7 D
this.RemoveHide(frame,objname); 0 o; T1 E- L4 U
}% e9 U$ T3 g) j- K, A
}9 Z4 @5 P7 k$ J
if (itemiFrames.length > 0)0 k( M W/ |2 O) [5 O( M
{
, y! S; V+ [; G/ l }9 ^' L for (var i = 0 ; i < itemiFrames.length ; i++) . G) G; j1 P0 }6 t. L0 a
{
, l0 q9 ]$ J7 M' S9 N iframe = itemiFrames.contentDocument;% U% F* }5 y' D$ e; I& e
this.RemoveHide(iframe,objname); 1 A6 R; N9 A% W/ m( A
}
( J- e# }! _) F: X- I }
' W1 ?/ T; h$ E9 Y% f7 K }
" j( V- U" e8 O9 _ catch(e)* U* c* _+ E; M
{
6 H, g3 B z: ] if(debug)
* V, {* a9 C1 O! }* P {3 x# ^6 K* Z( q% T5 z
alert(e.message);
" @/ j+ H. X3 m9 _ }
/ ^ P3 q$ u: n8 ] }$ M' X- x$ h6 d7 H, N1 B _
}$ R9 m5 Q8 q) c ~" @' O
3 G% Y, ` [+ z}
9 _& {( j" ~1 W3 r2 f/ s2 o
* J1 {/ E( E! Q: U! \6 r9 f( \function getRGB(colorString)
9 R2 k* T9 @" P% P: R{
4 r$ E( z5 h6 M' z! f, n var RGB = new Array;
3 y" L! N0 @3 m+ N j1 ~ var tempSting=colorString.substring(4,colorString.length-1);
0 b4 ~& B5 P' {5 h; |' ~6 n var tempArray=tempSting.split(",");9 J$ L% f1 f: z1 C, d; m
$ V. v* U- B8 n6 R Q
RGB[0]=parseInt(tempArray[0]);
6 P9 E. q: p: {% x* h) t( n% P- q: l g RGB[1]=parseInt(tempArray[1]);( D8 V7 s4 F3 f0 |. F0 A
RGB[2]=parseInt(tempArray[2]);
9 e* Z2 O% [# k# u6 z3 Q! A) Y3 ?8 T: t
# v B1 h. d- a* e4 j# j- ^ return RGB;
, h9 P9 U3 `6 w. k6 F}$ q# X. X" x# ]: ]7 V1 X% O
function keys(evt)
; M# k# M3 R( w2 | H6 F s- C {
5 Q0 E. k! D% ?( ^$ Z; ] if(evt.ctrlKey && evt.keyCode=="81")
. b0 D6 n5 e9 D8 i/ Y @ { 0 j0 e/ D1 n/ D6 G' O' ^
CleanHideObj.on(0,1);' ~) v, Z/ J5 O+ b1 f" ^- E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 i9 u$ w1 U! h: B- d- d
6 {! k0 L5 @% S }
. H7 F* r2 n3 k5 ] } 2 F% H$ Q) u% s
document.addEventListener('keydown', keys, false);
* @, k$ H6 s8 d3 d1 |7 F% d# X' }3 GGM_registerMenuCommand ('Clean Hide',# F5 D a6 \ ]; H! d% v- J5 C- @
function(e){
2 I( k) b7 U8 F& c1 D8 m: r- ECleanHideObj.on(0,1)
% ?7 B* r. G1 ?; D1 _( lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 l3 v& u1 ^! C% b) T' b, C
});5 x% r# C% s( r; m9 }
|
评分
-
查看全部评分
|