|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 @0 i+ a4 {7 P* H0 D4 d9 a# e9 \' F- d
火狐插件,用猴子2 y/ c4 j' y, Z, d, Y; Y
M+ [7 ^: C' a8 Q- O
var debug=false;
4 k* Z& G5 q _; A& d4 ]) D/ Dvar CleanHideObj=new CleanHideClass();
+ ~ K/ G5 {/ Z/ |; R
" O* b* M: T8 ]3 t% c' Qfunction CleanHideClass()
8 {2 W, y7 {0 d" \/ @{
) V, V# V$ O1 O' I
5 ?" z, Q9 L4 _ this.on=function(id,bMZ)
9 C, Y B2 u+ ]. U( ], g4 Y {
* o+ c' o. N( m9 j O6 G " Z3 B( y8 y6 j {
if(id == 0)
8 [$ D& D* c1 Q2 M9 J( Q: L {7 Z. h" g R% \' A
var page=/* document.getElementById("content").contentDocument */document; 6 p' w/ V& f( s* V& W' e: Y3 C1 {, b1 B
this.RemoveHide(page,"span");0 y( ^& Y+ c: y3 N' v
this.RemoveHide(page,"font");1 w" b5 E2 @2 Y5 R* ?" m" e) T0 e0 L
this.RemoveHide(page,"div");
% m/ u! V( A" I1 K3 ~- ? this.RemoveHide(page,"p");
# h8 h) V7 w1 H2 S & S" m; z. C. Q. k6 m: p8 f/ E
}: \& a* a4 j; _9 o; g2 [
( h" ]) f; ~' _6 E+ s }0 H% c! k3 f: r9 H
this.getobjstyle=function(node,prop): R% |2 K* L: d& S: R' q6 w
{+ B0 K4 `, _4 v% ^2 n
try
! l" c3 [$ W7 g& ]2 y- O7 @* _ {
5 h. i2 J, E9 r% y" \: ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' g- H) H3 B" G3 R+ q7 C }
3 V9 o' C7 R9 p catch(e)
. n& H; x: H& ?# u/ Y* L, z$ j {) O" s6 E0 G" I; X
if(debug)' J& f( N8 N3 m5 G
{# l! _+ [ }" c$ i2 y* i \+ T
alert(e.message);
, I9 H$ ^7 ^3 o5 |# n }8 e/ G; R% H& ]$ l8 g) C. ~$ m
7 N5 H/ o% G2 b( l: S, L return "200";
( ]7 X L/ r, Y _- } }
6 w0 y* c; K$ |( b. V1 r5 L9 ^ }% f. l! l- ^' E. G
4 w3 i- A* Z$ s/ T4 N1 W* g this.RemoveHide=function(page,objname)# ?$ F/ n" b$ @2 V4 z
{) f4 Y# h' }/ P$ U* l
try/ D( }8 x( Z y6 R+ B
{
( b3 E0 L" r2 A7 P. }8 _/ i! N var minValue=15;
; b3 y1 y' _! Y6 d, W0 h. D var objs=page.getElementsByTagName(objname);
; x" N) ~2 l0 q) ^) p
7 W. U: q+ S: {; c' a1 [ if(objs.length == 0) ( x2 P, z' }) D2 Y7 l. ^
{. j2 ~/ _0 e4 ]* x$ f) B+ j- L' b
if(debug)5 r @2 ~9 M* T* _- x$ c
{5 x6 w: |- K; h9 |
alert("no object found!:"+objname);# y5 D v. B' L
}+ e Z F: G! s4 [& ]
}: X, S" ^, J. O; w4 _
else7 Y$ A, O! |1 c" ]+ r
{
. d$ O5 _' q) u" S
+ @/ J- k# i, {9 A6 D for(var i=objs.length-1;i>=0;i--)
6 _% B" I2 d' T9 n {) ^5 A. |. S' Z7 V" X; I! V' i2 U; \# @
var node=objs.item(i);
, ~5 K. e0 x2 U4 w+ B% I
1 z/ U8 D7 p" G' l 8 w h/ M F$ J+ I ^: u2 T
if(this.getobjstyle(node,"display") == "none" ||) X% H, X- z2 f& |: p9 R
this.getobjstyle(node,"visibility") =="hidden" ||
4 c6 ?& V q8 s" L3 k7 \: n parseInt(this.getobjstyle(node,"font-size")) == 0)
1 M/ B4 g) b; T9 ?4 c {4 q" V3 x9 w+ B( B
if(debug)% O3 d! r9 E) \1 h9 [; B
{% d3 i* K X6 _7 O
alert("remove invisiable!");
1 @. j2 c ]' U4 z+ V' K }
; f+ h2 w' @. ~8 K: o5 ]5 O node.parentNode.removeChild(node);$ H$ _" g( ^2 O/ C: J8 K6 e
. j2 M/ B9 T( b7 P: Z; u
}, {* Z: ?" B* ]# [! h
else 5 Z2 K) B, S {
{
1 z1 V' ^: A9 F- H1 S if(node.parentNode) ! `: Z+ d6 W9 m# E3 ?6 b( _
{
/ i) N: ]8 E' T8 _ var orgNode=node;" d6 B9 l& ]$ Q
var orgColor=this.getobjstyle(orgNode,"color")) Y4 I! F! {' ]0 e1 n
var orgRGB=getRGB(orgColor);
) t% M1 B* D3 q& c: u
W3 @# S* \7 u; j var parentNode=node.parentNode
/ P2 k7 p; ^' M% S9 |* K4 |4 C8 ? var parentBgColor=this.getobjstyle(parentNode,"background-color");7 E/ R' ?$ M" f7 x5 u' P
. K, }/ ^# ~; [4 X, S4 R( f var isLast=false;
) ?4 T. F7 l. D / v- G/ o+ v. x+ i s1 x
while(parentBgColor == "transparent") , D: M$ P+ D6 ~ T( b5 L" I W7 h
{- h2 s- G( w& U3 b
/ \6 B9 K+ v& A
, k i5 f* I& o( h2 [* F$ ]
if(parentNode.parentNode == null)
3 E+ T) s+ X% C5 J {
1 K& B: s+ \& |! h! A) R$ i" | isLast=true;/ P/ R4 K+ Q$ C* Y$ u, R7 \# \
break;% [3 @4 {) |8 [) Y6 m5 J% x
}1 N: _# [, V# N! K* Q0 x' B: u
parentNode=parentNode.parentNode;
4 ?" g3 q( @. w parentBgColor=this.getobjstyle(parentNode,"background-color");# i* z7 |) w( Y+ `) C; k
3 |. y I- z$ _' F/ j3 B$ I
if(parentBgColor != "transparent")
% X( [" L. g b5 Q2 x$ I8 H {8 Q1 B5 c0 q4 n% v- K* A% q* A
break;
0 c) Y3 |5 h y# H }* E( I5 y! {' h6 I
}5 o" q: e. F0 D: N& \
if(isLast)
. L# Q% p0 E# l1 h# \' \ {- X: k4 ]! m6 {! K
if(debug)
& J3 l) y8 I3 {3 `4 J0 P4 F4 _$ r9 Z {
" ?' z% ^- Q$ @; g3 ~ E; C2 h) m alert("last!!");4 z* W8 U3 X; S% H* z7 X1 M' k$ A
}
) l% `+ n: p6 [& Q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' \2 R: y8 q: [7 U {$ r0 w6 M, G& `# J, \6 t1 q
orgNode.parentNode.removeChild(orgNode); " v4 q! A' n" w2 M3 w& ?' C
}
9 J: J1 u8 e* J6 i) ?0 { }
: W* W; M Q% d, p3 P4 G; i2 ~ q else
' ~) _" k$ W) I, d1 X1 b& P {* k/ `4 @5 u4 A, J' ]
if(debug)2 K- u% c* x" }) `4 _
{6 C; J0 P3 G% s' ?" W7 E
alert("compare color and parent bgcolor!");
4 D: Y. K' ~0 Z3 O" Z6 R3 z }
, m m" a0 P0 U, q) n parentBgRGB=getRGB(parentBgColor);5 q3 k; E S- W6 x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 B# c% k5 i4 y8 E9 s {: L m+ ?' v, j$ d
orgNode.parentNode.removeChild(orgNode); * b* h4 |* n+ U. |3 ]
}0 u( w" K/ A8 c
}) ^) `( C4 c; G9 Z
}
8 h# I) W) G( v& T( X }& x& q5 O( S. ^- ?$ r
}
q9 x1 `# z" \+ b/ A6 o }
& ?/ M9 S8 l/ h9 Y
: [% o6 ]" c: o6 U9 E* {2 p6 V 9 z r; a+ q# `4 [5 k( F3 U
var itemFrames = page.getElementsByTagName("frame");
" \, e m- y1 i var itemiFrames = page.getElementsByTagName("iframe");0 u9 Z+ e- `% M
; q7 i$ [) L3 A7 J$ N3 B3 a6 g var frame, iframe;
; o8 ?, h2 u, v! N( z if (itemFrames.length > 0)4 X; s- A7 Q6 X! i0 d" s
{$ y; {5 z: z+ I1 k0 d# W
for (var i = 0 ; i< itemFrames.length ; i++)
; _0 P* k( M% U6 l+ y) x {
' \% F# [" o1 k5 W0 V! p+ V frame = itemFrames.contentDocument;
% T4 R8 D. ^, p9 H1 Q this.RemoveHide(frame,objname); 1 s9 d% n8 l* ]. w# |+ o
}' m f# Q( P! _* f& D, ?! @
}
1 {- r/ f6 W0 o- u/ K if (itemiFrames.length > 0)# u3 A% f' S% a7 W% l7 s
{
. Z2 T# `% h/ A( h& P, J7 K for (var i = 0 ; i < itemiFrames.length ; i++) / t, C3 |( h& k% l$ q
{& H8 J+ `& {5 Q3 b
iframe = itemiFrames.contentDocument;( e- m; r/ Y) V! ?# P: A
this.RemoveHide(iframe,objname);
; H/ ~5 f; V/ c' x6 a }
* t! r* R# r: B: B }
: l, U4 L/ ]& c3 _! C y }# w O, V# \/ ?/ s1 O
catch(e)+ k& c& Z4 E% ^8 n0 F
{
" X8 x% x9 A$ ^, ?6 ^ if(debug)
3 i) a# r: `; Z& e& G7 {# a9 A# o {. a$ G( Y7 F( K$ q u
alert(e.message);
; |4 f( {3 Y6 K) x$ U }4 M' A) I! \1 e" D2 i
}
0 Q C1 p% v- O: R }4 w3 v3 E% \, b6 E, `
5 `* f: m" H9 j. g
}( W9 G: {. p! _! O' T( |
1 b1 w% M% e7 @7 rfunction getRGB(colorString)
6 Z4 S0 [* ?: i! |* P{ R, B, M; c/ G
var RGB = new Array;
E' @. S7 a" b7 n; O l var tempSting=colorString.substring(4,colorString.length-1);. J7 O% O% t( H7 {7 Y
var tempArray=tempSting.split(",");
4 C/ g5 @; O4 F, s0 F! R; [* r9 P7 ]/ A. _( X- i% \/ y9 D& x
RGB[0]=parseInt(tempArray[0]);
( Z$ ~- h( U2 L$ c: O! P RGB[1]=parseInt(tempArray[1]);
- n' d! d+ `1 w% j7 \# s RGB[2]=parseInt(tempArray[2]);7 ]( T9 m+ Y( v e W
2 v# c9 k3 Q5 I. {8 [ return RGB;
- p2 L7 c3 U$ v) b' m" Z7 b7 J}
$ U" f5 c' l8 Xfunction keys(evt) 4 [% x: s" Z+ ^# g& m* B* r! @
{ 9 @, _2 I1 p7 N1 m+ d5 D
if(evt.ctrlKey && evt.keyCode=="81") % g3 a& p6 x2 N+ i9 t
{ ) O* N% ?6 `; f, H! i
CleanHideObj.on(0,1);7 Y7 \, |1 p6 ?4 S( f/ _* t- _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) |$ @+ A- ?7 P# ]* i+ C
* ^" h' R7 S- h }
( z. A, K8 V& y0 { | } v/ }) j- H0 Z* y
document.addEventListener('keydown', keys, false); 6 n+ ^% U$ m: b0 @$ l9 L
GM_registerMenuCommand ('Clean Hide',/ ^/ d' D+ i* a' \. J
function(e){' u3 c- q& X C: {, c$ G% O
CleanHideObj.on(0,1)4 Z4 }/ }+ V* w9 J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: g9 N4 M% x( Y% D, }9 s4 V5 o/ b2 z});0 L' A( [* Y& J# C
|
评分
-
查看全部评分
|