|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( z1 U! Z! r4 x4 e N! ?+ o2 c
3 y) F$ N2 N; \7 Q
火狐插件,用猴子
/ _ _7 n. I. N/ S7 S$ T$ k- U( A) ?9 S7 o* {( r- C
var debug=false; " l3 R5 Z1 h$ m U5 O
var CleanHideObj=new CleanHideClass();
3 x! i0 u- U$ A$ ?
6 @. M% {2 y; Afunction CleanHideClass() + W3 N; C( K" l* k9 o' b
{
; _, N& f9 _# u7 I1 H6 m K6 a \" U8 o
$ K% j/ \$ h! y4 D! ]# L this.on=function(id,bMZ)
" C$ Y i1 W# ~. P: h {
& s& e1 }- V+ a* ~" W& q, `
* }4 M& C; U/ f& m7 i' q if(id == 0)1 O0 D/ z7 i. Z/ m+ _+ j# n- w
{
& y' s) }8 H* L0 Q: }. h! N var page=/* document.getElementById("content").contentDocument */document; " T6 Y' U) D8 \# |! I/ C
this.RemoveHide(page,"span");# \3 t+ s! x0 R- i
this.RemoveHide(page,"font");
+ U- A6 ^; S. z2 N, r! N this.RemoveHide(page,"div");
: A; D" Z$ H; A/ M/ k5 s this.RemoveHide(page,"p");
/ H6 P. J: k* b. `+ u ' S; B& c4 W# d/ I+ c
}
- x* e& T* p4 ]7 l: K _
- h' N; X1 j/ E" s }$ O: ]6 |! l' _/ ~
this.getobjstyle=function(node,prop)" n+ U0 b% |- V0 x# m
{# U. O5 n0 m: B7 K9 U6 Q
try
V, S# {& w, N1 f$ a( B {
f& {# {1 v- i" k- C c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' f1 I$ h3 E4 G. j1 D9 O1 e7 Y& w }" |! U* R; ` L9 l& K9 d
catch(e)- T" W# [8 `. v! w' G
{
+ o: h% D+ \/ i& Q9 Z: V) a if(debug)
5 g9 I, o, O3 g; o5 u( f' ` {7 [" p- C! e$ X( U; I- @7 x
alert(e.message);
! ^5 K8 ?, N. v& _ j+ U }. l4 m9 L( j% O" S" u5 U
5 ~' G5 P' z( o& f: r# n- H
return "200";) i8 g: N7 W- m$ N7 Q6 a( Y7 a
}1 f. d# a" {$ f: q
}
- y4 ^; E! l. Z; \6 W/ o ) r/ q1 |9 f$ j+ y5 @0 B
this.RemoveHide=function(page,objname)( U- n2 ]0 [. f! b: S+ b+ {: ]
{( N# j3 U- h# R3 y8 \
try
0 X' e/ ~2 r% ^8 R3 v! t' I5 g# |! X7 b {
8 ?8 |# p0 L% I var minValue=15;
b# U& M, s" P) w9 k var objs=page.getElementsByTagName(objname);
% R2 Q3 p! F1 ^. _; H+ g% J' k) W. i6 p% [0 _+ a
if(objs.length == 0) " @8 }1 a5 I0 B0 x7 p& i
{* k/ v+ V, a/ L' K1 g6 t4 Y7 J6 S% V
if(debug)
/ K7 b! D8 v$ M0 @) `. I- g8 Z [ {
4 s& N8 A* d& U7 M7 f5 N7 B5 f" Q alert("no object found!:"+objname);
) e, }4 _' e: N; x }) x( t7 W0 [3 |0 N+ `' o
}
( |8 H2 a; B$ s" a9 P5 b else
" ?; F; Z# C) t1 r {
# O, G/ ]- I' m6 Y: F( @# ]$ e $ \3 F" d* F! n) _, q; f
for(var i=objs.length-1;i>=0;i--) ; C! C0 t6 N: o
{
+ N7 G: M* k/ V% I& x var node=objs.item(i);
/ Y5 \: O& u, Q% X 6 _& s) g% l5 X& T* V; y
7 D% l- d9 x5 {. r4 N if(this.getobjstyle(node,"display") == "none" ||
7 Q2 @ d) T; c4 R8 U: E; t this.getobjstyle(node,"visibility") =="hidden" ||
3 B% T7 R. F9 d3 y2 N. R) H parseInt(this.getobjstyle(node,"font-size")) == 0)
: y o( W+ @- b/ _" H4 L {
0 K1 d# a. [; W [ N if(debug): I( S B. ~) Q- _% Z L! S
{$ T. M( E& H+ P7 U" ^. W. V) W) _
alert("remove invisiable!");
+ N7 O6 e# |" J/ F$ h }. O" u+ z2 B" N6 \( H9 c
node.parentNode.removeChild(node);
3 F3 r Y3 N- P* f% p8 h# q# o % J1 a2 d# _0 H' J
}3 M4 t* @/ p0 B6 c( t
else . |4 M6 A) _; e- v: P/ }. Q D
{" l- H* V7 K# N, _3 _$ d `9 G
if(node.parentNode) " G3 T' G6 m- k7 j
{8 e+ ^: Y* g$ l; O- s+ Q) K+ f
var orgNode=node;7 F0 x: g. g. ?9 m( @, v
var orgColor=this.getobjstyle(orgNode,"color")% T' b# m1 W; x7 z& K
var orgRGB=getRGB(orgColor);
) J8 {7 r% T$ U5 O t* m , W$ @) H4 N- z x5 |6 y2 m0 E7 }( E
var parentNode=node.parentNode
$ L2 r( e0 A" W var parentBgColor=this.getobjstyle(parentNode,"background-color");* U- a* F3 o3 }$ k5 ~9 J
9 r3 ]0 [7 u$ i# N
var isLast=false;
# X- k% G4 |9 n
+ a3 y$ b( C8 F) K& ?0 g! { while(parentBgColor == "transparent") 5 r! S: F2 L C
{3 b: q0 Q4 W& k6 D* @
1 b. N( j5 {/ l ! s$ Y. o6 D' g( h' k/ l- o: f; A
if(parentNode.parentNode == null)
' i6 g5 {$ r- t8 ]+ k! d {
2 m: W: b2 T! s8 ~ v' Z9 S isLast=true;4 D1 k& i# ]" a% R9 c; p& v
break;2 K2 f7 d1 r$ `/ z+ Q' H
}
" H$ D2 c0 F, x; B1 q: t5 x4 s' k parentNode=parentNode.parentNode;2 o- z1 p/ l* t0 k, @$ K
parentBgColor=this.getobjstyle(parentNode,"background-color");4 x- e2 o! a) e" |3 |4 `9 }
. r2 i1 r0 K) n6 ]/ [
if(parentBgColor != "transparent") 0 Q4 Z# j+ V. ]
{ P$ H3 ^" T) O3 T* k' B
break;
6 ?( p( H; C: D2 N8 {1 ~ }, r( M: @* t4 T' E/ p) s
}$ E& N& [& B R, `$ ?
if(isLast) 7 b( `( N( ?7 g+ m1 P! I$ G- M' i; @
{
0 \2 A6 W2 r/ {% C9 y+ t1 s if(debug)
" W1 t5 \' ^6 `* U {
1 O$ A9 d5 K% B' C% m5 c v, H alert("last!!");- K% r8 s/ ?6 H& Q
}6 [1 M8 s/ a1 w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- V9 ~6 T2 f8 Y$ k9 G {
/ k$ H$ K! D. Y& G( D, F" } orgNode.parentNode.removeChild(orgNode);
( h/ q1 O" M1 f+ ~/ Y# [/ [ }
9 }3 q% X1 l0 o }
+ [! `& }: R, O! Y" T: c else
; {8 M% O) m7 f% k4 M" W {
) Z; i0 v0 W# X if(debug)
* h7 S6 _; e, G) v* g9 L6 F3 E {2 {. l6 D, Y# d7 q6 N2 \* H
alert("compare color and parent bgcolor!");2 A' t% P: ~; u1 S" d6 b
}8 i2 p, U& c4 M" s7 K! \
parentBgRGB=getRGB(parentBgColor);
& T+ B3 e- G& B8 ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& p, b' O5 P- F! I3 c! f {
% e( B" A" b7 q9 s/ C: W9 {% g) t orgNode.parentNode.removeChild(orgNode); . {* L3 Q8 I7 R' w- d
}6 Z8 M6 y4 F/ O: Y4 `
}9 r ?; U; r( N8 o& ~$ O) r2 X) a4 A. R
}) [% l' A: ?8 Q
}7 }! y/ N8 g. y4 V5 [2 W* y* z
}' p, y. j5 y& a" \- k
}: u8 N- R( a% d5 W& K A
& D' Z, h9 z( H. c" i* a
1 I. y# |( O4 h' }, s& _ var itemFrames = page.getElementsByTagName("frame");
: l" @& k2 P2 }$ |: Y- R, X8 a var itemiFrames = page.getElementsByTagName("iframe");
% X+ e) c5 g+ z; ?. Y6 o8 q/ e
- [$ |0 v' ]: T$ r var frame, iframe;/ t2 q* c8 y, t' v
if (itemFrames.length > 0)
+ n* q& V8 g/ p: D {3 U4 s1 \1 }; E9 ^4 ^4 I K4 W7 A
for (var i = 0 ; i< itemFrames.length ; i++) 7 x& o) l i. g; L7 ?# T% l5 v
{
5 w8 P! Z3 f- i- ] frame = itemFrames.contentDocument;, X4 ~$ I7 s) }, t! b( e
this.RemoveHide(frame,objname); % F4 Q; J$ B& W/ Z
}
9 v5 r$ |1 G: y- i }8 N1 }5 j, g7 ]
if (itemiFrames.length > 0): w/ p9 G% B0 d) n6 W" ^4 J1 l/ h7 {
{
6 ^* Q* U0 p: \' T: |) s* \9 x for (var i = 0 ; i < itemiFrames.length ; i++) $ l) K% o+ H4 h o7 I+ S
{ P5 F! _4 d2 W) }6 e! H
iframe = itemiFrames.contentDocument;
L3 N e% y- U" q n; @ this.RemoveHide(iframe,objname); 7 j- D9 @/ ?1 _* _
}) t$ h2 j; W2 T( |, C' O+ N
}
: g2 l7 N7 s! }% o& N6 L$ [) C }
. ]& }% Q t; L catch(e)
# a7 L+ T6 u1 P0 U/ M' N {
1 [8 }. C) w: F" x2 n if(debug)
! l1 K) X+ h8 c# y5 J2 { {
- x8 x8 r* X% @# a9 [8 q alert(e.message);2 o& S* n3 T! j5 G+ _ B" K
}; C+ v+ Q) @, x6 t
}+ ^) Z9 Q M8 x; T! Z+ z- s1 y3 j0 F- u
}
. X) }4 e/ ~' Y& t) y
0 N) f7 c' s6 l1 N}
0 ~4 Q1 x U P9 T: p% v; W1 a: K. p6 u1 Y0 q8 Q
function getRGB(colorString)- |* z6 I5 j: J" N0 M
{% R+ A" ]" W' D
var RGB = new Array;
8 c9 s5 z$ Z' V( ?$ ]5 q' ?3 d5 V var tempSting=colorString.substring(4,colorString.length-1);
- @3 Q6 G _, x: f0 N: E/ V6 ? var tempArray=tempSting.split(",");
# l( M! L9 @0 `; k/ l
$ m5 D4 l9 r8 n: n RGB[0]=parseInt(tempArray[0]);% G; Z" u% O2 r7 o
RGB[1]=parseInt(tempArray[1]);
$ q2 H6 f4 y: B8 }9 l& P% O RGB[2]=parseInt(tempArray[2]);( E0 T6 I0 ]; B, S6 g
, x9 Q) n9 D7 Y$ a. u0 K' F return RGB;7 ]# w7 X$ w$ N- V7 h- J( y* [8 o
}
4 s/ Q) R; [/ [" C! G' n$ [0 kfunction keys(evt)
[1 S" S2 F2 H2 `- k { 0 |- s% e7 P1 e8 _5 e
if(evt.ctrlKey && evt.keyCode=="81") , J- w+ ?; B) \: Q4 c! w
{ 4 O: n9 E* k, b9 k" B) a' w
CleanHideObj.on(0,1);
9 [0 ^$ O: {$ u$ k2 {" I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' ]0 x0 F# R& C! X2 }5 |
' j0 U) A# C0 t( N& W }
6 W+ B0 d- b/ ?/ a4 A- | }
: e* d2 V0 `" jdocument.addEventListener('keydown', keys, false); + v6 h7 V: a; ~# v; O
GM_registerMenuCommand ('Clean Hide',
6 u: K) `4 l- T3 e; U; Jfunction(e){
% n& A% u* N9 ~CleanHideObj.on(0,1)$ s7 B, ?( h' v3 b5 D5 {" l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 \ I% w4 X# i: g
});4 I2 L& l/ @1 [2 e' {
|
评分
-
查看全部评分
|