|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# b. r, ^# f$ e5 }* L# N; Q8 k3 ]8 K& M2 f+ ^' z, {
火狐插件,用猴子
: I! e/ g i' ~9 [6 M' E x+ U W: r' w9 H K. R8 y
var debug=false; ; H( h( R. w/ z# x$ F
var CleanHideObj=new CleanHideClass();* f7 b0 M8 P, a- w; h) x2 ]0 ?
* y+ E. B; B& c* D% I: wfunction CleanHideClass()
' k$ F2 ~8 C* p( X{ 3 @; |; N' x; L5 U
- [% x1 `. h: V! C7 e/ z this.on=function(id,bMZ)
% K" ^3 K8 m7 `: @5 n" x- `0 b1 l; Q {& \0 O% @, \3 M9 ?3 w
' Q" p$ {% t- Z: c
if(id == 0) D( k2 ]6 q9 ?6 g1 f
{
) i* |2 a+ S9 q3 j# O( g& J var page=/* document.getElementById("content").contentDocument */document; , t/ k8 G; ^2 A2 U& {$ b
this.RemoveHide(page,"span");
; ]% C1 W0 W+ Q8 W# y5 F$ j! T this.RemoveHide(page,"font");
# n4 p3 E1 \7 \ a9 N$ q% u! w9 e; a this.RemoveHide(page,"div");
) r1 L6 o- Y. u9 A1 q; x9 B/ b9 f this.RemoveHide(page,"p");0 m4 k. |5 i$ o$ d7 ^, _5 _
/ n+ @9 e$ k) ]+ U }
. n5 D% {/ }6 n* N( T 6 B5 J0 Z* v+ F" ~, O, A
}: I8 M+ W1 Z. y* F+ a) s U" U
this.getobjstyle=function(node,prop)
& B+ D2 c" }( _$ r& o9 Z# n( g {) X& ~ _) H, J4 E1 V, g! E
try; Z0 V' F1 u4 z: D- R
{* h, h( Z" w5 A E$ X) U' x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" c& \- M& u# K% ?) B
}) d4 k8 r2 P7 Z$ L: Z
catch(e)1 B+ x9 V: z3 W2 ~* }4 m
{
: ~' _7 u) S* C: l/ l if(debug)* {# r- u/ K- U, ~. W. Y
{( K+ Y9 F8 O/ Z1 V# {
alert(e.message);& w7 Y' y Q$ ?
}
0 H- k& s' }# O0 R4 l& S 5 r: v: W, e2 D ^- D6 Q
return "200";
) f4 c- }. g6 F& Y1 F( U }
0 B2 h8 Z% |" c6 X }
8 B' C7 m* z" ]4 k. _ , |8 z. R2 _* ~3 `
this.RemoveHide=function(page,objname)
% ?' s: S+ }% D: O! } {
) e! n! l( u8 ?# u9 E3 `/ D: S5 } try
E( E# J. g, `1 a. U/ a! W; C {& j5 {" ?" x, ~! g" v. a: Z/ D& ?
var minValue=15;
$ i' S) q2 v2 {9 m) d var objs=page.getElementsByTagName(objname);
2 b+ I* m* C0 @
4 R7 [; a. }1 H, U# u" [, Z; \8 h if(objs.length == 0) " z$ |5 M) c% j* \. v3 t6 k# K
{. Z- Q7 r' C3 s8 _7 c
if(debug)
3 A. a8 B8 }* J5 V& G& N {% p8 v' W8 z0 ]3 {
alert("no object found!:"+objname);6 X* u) b8 g: o1 N- c/ Z
}
( s% @# ~7 `9 c, c h" D( f }
7 h8 @" d+ M; ^4 U( l else
( Q i( U# z. S' f" l {
" N# s5 x1 ~. }) c) n8 K - E' \4 B$ W% C8 e1 z
for(var i=objs.length-1;i>=0;i--) ) @3 l) y5 X6 S# h+ A% O5 f: J m
{
4 C4 a# ?7 f0 [ var node=objs.item(i); $ M9 w. D- q K
1 c. T2 b6 p& U
3 W' F+ ^; ]: ?- c! v: G( ] if(this.getobjstyle(node,"display") == "none" ||
6 D" x# O4 u. }$ p, V this.getobjstyle(node,"visibility") =="hidden" ||. u$ `, ^1 S( n7 l( n& O
parseInt(this.getobjstyle(node,"font-size")) == 0) - J0 C# `) M1 L1 \* \
{2 V% }3 q' h7 {+ o
if(debug)9 n8 C8 }6 R8 A8 V' K" |* w
{
2 I# n/ B6 R2 M+ k9 E4 Y9 n alert("remove invisiable!");
9 N6 \) e" a! N* j9 D }% n1 W& ]$ E/ T( z4 ?
node.parentNode.removeChild(node);
2 E( g/ i. ]" A" z% h. ? + @" c9 f1 y9 T, c, ]
}! ], |& Y5 G6 X( V
else ) B' j+ V6 Y9 v3 [0 x2 d0 y0 J5 m
{
& D7 n1 _ {' f" P! l' } if(node.parentNode) 2 O- _+ @9 o0 [. s$ J6 F
{6 [( r7 ?" v8 s* ]
var orgNode=node;
8 b$ U! Y7 H- z* Z2 I- Z @: m var orgColor=this.getobjstyle(orgNode,"color")# w2 k9 i& I Q$ O
var orgRGB=getRGB(orgColor);
5 r$ \4 q2 J& a' }: C2 W! B - F- c/ L) A1 T4 Z
var parentNode=node.parentNode% v- x1 k* K+ X, Z0 f& B4 c
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 _% g1 R! X. y- x8 L+ O5 e4 q: o
% D# H% R+ z' `/ l
var isLast=false;1 S2 e, ?3 y6 t& f: H! f/ D
% C0 s+ J/ g5 j4 r6 K# S
while(parentBgColor == "transparent")
0 A1 c/ {" F6 d6 W0 L0 U {
& F. {1 ^/ n2 F( Q
$ o2 a) |- F: H; a! d5 Q ' U+ @" x; r2 h4 e7 _7 _
if(parentNode.parentNode == null)
" `- m7 w# p, K* S9 A9 n {" e5 E k1 p2 u( v
isLast=true;; O+ i5 w& M' \ ]1 @
break;& g" D! c3 ?% q. u ^7 y. L# T
}% ^, a( n- _' j( f2 p- Y
parentNode=parentNode.parentNode;) R5 g1 J$ f! O: }# f i, O
parentBgColor=this.getobjstyle(parentNode,"background-color");
. V( M8 C6 | m4 Y7 O( Q
" o2 W- e) L. i- z if(parentBgColor != "transparent") 6 i( f$ T1 G2 }$ H# M( c
{
. h& g& [3 X* L. v- ]6 i& t break;5 [; ^7 U* n3 N$ a! e, g
}2 x( m; Q3 o) h
}
p' L) P' k0 B if(isLast) - S( n z1 L# H% e, Q
{
7 ~0 |6 u; a7 }6 ?9 P if(debug): _2 W8 D% I3 [$ H
{
8 o! Y9 O( n2 ] alert("last!!");
& j4 q( @- e# k( t }& I) q) z8 t2 O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 W( _1 o0 p5 H* o% ~ {
, @3 ]# M6 ^7 \3 ?" @ orgNode.parentNode.removeChild(orgNode);
8 [- J. V* O7 E( }; L! O; o) }5 u }
, t; a6 U2 n5 q }
3 A! |5 d1 q% [% { [1 S3 p else
% Q: K. n9 A; Y0 B6 i {
* A; o3 q8 @. V" U if(debug)- y* V7 ^( K! S) r! D* L
{! D% y$ U' r# C
alert("compare color and parent bgcolor!");
& @+ p y# }7 s$ @9 H }% w" w. q5 _; L. O" D5 A
parentBgRGB=getRGB(parentBgColor);$ x$ k9 F0 N; H% I
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& E7 A+ a f: T {" _9 u; F# G" x! D1 x$ K" L: o$ T, }
orgNode.parentNode.removeChild(orgNode);
/ q: ~5 D, r; ~* P+ m. m }
8 g& }- o, A |1 @ }
" P9 X7 `7 w0 f- O$ Z# j } t2 W6 K3 v* I) _. E+ h
}
( Z9 ?' X3 |' W4 ~2 Z0 Y# p; ~1 L) E: x. E }
* g5 b' P" U8 n+ w' G } @8 A4 w# J, W( _: f. f7 o! Q
6 v6 g5 z% m m6 g1 }( w9 v& Y( @ 6 J" G( h$ S- w
var itemFrames = page.getElementsByTagName("frame");7 r/ o y$ }4 a0 Q4 U9 R
var itemiFrames = page.getElementsByTagName("iframe");
r( [1 c- C$ S- c+ Z+ @5 q 8 D2 T( q. R( r0 b! v
var frame, iframe;
# X! V' p( {% k if (itemFrames.length > 0)( l' o+ g# H7 Y
{. T$ r( J% k; [1 N! X+ G
for (var i = 0 ; i< itemFrames.length ; i++)
% d8 m7 R6 O! ?, o- j {7 T0 l1 a( p9 q; a2 j4 T8 g; v
frame = itemFrames.contentDocument;
1 K0 H% o* M9 ]5 F& f9 s% y( l this.RemoveHide(frame,objname); 1 I$ ~) S9 @ O- A4 b" L
}
0 Z2 h' @7 W/ i }
! m4 P5 U( c2 ]- I if (itemiFrames.length > 0): i8 V( j, M, z9 H _
{9 R7 { I& M' z# I8 O4 R" T
for (var i = 0 ; i < itemiFrames.length ; i++) ' Z$ S. g; r4 V; e
{
2 f! y% d" n/ y3 H% f! Q9 k/ ~: K L iframe = itemiFrames.contentDocument;
6 K1 T ~& { \% G# m; h: ? this.RemoveHide(iframe,objname); 7 m7 q3 e8 o1 k4 |5 r: K
}8 [+ q r- `$ t; u
}
6 ^4 E1 A0 G/ { }, d' c& p; u1 [# c3 d* G z
catch(e)
+ j- b7 [& W" m* F- a {3 v. g/ e S0 T/ ^+ a8 V, A" c
if(debug)" b3 B- Z1 q) ^/ f+ G8 j
{8 e" z4 Z! l. J8 d$ k8 }
alert(e.message);
6 _9 a5 I( a# d5 V! \; u3 M% ? }' w: t4 Q5 x$ c# X+ m
}
( M, Q2 y" ?2 _8 ?& c }
/ F6 r& v' C) O, l# y9 R+ B4 f
, D' W s* u: Z6 n$ |. H j}* v, |0 X+ |4 G2 D- H/ I+ g
6 G$ @4 i! G) W7 \8 n; k7 R
function getRGB(colorString)
& Q5 {3 q; Z. W: M7 r{
- {# {3 C8 l: ?- h8 h0 s var RGB = new Array;5 E( ?( S8 |; ]" A& D
var tempSting=colorString.substring(4,colorString.length-1);6 s' Q/ V8 c! p2 C; n
var tempArray=tempSting.split(",");
) O, K+ j( E" _1 W2 _: Q8 i! G6 @% Z
RGB[0]=parseInt(tempArray[0]);& i+ _+ k( d# n' h* r& w
RGB[1]=parseInt(tempArray[1]);! P4 G' [4 i. ?
RGB[2]=parseInt(tempArray[2]);$ A- Q# t5 [2 ]
) ^7 r% Q" B, ^/ X6 i3 v% r
return RGB;8 x5 l7 r, S0 S' w% L/ G7 o( V
}
" m6 U! X# ~; Z4 ]. E, sfunction keys(evt)
* @/ ?' S6 i8 s! Z6 w* c {
3 v e& H9 S: T8 u: r6 f6 [ if(evt.ctrlKey && evt.keyCode=="81") 1 b# r% @. R$ _$ v, y/ S) N
{ ! s: Q0 v& R1 e3 b+ t% f. B; M
CleanHideObj.on(0,1);3 o4 p/ O/ p9 R& ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : F9 {+ q4 v( O) P7 m& Q
" Y' v! @ \8 ` } . i( I, ^8 ^/ m. s% h
} " S n2 I, C. p
document.addEventListener('keydown', keys, false); ! L6 l3 l# M/ {! s7 Q; J
GM_registerMenuCommand ('Clean Hide',
# A* @& j) S7 c; Afunction(e){
- U2 v7 ?6 ] _/ U6 i& O7 FCleanHideObj.on(0,1)
' f% G5 d$ j1 m: B- malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" U7 y+ i0 K: i/ L% [) X
});
' W+ n. u# H2 W* `; G( }8 t5 X |
评分
-
查看全部评分
|