|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " X$ m$ _% m: X* B
% C3 S% R* a8 B2 p" T/ _火狐插件,用猴子. I: ^6 ]0 ]( ^: I& v3 w6 v1 o
( N2 {0 B( Y8 C0 x0 ]$ p/ `6 avar debug=false; % Q8 h* s2 @/ k& Z o
var CleanHideObj=new CleanHideClass();
: L' W$ I; R$ a. R
( Q2 N% g8 W1 ?8 p1 T/ j( |- Z" Ifunction CleanHideClass() 5 w+ Z" F4 `4 S
{
8 j* _2 e( E; ?7 p
* F2 G* b/ j1 r1 K8 [ this.on=function(id,bMZ)( B- A }9 \& m2 t
{
7 N0 C6 ~* x! Z9 T( V3 {( g9 r + _3 A" r( C2 H- t$ Q9 X
if(id == 0)
' e& h. _+ S; t) j& N {( p( I' L* Y0 z* ~2 l$ ~
var page=/* document.getElementById("content").contentDocument */document;
W8 S7 @# k, V this.RemoveHide(page,"span");/ B; }6 ~9 `* W/ @2 N
this.RemoveHide(page,"font");
# j: K& ?8 S+ Q- H this.RemoveHide(page,"div");$ C- n- w6 u& e4 g( D# r- `
this.RemoveHide(page,"p");; P5 {5 i N M+ l; {8 W
# e6 B" D/ i- {# ]& ?0 `3 ?. i }
6 E8 Q3 J: T" i! r ( I0 P5 X9 D# y0 M* s/ @! O6 [1 ]
}0 D# B& V1 k4 B, ~
this.getobjstyle=function(node,prop)2 e( A2 C \& w9 |
{+ B# i; {: k% f* R0 X4 T/ v
try
. M5 M" @1 n1 R2 b4 P& ?' z% | {
0 }( S7 K; M5 J, J+ ?: L. @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ @ k; ?* F" L
}
$ c3 [' o; \& _4 _+ A+ F) F6 z catch(e)
# N3 [- L: Y/ K2 L" d0 i/ Q {
$ y0 T% R# h4 A# {4 ^2 f; ` if(debug)
9 F# W" }# K! ]8 P; x3 W9 h4 Y {* X5 g$ _! I+ a" n! {, S/ X( u3 Q
alert(e.message);
9 `# d# _+ ?( D) Z0 {* x3 E. n }0 Q% M5 e3 P+ v
z! }' E5 |+ W+ B7 w, l1 X
return "200";
' V& z4 h7 T/ M8 @; o }
% Q% X6 r `4 E6 ] }6 R- h" c: m' t$ l x5 `! U0 e
8 M) b' r) a+ t" s/ a: t
this.RemoveHide=function(page,objname)
; `" f- V _; X5 F8 }8 h {) j( a. E7 Y3 \; D) T8 N
try8 w( K& i$ q6 z: ^. u2 O
{# F) n* H ~, O. y; Y0 }: g7 z7 R+ R7 o
var minValue=15;
# d$ v8 w2 P8 X+ y; r! t' W% [, [8 t var objs=page.getElementsByTagName(objname);
; U4 [( H1 c a! X6 s' E/ m
7 L6 s* i! g8 M if(objs.length == 0) : C s5 K' c G$ q0 ]
{5 U: h0 h) {" F' S) \# ~
if(debug)# Y' I& J. `6 |" z1 M
{
3 [ c4 H$ k( f% d3 C alert("no object found!:"+objname);" J; F7 R( b: k( E& z
}
- W6 B. A9 r [" D }) M1 {6 C0 [4 T* F# }
else1 e; U. B! W. M/ P( w8 C
{
, O& d3 }3 y9 f; [( Y' Z$ i! \. S {
+ V, {0 L/ L P1 t6 E `) G+ e for(var i=objs.length-1;i>=0;i--)
9 Z% h% g2 h% ?4 p# C: N {
! D: q2 C+ \+ m1 j4 K$ j var node=objs.item(i); ' O, p; N2 ~5 ^% k# H5 Y
2 C+ e2 l: N8 n% d4 g% @
; X% d7 {8 Y4 } Y; x8 [4 T) W if(this.getobjstyle(node,"display") == "none" ||
) ] J3 c/ I+ [9 y. ^ this.getobjstyle(node,"visibility") =="hidden" ||+ x# x7 n, g0 P6 k
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 {" W4 o# E; B8 G% c8 Y! d9 T {
$ ?6 Y0 K d! W6 J1 |/ @; B if(debug), I; |5 L& p0 Z
{
, R0 x2 i* F W& W7 A alert("remove invisiable!");1 a( k0 m3 V1 d
}
# ]3 W1 T ^# \8 v' s4 A node.parentNode.removeChild(node);) U' u7 S, L1 q! u
8 j: R e, X/ d
}
4 e6 ^ t# Q+ `& ^ h# q: a else & i G5 o$ G: t+ X) w* T( q1 k
{
$ q4 G% N' I1 ~7 R if(node.parentNode) , y2 Z* u) N2 N6 } u
{( ]. A7 M6 B% L O+ `. S% |5 ]9 r" @
var orgNode=node;
. B8 x9 C$ U+ C- R7 f- C" E7 ~ var orgColor=this.getobjstyle(orgNode,"color")" \ z, f, I; c& U B( R# {$ p% c
var orgRGB=getRGB(orgColor);
( P2 w3 f) V! N
( I) o( F) w& G3 D7 z1 J- \ var parentNode=node.parentNode( Z* l P) W% T- ~5 ^) s0 P8 W
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 \' X. _5 L! p3 E; ^) m, l
% N/ l, O6 ]& F$ j. g+ { var isLast=false;3 Q$ v$ c" I' S& h; E% B8 R
4 o3 ~" }4 o4 ]% k$ l6 S& m+ D while(parentBgColor == "transparent") " `0 N. o& @: v! E6 c) ^
{2 }6 F( R% w# ~' ^) w
; W/ q: C+ g6 i+ j) b. g& \
4 N8 T, c8 h2 c$ V9 B# X
if(parentNode.parentNode == null)- U. J2 P9 o) T! @$ d5 \1 R( C
{
3 V8 @& |. c8 p/ [2 L isLast=true;. B6 O3 t2 j5 w) H6 a
break;
, _4 i k3 v: d/ i }" [5 F' P8 K/ s2 F4 |# q
parentNode=parentNode.parentNode;( U( [, V! c9 M, P6 Q
parentBgColor=this.getobjstyle(parentNode,"background-color");
: E7 V4 I5 h6 B+ C; [& q$ g
1 x* P& T- _+ K, Q" C if(parentBgColor != "transparent") $ f2 T# r6 N3 y0 ?
{
) B# A x7 W: y% g. a; E9 f o- Y break;6 E1 u6 h3 B( `$ O3 x" `
}
" h7 [$ [5 o' V% \+ [ }5 z' `1 e* L% T' I
if(isLast) 7 j0 X) D% a9 T* G2 J
{8 m% f7 \7 Q5 V
if(debug)# e2 Q9 x9 F D
{- B D) |/ _) k/ U
alert("last!!");
5 T" c2 A- O/ J7 _- p5 g }
z" y) E( M4 I) h4 D2 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- t2 Y3 K; k' C9 g9 R3 i* n8 m3 \
{
g1 j* z) Q" [% U+ b orgNode.parentNode.removeChild(orgNode);
# H) P6 b9 ~$ K( c }
& }# S9 V: r* N. Z8 F+ T }
' B) c) B: m; F9 n/ J, I else; Q1 B- U" l% E- f
{7 f$ F: ^/ e6 Y L) S# D$ M
if(debug)$ E& B; \' y# A) ]7 D; J
{
4 b+ ?: j0 l) N8 b7 r; B8 Y @ alert("compare color and parent bgcolor!");
! ?* q9 r( Q I) x) F }
9 h/ Q2 a$ L$ j parentBgRGB=getRGB(parentBgColor);% y8 r8 z3 t- R7 c8 w$ c5 u, J: m
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ `/ M1 t+ \ d7 X& I3 Z {
* T% K+ l2 f) I4 N+ H orgNode.parentNode.removeChild(orgNode); / c* e8 k, M9 u! P) N8 _# c
}' f; u" x8 j4 _. k
}' k9 k- a& U) K: m( R
}( M8 i; J9 R" e
}
1 b, G7 w, |6 u9 a5 y }
" W. ]6 K! d; q3 g$ R! [1 E) y& a: v }
6 R9 z! n" H) Z+ B, s. o S' Y
2 O) A. V7 n+ C2 l5 P 7 S, W& X% k* R3 n! q9 y
var itemFrames = page.getElementsByTagName("frame");
# h% o/ J! Z# E( x3 y var itemiFrames = page.getElementsByTagName("iframe");2 f9 Q/ ^# _ H# K
! d6 U" t, ]8 v& D# I7 K
var frame, iframe;- M/ p2 \2 K5 H$ }7 m n' J
if (itemFrames.length > 0)( V' ?0 E8 E" k. t, k; ?
{( N. L" @9 c* |) x+ B- K
for (var i = 0 ; i< itemFrames.length ; i++) 8 H3 H- @- u4 P
{ h$ u6 y! `5 x) S4 D
frame = itemFrames.contentDocument;$ Y! ]& B( N6 F/ v! }+ Z8 ]9 V( B
this.RemoveHide(frame,objname);
* g7 ]0 X$ Q$ ]; t, I }0 ~, s! d, a' C k# ]8 ~" r2 Z
}
4 S. d1 C7 [6 m if (itemiFrames.length > 0)( I7 m( r0 s+ E4 }" M0 ^0 X A* R+ j
{8 {1 L% Q) P/ `5 h' y4 v1 Y6 ]1 _
for (var i = 0 ; i < itemiFrames.length ; i++) ; C. R9 M# U- f# q; w
{/ `$ _. A9 G0 ?5 s( k. p, V
iframe = itemiFrames.contentDocument;
( {, r& g2 x- X* w- K$ w$ `$ P: j this.RemoveHide(iframe,objname); # t' Q% V5 T7 p3 ?6 \
}3 G, S& P+ v( a: O0 {% b( m
}
" Y4 k2 l1 \( X* U }( }3 U/ e+ B3 x6 K
catch(e)1 |% X D' ?6 {- l* g( c) Z# G1 A
{4 p& x: o( o- Q: g! e& L
if(debug)
/ @) A4 [) T' y* B6 L% f, I( s+ S {
! b8 q3 T6 h$ m k2 y6 k6 z2 I; x alert(e.message); }: T: V" h7 u! ^# q% P* M5 s
}
( W9 f% U( x2 N, C+ E& H2 i, G } w) t, ]( E o) H) t$ O! k9 }
}' V/ m+ H0 J- L; Z' ~
& w$ f8 L1 P! \/ J}
7 G2 A6 \2 @8 _/ d M" l# `' Y* [; {$ m4 z" W1 s2 z; J; Q
function getRGB(colorString)+ g s* T& c: x
{
& ?) w6 ~1 P6 N& s/ p( e8 f3 u var RGB = new Array;
7 w: S3 q {0 x& t% o0 k var tempSting=colorString.substring(4,colorString.length-1);
6 }* z7 N6 K2 h/ T( M. b var tempArray=tempSting.split(",");2 E* Y0 t# K% I7 i' ~( I6 b
- ^$ q' x7 l! n+ `) Z# g k
RGB[0]=parseInt(tempArray[0]);
+ J8 g2 {$ _% ]( K0 E+ n RGB[1]=parseInt(tempArray[1]);
$ {$ ]7 H+ C5 x) K( S RGB[2]=parseInt(tempArray[2]);; T8 o$ Q# S/ {3 n
( k. t. n- @. t/ j
return RGB;6 X- Q& e% [5 T( V
}
2 s0 P1 ]% t5 j# l/ `) ~function keys(evt)
: t4 l) u, h+ O' t- B3 L# N { - U" o" ]) Z4 V) k& ^
if(evt.ctrlKey && evt.keyCode=="81") 9 s' V7 U! C2 j5 X; g9 W ?
{ `4 z% Z" `3 L2 b( Y* R
CleanHideObj.on(0,1);
% C z4 N( m2 }# ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 N. k$ c6 x: @( S( Z# _; b. X' ~. v
g, I( c, @; q- h
}
, ?5 I1 J; H: P% u& c) w3 q } # H% Y4 @& Y# S2 \& n O% x5 V! {. U7 @
document.addEventListener('keydown', keys, false);
! r0 r3 Z9 V7 I% DGM_registerMenuCommand ('Clean Hide',
' ?3 ~/ g3 J* K. z; Xfunction(e){
7 I" F, r; Q5 m/ fCleanHideObj.on(0,1)
& e$ `. M! ^/ O% g; m* A3 oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. z& n* I& O0 r});
3 v( s* ]% \- c w0 G3 d2 a) @0 @ |
评分
-
查看全部评分
|