|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: ?$ g' b1 `) e
& O3 E0 p, K* G* J1 K* _( t* g火狐插件,用猴子
, P3 B1 Q! D- {; }6 k, h/ Y/ A/ C
var debug=false; 2 ^5 c7 j# q# H* @8 y- ^
var CleanHideObj=new CleanHideClass();; Z& f, E* R/ w
1 `! n/ F( r* h0 Z6 y
function CleanHideClass()
# L1 A) I. R# S/ _{ 3 |/ m( y( a& l7 K. c& w
1 z/ o W* T" w& Q' s
this.on=function(id,bMZ)
% B: K% o5 a0 { j) W' [7 k4 ? {
* H* E) r7 E3 ]) Q4 x4 u7 M 6 b2 O8 ?% ?, R* B& [
if(id == 0)
" U/ W2 l$ {) X; l9 o4 J {& D: B. Y' d4 b2 D# L7 I% J
var page=/* document.getElementById("content").contentDocument */document; , I. L2 |8 c$ I9 q8 V% A
this.RemoveHide(page,"span");' O' T+ T0 Y- M1 ]" O! y9 C$ }1 [0 x9 ~
this.RemoveHide(page,"font");
4 x$ Y* i, Y. S; r. C* v this.RemoveHide(page,"div");' l `+ G5 I, {, ]% q* v4 t6 B7 E
this.RemoveHide(page,"p");
1 @& H- o# p" y5 n; X 0 {- ]% T# `& Z5 p
}$ e0 z M/ E. l, p) d3 n5 x
# {' }8 d+ `. R7 x7 L }
, H5 ]1 D+ p2 H% j1 m1 H this.getobjstyle=function(node,prop)
, Z1 i1 [3 d5 N; R- e {- A4 [3 F2 p% i6 {. w" c# s
try5 b6 H6 X4 S6 j- {% w1 F% M
{( q/ X6 m5 d! [6 N( O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( Z& ~# w1 a7 T- o, B: Q# n2 m1 ?0 Q7 ]
}
F, h- z9 A8 T' k catch(e) s" y( C/ S+ ]% o2 R
{
8 e Q: r/ W* ^' F, ^! \ if(debug)& ?4 ?3 L0 T- T( K
{
5 ]7 `! I% J6 z9 [. F alert(e.message);
4 O E% \ Q8 _& e }& e+ a: W: l( \) z& F& t: R
# J# u2 N! I3 O# d# |& Y3 z
return "200";
) W% d8 Q/ W" b1 {( e8 p4 j } [) F% K0 m. s4 U
}' D g3 d* k* ]' Y5 G
" P( s: R3 b4 Y- n+ @% v# V this.RemoveHide=function(page,objname)5 l* S9 o; Q2 h$ c+ h( u8 x$ d
{
0 u$ d7 M. U/ a" O% b" w4 G! A try
4 B" t/ w+ L2 I" n7 [ {/ f! ~! v+ I/ F" S
var minValue=15;0 w1 o# `; L$ p3 L# @; o& V
var objs=page.getElementsByTagName(objname); : C$ s6 s6 Z, m" Z, J8 s
) l" }7 x; @. v' O if(objs.length == 0)
& i4 X3 Q0 T2 _" F1 W9 W' G {1 R$ U) l! x' a
if(debug)
, U( t( `. ^7 c) [: R* ` {, ^3 K3 T2 G: ?# [
alert("no object found!:"+objname);
" o+ f! h) l; r0 C& E }
& T; \9 M @& t" F3 q$ g }2 O3 j J( U2 w) |: @' @1 [
else
6 H7 @; b: s Q5 ?4 X {
* A) z- E5 w% u( {- ^* ? 3 j# I+ p# _' ^ n) u+ }
for(var i=objs.length-1;i>=0;i--)
5 r5 k2 V e! s; F* A {1 \( F& i3 m" F- ]$ ~% o
var node=objs.item(i);
: m6 }" K* f @% B: g* x % b U# N0 [9 @
. e( I$ g n* |1 l9 P" L9 j2 G, L if(this.getobjstyle(node,"display") == "none" ||# h$ r2 U6 o" J/ X& S# g
this.getobjstyle(node,"visibility") =="hidden" ||
4 Z( Y+ M" B0 N Y, N2 j- D3 [ parseInt(this.getobjstyle(node,"font-size")) == 0)
) C0 B# r) g+ H% {" {0 j# { {9 \5 [; e2 z: N2 ?1 R
if(debug)
+ V% h: p3 j2 p$ M& E/ l5 \$ z' ? {
% m( _# j6 ?0 z* C9 l, W6 N6 I alert("remove invisiable!");$ a9 {0 \6 \, M; ~, _; p& ]# |& A
}
! ^+ M( }6 ^) y2 e4 o, N: u0 V node.parentNode.removeChild(node);
6 s. j) }& F( v8 T : f: }2 V. ]9 P8 X3 |4 @' N
}
, J; M7 B' L7 S0 w) M4 I1 [4 m else 9 N1 Z0 m4 H7 ]7 Y
{
5 b7 A( a$ B# N if(node.parentNode)
R8 P X' |3 L/ l, @ {
" q% } U8 V4 \8 { var orgNode=node;
% d+ p% i! q6 p, K* C) O( j" I var orgColor=this.getobjstyle(orgNode,"color")4 e. n# J4 g, c& c% l
var orgRGB=getRGB(orgColor);
4 [) L5 s# u+ K. A7 S
& L' c k) d! t% Y1 J var parentNode=node.parentNode
1 H: m* P7 M5 k/ @9 { var parentBgColor=this.getobjstyle(parentNode,"background-color");7 l/ L* p- v: Q9 Z0 B3 a
( l5 q' ~7 U* o8 q4 y
var isLast=false;
3 W- ?0 K k! B6 x( y2 u- j0 g
8 Q! K" X7 g* l' v) e while(parentBgColor == "transparent")
s6 G! x! }" d( j {/ r8 _ k8 S5 ?
i4 R( C. Y) N6 N* l5 M8 X. m
- \" t% L8 w, z' ]
if(parentNode.parentNode == null)
) e7 J. o; q6 Q0 n( T9 m7 m8 l {
; B5 e0 ^" Q1 f isLast=true;
! o: ^5 p; d) E) U9 H break;% ~ V: q- j% L7 ~3 S
}
% |2 B) D% r9 w) N# { parentNode=parentNode.parentNode;1 M4 M$ e& M; e& y, [2 v7 S
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ g& h; P g" H8 M% y6 K; |3 d! \3 S/ O3 [! U1 f
if(parentBgColor != "transparent") % i6 u; Y7 [4 Q
{
A! z9 V q0 O+ f/ H( v* t$ Z break;
3 a) K" ~6 w9 R: {0 h# }) F }! D) N# Q0 L9 _
}3 p( v8 R/ d; r) F: r1 I; p m
if(isLast)
; k8 d1 |# x9 `( `4 l4 Z, k {
! K# C1 A" N. D1 J `# p9 ~ if(debug)% m( _: v8 M4 c! I5 N% J
{2 J! {4 ]4 [8 n3 g2 ^6 ?" {4 s
alert("last!!");
$ m7 H4 V5 ~; R }/ @5 V' p7 m7 M1 V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 b3 \' \- p1 q1 E1 \
{; t; ?. _8 `- }. E8 `" T
orgNode.parentNode.removeChild(orgNode); ! ]- h' ~ e: p" U0 T. l
}9 C( |) i. G: r2 |0 L4 X
}9 M' P% a7 D' p) [- C: g ]
else1 M6 m, b+ C' q/ v1 C6 j
{
' k5 B9 {# j3 ]% K }( L8 K if(debug)! I4 `! q: v$ X' f/ l
{6 ^9 v, ?" R! }$ J8 j
alert("compare color and parent bgcolor!");
4 V0 Q) V1 ]' X+ X5 y6 p }
@: o. R* Z! J- S v. F parentBgRGB=getRGB(parentBgColor);
; @6 x) @' `9 w2 S8 s1 J if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 a" ^/ Q' g2 f0 ^. z {
+ h! i0 s: a5 ~- i; h orgNode.parentNode.removeChild(orgNode);
( v r. w8 C' E }
/ X# O/ K1 h! u }
3 k' t! e1 Q% `! y4 ?' w3 ^8 A }
. N4 M2 q+ c; _ }
9 |7 Y4 T- Y, ?; N }9 u( H4 l; n. q6 X/ h7 g
}$ s. U5 Q& z, L9 b/ P# `0 c
, B. L% `: T" u! q d! K2 ] % |& B- I& j" Q3 E& E( {" w
var itemFrames = page.getElementsByTagName("frame");: Y* U L& i: M7 ]* a2 L
var itemiFrames = page.getElementsByTagName("iframe");
0 h* J! {& B- A; e
8 Z4 K7 X: V/ |, e. ? var frame, iframe;
/ ~1 O0 g" Z% E if (itemFrames.length > 0)
& ^3 g3 T7 G! b p: N/ R; i. C {- O! A% n( C7 G2 {
for (var i = 0 ; i< itemFrames.length ; i++) 1 e$ e' d3 j$ x% h# p0 S s
{
' t- I5 f* x8 c6 w frame = itemFrames.contentDocument;
" _. _/ l4 `7 t' i* D4 | this.RemoveHide(frame,objname);
) z. l6 f+ }* I }
y% R( p6 s; M0 C! O }; H( t1 s# F/ i9 }1 t& o/ P- l
if (itemiFrames.length > 0)
- L! W6 H5 h: O2 v8 o3 B- M {
. M) h+ V j( n/ O8 C for (var i = 0 ; i < itemiFrames.length ; i++)
! O4 s: z- L% N9 q7 p {8 a. V) h% B5 g( W) a
iframe = itemiFrames.contentDocument;0 b4 ^ z8 j0 h( n9 v2 u% ~
this.RemoveHide(iframe,objname);
; V, H7 ?% X* H9 I& o5 Y) a }3 O6 L4 p7 V# s$ d. a
}3 G2 P x9 N4 E# S7 b9 U4 o
}
/ Y1 u, h8 \6 o0 ~7 c; b) ~% h catch(e)
2 t9 w, b* C V; d* A: W {6 U$ B# q; \$ R! F1 i1 U2 }' M
if(debug)/ w E: n3 f4 t2 A' }
{
" [3 {# _2 m. _- M, E( O alert(e.message);: n+ ]5 }* X& s
}
0 \3 U, x6 m n/ P6 T% H }
, r" Y5 U2 i/ E$ B% K- \& F }) ~8 ^# P! W+ i" s, l
/ o! C$ b: q, C0 ?: e+ G+ l}
* h$ j& ?, X( b9 z2 s4 a: M' R7 M2 q$ g2 a; d
function getRGB(colorString) O+ h# V! ]% r1 C2 x6 i$ W1 ^
{$ j3 w! e! ^' e( ^1 d2 z- p
var RGB = new Array;8 A8 v5 B, L2 G, q
var tempSting=colorString.substring(4,colorString.length-1);
2 i! H. G; e8 ^ var tempArray=tempSting.split(",");
6 Q+ F) _/ C# A q& X' u9 Q
" z, ]1 q2 [$ x1 q RGB[0]=parseInt(tempArray[0]);
+ }( s( W$ z6 p5 a7 `: i% v RGB[1]=parseInt(tempArray[1]);* M2 f! [6 i" K' g) f) c' Y* X
RGB[2]=parseInt(tempArray[2]);
0 H0 L) Q* M6 w; k* S- H1 p5 V 4 N8 A s4 H; M) |, B: J4 h
return RGB;0 v/ h [2 `4 g8 t$ }
}
# `4 F# R# W( j- b6 U6 v4 vfunction keys(evt) . I1 n( H5 W5 R9 |: _# A6 a1 U+ ]6 r5 j
{ ( N' R. P# }% x5 g
if(evt.ctrlKey && evt.keyCode=="81") 2 u5 Y; z" `& F9 R3 c! l G- ^
{
& L" j$ H( ^+ S2 m$ X CleanHideObj.on(0,1);
! B5 `* f+ P/ x; Y' j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ I/ @* _% X! G0 A
3 s0 [1 _7 T* e- q { } # A- m$ ]0 p2 ?# t$ T9 Z
} / H% }; W0 |) I" R0 ~7 W
document.addEventListener('keydown', keys, false);
5 f% a4 X; u" v$ w% i; vGM_registerMenuCommand ('Clean Hide',
. w" k6 A4 R( q' B2 {+ P! }function(e){
$ E' D# G" M3 d2 I4 o. V2 sCleanHideObj.on(0,1)' G6 R7 S/ |: g3 S( e$ a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 ?6 a. U9 h! E# ?( Q v! a( R
});
. j+ D" O6 r' H |
评分
-
查看全部评分
|