|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ k( c( h7 N3 f0 }! W L3 o' x4 Y( h6 A
火狐插件,用猴子! Z# r7 l( e) V7 N7 X
' j4 L! Z. b7 K4 I: i
var debug=false; , K- O2 Q' L* m; i9 q; T8 E
var CleanHideObj=new CleanHideClass();
$ c7 d( j t% v+ m
- \( W5 R; n9 A9 f! }6 j2 M& }function CleanHideClass() + I$ A9 ~5 o3 a3 N' `2 |. z
{ 2 h7 E1 W) s3 L' X3 s
# e; w$ W) C+ q
this.on=function(id,bMZ)) g$ W7 G9 k" k. S. @4 b
{) g; T2 @% m$ h4 T4 V+ t
1 R+ d/ O) V) b0 t8 v if(id == 0)
) w! X! ]' ?/ o2 D& n; H( P {/ M- |) O9 K3 n K, A$ N
var page=/* document.getElementById("content").contentDocument */document;
: u1 Q+ t& A/ N! F. U9 @ this.RemoveHide(page,"span");
3 i& @; o, j4 h8 [% V5 j" { this.RemoveHide(page,"font");1 c4 I9 K2 A( |9 c1 Z" R9 ^1 ^
this.RemoveHide(page,"div");" I" T9 P4 Y5 ]; `6 P) w
this.RemoveHide(page,"p");
, p) y# b3 C8 a9 i: \$ A
+ d# e9 y! m; c/ A+ ?, e! O) ` }
- K$ f2 \/ Q" O" y$ P2 v
& P9 k- M8 A/ P: T ~ }! u4 ?& V) J, ^
this.getobjstyle=function(node,prop); p5 b9 G7 z r2 s/ R
{
7 L5 ?: I3 E) {; D3 z try& [* a4 d. j( B* K
{: R& c! h' X1 y8 R9 Y# M) c# O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 h2 C: t k' T }5 x0 m1 R- L" n8 p* A' W
catch(e) P% ~1 D/ t& c C
{
4 ?# k3 O _! ] W8 X& Q- d. Q+ p if(debug)
% B+ Z: R: l' c" N {1 P! V6 q1 M* E1 ]0 i
alert(e.message);8 F. ]! @+ C+ B! V$ Q* r3 a
}, s4 v( p1 u' W7 i
; r( p4 B7 s. ~+ O
return "200";
8 ~3 d/ C: i8 q) e" f2 ? }1 N" I9 k; v1 T+ X& U5 s5 {
}
R4 i0 }6 W2 j5 Z
5 n0 z( h7 \: P5 i2 a0 ]* n1 c this.RemoveHide=function(page,objname)" l: d' J9 E( O* N$ ^
{( @/ O2 C8 M, ^+ I c
try1 y) C: ?0 Y% C7 Y
{
6 U# X8 z7 e7 f: I: ~* Z- g var minValue=15;
6 ]# i3 U) ~4 b' E* S var objs=page.getElementsByTagName(objname); * j7 \* @% R$ ]
/ i9 R( y/ ~ t/ R6 l4 m9 a4 s8 ]4 j. x
if(objs.length == 0)
5 z( p! b8 I: d+ \/ J9 Y {! Q* ` Q2 F6 n. _! @# e( O
if(debug)
- r5 ^ [* W: I5 _5 A: |, x {
% }, P6 m$ [2 _8 |% d0 y alert("no object found!:"+objname);
, Q4 F+ }9 _3 W! G" Y% [1 J" Q9 N }- l) o$ I3 Y" }, G
}
R8 y" F; o8 a else
9 Q, ]3 ^; A. N6 A {/ N7 r9 J9 D2 t" t9 m8 K
6 n7 V7 G1 B, V7 N7 K- v4 m& Q; W for(var i=objs.length-1;i>=0;i--) ) `2 \2 h( e# f+ u
{1 o- e; d! {/ y
var node=objs.item(i); : r+ K. Z6 M3 g( B- |5 v
; `6 E. L) F% X' h# C
, m1 g- m4 u$ D' \8 C
if(this.getobjstyle(node,"display") == "none" ||
$ f8 l1 B; l& h; k+ `9 E this.getobjstyle(node,"visibility") =="hidden" ||8 U' }/ I9 |4 Z! K
parseInt(this.getobjstyle(node,"font-size")) == 0)
* F Y' a3 f6 X! Z @ {, t; G, M& k8 A7 r8 |5 h
if(debug)" @. a1 U& i$ U: H% T3 B# N
{: G. L9 C+ Z" e3 ^0 L- m
alert("remove invisiable!");
1 C! j8 O5 c9 m; C: m5 X }
) Z) [! a6 o7 K node.parentNode.removeChild(node);
1 v2 f0 x; X0 D- k$ m- r
8 b1 t/ y' i' S4 y5 {. B; r! M# K }+ e) v/ s! W) E$ @( T$ O
else
% O: \* _! b. y: _8 M$ F {% z0 `5 D# g* j2 X. [8 B
if(node.parentNode)
& O, m% |9 U- S. y- U/ h0 A, H- D {' H3 Q7 d$ a' K/ a
var orgNode=node;3 z6 ?- { k+ F6 I4 s
var orgColor=this.getobjstyle(orgNode,"color")' z5 W; C: u1 y- C7 v, Z" F% R& f7 a
var orgRGB=getRGB(orgColor);
9 s/ F( p5 V8 g, X
) h2 k& I& T8 w" V var parentNode=node.parentNode
, e) }( W+ _# z: S4 h var parentBgColor=this.getobjstyle(parentNode,"background-color");% A+ d" i+ w# Y7 f6 t
2 C: k* Z5 O2 ?# c: Q
var isLast=false;
! Z/ `5 J+ D2 w i% Q2 p
/ B. @8 A1 Q% K' Q& c while(parentBgColor == "transparent") 9 L/ x; F0 {+ N: R
{" C+ z; z, F# W! a" ^& x( A* N$ A
0 `5 z$ a) o! ^ H- g m6 }3 v
7 f! h/ s8 M) Q. ]: r4 Z
if(parentNode.parentNode == null): e b9 d3 D( N3 Q- R
{' n% j' J( u: g l) Z2 q9 |
isLast=true;
7 I1 w6 z+ e0 q3 m( N, _ break;
7 \. z- R" N' B" [! T. P }# r2 H$ n: ]& n8 ^
parentNode=parentNode.parentNode;. H" B7 x& o L0 V
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ Z6 z% X3 i/ j6 ~/ H; H
+ ?& ~: S( B$ k i if(parentBgColor != "transparent") B: U+ \7 y( l* A+ [7 L6 z! l
{
0 p9 G' V7 S* Z break;) B5 r0 N" L5 ~/ ?2 F. s
}5 A+ [" b5 C6 g' V. w
}
5 F6 N; }% Q7 C- g if(isLast) * M- k O; A- m9 c: H; Y2 \
{
; k. X1 ]' u9 m8 ]: N. L if(debug)
' w7 R/ ^1 l9 F- B& i- [ {
+ T z" B' M: @8 q7 s alert("last!!");
" L, R) s+ x4 a7 t1 h8 {: X. M' o }
8 W# N1 m1 a: a if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ I, N$ m$ R5 `$ J+ z {7 S/ u( r% U( ]. Z) ?& D
orgNode.parentNode.removeChild(orgNode); : T3 F1 }( E8 P) }8 B
}4 f# e2 X) t) ^) @4 Y( u$ i" u: N: h
}
" n- h" k) M- m( o else" b5 ^* \8 q" A% h! a
{
# C- n& ~* ~% y$ Q. z& C$ s7 _: @ if(debug)
! h' ]7 F1 d$ N, y/ d- G {
( y# p6 Q) N0 x1 U# l5 }3 b4 z alert("compare color and parent bgcolor!");
O% y' c" j2 W8 M& P% M }6 D5 H: C0 q8 B' J' I0 [( j
parentBgRGB=getRGB(parentBgColor);
2 d' E1 g# h% Q; s( ^- r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ L/ j( Y8 h) o$ D ?8 z {
1 E1 ]" W$ ~ A4 r/ D: ` orgNode.parentNode.removeChild(orgNode);
0 M& S5 S4 E, j: b, t# Z9 W }3 i' a( _2 r( g& V* C: r: K( a
}! e7 q+ v9 Z8 Y: f9 x& ~1 ]+ e1 S* L5 B
}
% s" V! _% W, N: E) _ }. v) b4 J8 Y: l( ^& K* S
}' k5 {( w! e C6 _
}
" ^) {4 W# ]4 {. E, r1 N3 Y Q" o 7 J6 v; Z5 n( G/ Q$ v2 f5 F1 n7 f
( U$ M' w3 H" J
var itemFrames = page.getElementsByTagName("frame");' s8 l+ s# R% B2 g; ]; ^1 ^' ~; Q
var itemiFrames = page.getElementsByTagName("iframe");' z! K' p2 ?8 i6 }% N9 Z2 k8 X+ \
* J0 O, q! o s
var frame, iframe;- x: J1 k$ [3 O( I" L }3 p
if (itemFrames.length > 0)
! }- v7 P% u- H9 E, l$ P" u {
* K7 P. A% t Q. a for (var i = 0 ; i< itemFrames.length ; i++)
/ o, g, ?1 u* @+ R: m+ A# r {
& |8 d K1 S! F5 S2 S0 U! P; T, ] frame = itemFrames.contentDocument;
/ W1 W- ^& V Q% M- I: z this.RemoveHide(frame,objname);
, W7 }8 U8 D; y$ A2 q! U0 q }& d: i: D8 f0 @0 J) R* T+ ?+ \
}5 @$ v5 f9 [' Z, \$ b
if (itemiFrames.length > 0)
- t, O8 C$ ?* }8 ^ \ {
. V" q1 i0 j6 k& U, i for (var i = 0 ; i < itemiFrames.length ; i++) / D* y9 f8 G0 u$ H2 d! R
{3 L! Z. Z3 ^6 Z" ]3 x) }
iframe = itemiFrames.contentDocument;
7 O" ^+ {( I& k: v3 L& i ` this.RemoveHide(iframe,objname);
3 \, N; U% ~2 i, {; i9 ~$ c; _ }! C5 }0 Y% x5 E4 o
}
; J- O! V0 z+ c' B6 F$ { }
9 k+ C5 _$ f3 \5 f& v! B7 q4 Z catch(e)' Y$ v$ y8 o' D6 C, J
{3 `5 ?* B& g& D7 ~+ `
if(debug)
' f3 a1 Z% U& p1 X( x6 T# X a {8 t2 C; h/ g& N0 R0 w0 g+ R
alert(e.message);
6 H/ G/ E% g4 a k, u. x# C$ w }
' K, j9 k9 k0 r9 t; `0 _ }
( X9 X! _4 u& }7 b5 J8 [ }
! b8 r% p% O( f) c9 D% \3 V3 r% N3 Q
2 o: e, ]) B y" X$ `3 r5 P9 m& N( u} G$ f$ v9 ^1 E; u/ i0 Z
7 {# q5 F! Q) [" l, @. g! Ofunction getRGB(colorString)4 [# ?% {4 _' j1 a
{
( ]7 y4 X; Z( q. g$ X var RGB = new Array;
* _# S0 I1 x+ e$ u var tempSting=colorString.substring(4,colorString.length-1);3 X3 g& W8 w G: ]2 W+ l
var tempArray=tempSting.split(",");
/ q2 G( T" Y0 u- s N. H& W9 y2 x
9 i$ b$ @0 D. ]5 j1 S& R RGB[0]=parseInt(tempArray[0]);9 k; b$ x% P& a, E' S, r9 j5 }. s
RGB[1]=parseInt(tempArray[1]);# e+ x" a5 Y( I( N# {
RGB[2]=parseInt(tempArray[2]);! u3 [6 c: F( m0 {5 f+ L
; N# a7 o. Z. E1 b. U. T9 Z return RGB;
; I; h$ u; b* O9 h}& M; I2 n9 D& B- G
function keys(evt) & a3 r2 J3 B! ], \* q* {
{
% }* a( D4 F) h' }. e if(evt.ctrlKey && evt.keyCode=="81") ) G7 \9 I' `3 p6 v
{ 0 u; o! Y7 V" G& ]
CleanHideObj.on(0,1);, K; x b' ~0 [1 j$ G8 p! g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
j& c, U8 X0 v3 @5 w + O( v! b, T& F: }
} & O* \4 T8 p4 C9 E
}
* M" l; k# ?3 U3 K& J( S$ @: h( P gdocument.addEventListener('keydown', keys, false); ! s4 ~, X9 {7 w4 u
GM_registerMenuCommand ('Clean Hide',
4 Y& q- L0 u5 r: t! g1 A- M7 Sfunction(e){8 P, l/ N- Q8 D: v H5 D m6 S
CleanHideObj.on(0,1)
7 s+ l1 ~5 p6 o4 g6 U' Yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) L+ | R: [' T# ~) I! e
});1 w* S7 R6 A& V* O. T4 o7 j6 v
|
评分
-
查看全部评分
|