|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % E8 F3 b$ ?# Q8 @/ k; p3 D
( W2 Z) N8 t. M. P S" J- U火狐插件,用猴子
; o4 ]" }7 E( r5 I# j4 S0 P9 |! O2 ^7 Q I- G/ i
var debug=false; 5 r3 y M4 d9 j3 g
var CleanHideObj=new CleanHideClass();
6 l1 `5 A& }3 Y) c' I
! ]3 R3 j; Z* Q" V- s2 L: Q1 Xfunction CleanHideClass()
|9 n/ b* r& U{ % X3 x- M% y! c, l* q
/ H# ?5 g7 e7 U; A& ?; m this.on=function(id,bMZ)* |3 m. s( [) V+ T! n# ?1 I
{# X( w8 R1 a& N; }* I
7 j" H/ l# r0 E6 M if(id == 0)7 A# ~+ L& w# E+ w5 Y4 M
{% ]& r7 z- n) W J7 S6 [$ }
var page=/* document.getElementById("content").contentDocument */document; ( T/ D. ~' J4 j& k; ]
this.RemoveHide(page,"span");- V0 T9 H/ r( N, b
this.RemoveHide(page,"font");8 D9 J X3 g5 k+ D6 F! s; z
this.RemoveHide(page,"div");
. C4 k# }/ W" k* Y" M8 w2 s% F: h2 a7 k this.RemoveHide(page,"p");. z7 D9 w0 j, E* |1 O, C- z4 Z
) N0 w( u2 [* p2 G) h+ g5 i" k }& a8 W8 w8 p# q" k6 y& `- N
z. z' x8 y2 P }
* G2 e+ O6 V! m5 l# F3 }) d this.getobjstyle=function(node,prop)
# S" D# z# U& I {
# ]5 g4 q: r3 G. R8 u5 Y3 S8 G try
' a, x/ r3 h6 o4 f; j" d* S( Q+ X8 d+ e {8 r' F8 x, L% v5 @ a# [5 H) N
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( B4 o8 @$ N% i" q) v D9 [2 f }
' |& d; w9 E* ~" G8 |/ S' k catch(e)
" O3 o* S* c& o2 E9 b5 W {
' ?6 S7 I( t' q if(debug)
* {0 ^+ [# |8 ]4 ]3 ~1 C; S, L9 q {. x2 `; U: s1 S& K3 D# Y
alert(e.message);, r, @ `2 P# f+ a, _8 u) E: n
}/ {2 L$ x% ~! j( m7 @6 `$ N
: J8 W/ N3 [. O7 d* X return "200";
) s' D' y7 [4 L t( o* e' { }1 J6 q- n* B0 A; C) _& @: U
}+ P' r0 S. }+ F& P/ t. G6 {
, T( _' g+ l$ E7 ?0 G, G this.RemoveHide=function(page,objname)
a8 i. S: W+ u% Q" T M# A' p: W {
8 `& Q" Y0 h" |+ i9 d; a7 } try( t8 z3 [+ R+ ~- j+ W
{
1 ^# ?# [: w0 y& V- r var minValue=15;" b0 R- F: e! A1 I( U' I% P
var objs=page.getElementsByTagName(objname);
: K/ Y- T3 L! W7 ?2 R$ z5 Y
" G; B$ p- M! w& B7 O6 ]: _ if(objs.length == 0) # B* W3 L+ M! z
{
. \) I! h* w4 W% ~+ c3 y if(debug)
! L: ^, U* Q# I3 o z4 i {
0 l ?' I @0 ~, @, z alert("no object found!:"+objname);
9 D0 ^# G/ B0 \/ T, N0 z' h0 b! @* ?" R }
D. _" r3 Q$ t; b. b1 N }3 [3 u3 ?" d1 a9 i( J1 X7 l) J# P
else! P3 h* ^2 f' \. F/ g& C' y2 e8 a5 `
{: z n% a) }4 [$ ]: P+ M2 R3 y! j
" G4 g4 r& N* @6 s! I: `3 L; A5 d for(var i=objs.length-1;i>=0;i--)
! O1 e# b! U9 P- L; y {
5 V( y- a* Q/ X7 r/ s/ `3 n8 ]) I0 d var node=objs.item(i);
8 u- ~5 _4 I' z( N% N# D/ [ 2 z( I4 m3 V9 l2 ^
Z$ m0 G1 S p+ }6 ?& I
if(this.getobjstyle(node,"display") == "none" ||
/ t3 ?2 H! ~- R* I this.getobjstyle(node,"visibility") =="hidden" ||4 A' g' ]/ y/ Y( j' e
parseInt(this.getobjstyle(node,"font-size")) == 0)
+ a2 ]: K# \ D: W- _ f {7 P( U2 P$ U9 L' A6 l
if(debug)
. l- P2 W U; W9 f( D6 j6 n! S {: ]5 R4 H2 w6 O3 I6 Q
alert("remove invisiable!");
( z+ t4 j- b9 y# u4 ]" E }2 S1 U! b( M2 ]
node.parentNode.removeChild(node);
# W/ B+ `2 F* P, K0 `
6 @; c9 W8 F# }! T }( r, R# s/ V3 h) o* @9 [+ A
else $ h3 ^" U3 v5 X( O) X$ c. p
{+ c3 f6 U. F) D1 z9 L# k1 _
if(node.parentNode) * u6 G5 {+ L. S. c( Q
{
' h8 h9 s+ B4 E! ^6 { var orgNode=node;7 `7 S+ L& A; w) s4 [$ Q% |9 `) }; [
var orgColor=this.getobjstyle(orgNode,"color")7 @ b j' X/ Z8 ? o2 M3 d
var orgRGB=getRGB(orgColor); 6 Z: e; C! s& I$ Z4 ]# `7 N
% }5 L& Z+ O% P5 {2 h1 A, G4 X% c var parentNode=node.parentNode, e) y# n6 U8 [' ^& b! _& E
var parentBgColor=this.getobjstyle(parentNode,"background-color");- J" O" y! w1 J+ R0 U
6 f! R0 n& z% ^2 O var isLast=false;6 I( d" W- z* U4 k- \/ [
( I9 N8 v& }4 i- A while(parentBgColor == "transparent")
0 z, _* z3 |2 q {, F8 Q0 B8 c( |, H/ X: @2 K. |
* A" j, s* q' ^& R* c* G$ a& o* _
7 |2 O: B: }! @* }
if(parentNode.parentNode == null)
/ e' z E8 K r* r {* {* Z$ [; g5 R- @( S) [ T
isLast=true;
1 S( r) d* O; Q% W5 m2 L ?+ E break;
2 z& f8 e% g6 A4 Q1 G% y" J$ `" h2 r }: Q$ L, e- M0 a! Y: A0 C$ L$ V
parentNode=parentNode.parentNode;
3 K6 P3 [/ f. H+ p. ? parentBgColor=this.getobjstyle(parentNode,"background-color");& J8 d# @. f: I
7 Q8 M% Q6 m! B* H1 |/ Q8 Q5 O
if(parentBgColor != "transparent") ; S7 y7 G5 _& Y2 \7 [9 N1 H% s
{4 z* r/ v& S) Q$ w& C
break;5 Z+ ^$ |9 b& D0 X
}' V3 c" j% Q. G1 G- u
}
5 o$ x! P! D P if(isLast)
/ H8 X4 P: Y& `' v) A I {
/ Z. k3 K2 n8 c' {! C# v if(debug)
) }. r- z% x1 s; r% ~6 U {7 k" l, H9 Q$ a
alert("last!!");
, D/ r9 w- v* ]4 e J }9 y# Y" _, _0 c
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 Y+ \; q j% M3 g O- S
{
6 M( \8 v: O- _3 b3 I, u orgNode.parentNode.removeChild(orgNode); * U/ R# M: ^: {: w" `9 W
}
5 {7 S& T/ ~1 B7 [+ s }( J+ P ~ I, D# ]) |5 P! g
else
5 B, R" N* T+ e( Z" S; D' |, w {, }+ _8 W7 F- M
if(debug)8 t/ j: W8 c v
{- L% ^) L7 O* m# y+ [* l
alert("compare color and parent bgcolor!");" ^9 d; s. s& W: p7 r$ S
}7 g! y" C n2 I+ y- G4 A
parentBgRGB=getRGB(parentBgColor);( T4 `" Q. n% D% M. P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), e; l- S! @3 S5 m
{2 H d& ~% @8 L3 U+ V$ @6 t
orgNode.parentNode.removeChild(orgNode); $ d; W' Q8 q! F1 n+ H
}7 P# O# H d) Q! t6 f) e
}
1 w0 c7 m$ e* p( Y, |$ c }" s5 } _ @! {# Y2 G0 c9 r7 K" P1 v! s9 p
}
$ @0 f: E) @& p" ? }
1 ^& x8 o! n9 V" f0 l }# P5 i* o. A2 W0 K5 Z( d/ n. m
# U9 L9 v6 D- n% Z' t
1 `, K* C( E! v var itemFrames = page.getElementsByTagName("frame");
: H' i* e. w! ~# M var itemiFrames = page.getElementsByTagName("iframe");
7 K5 c+ W. _" W$ _1 f
4 a7 _/ b# i1 ?2 K0 u z: l8 q var frame, iframe;
8 `9 d0 D3 S5 p! k* v# }- K; L5 \5 v if (itemFrames.length > 0). `% W: M1 K- h' c8 F
{
0 s1 E; J3 \& n+ \& a# x for (var i = 0 ; i< itemFrames.length ; i++)
! F+ u9 k" a1 a {
+ g/ {1 e1 b( Z2 Q3 r5 k frame = itemFrames.contentDocument;
2 H" o% s0 Q+ x. V this.RemoveHide(frame,objname);
8 a U, w9 Y4 k6 e0 T# m }
6 S$ u0 z9 _: @' @, ^2 t }
/ M! s/ K- ?( B( h6 Y4 N if (itemiFrames.length > 0)
$ G; ^& b) C, c) g) a! m% J {
0 k- m" p" g5 m! ?! B" B, q for (var i = 0 ; i < itemiFrames.length ; i++) % C& Y% \4 N2 Z9 X4 v8 k1 p
{* k, @6 \4 e8 i. _8 b; V
iframe = itemiFrames.contentDocument;
: p# h8 L5 O5 q4 X/ U this.RemoveHide(iframe,objname);
0 R, E% }9 J: ^% V9 C* J }
! N* K- s4 y; N% j }
5 H, E# j/ R E$ j, Z" { }
/ f ~8 X* d7 K+ k0 K; v catch(e)
4 X8 v) }0 x6 \- E3 x {) O; g4 Q3 \ Z0 C. Y
if(debug)2 \- S7 W% |. S5 | o
{
$ i& [# e! v+ T) ] alert(e.message);. F/ G8 V8 A3 y% N. X6 i: ?
}% b# ~9 f9 p/ O1 C6 ^
}( R6 f; S# t! Q
}# M# p6 r1 B `, X4 c5 j
S- R; r% R1 Q9 _5 W}
' ~$ X6 V; Y& g- \ _0 f0 f$ s' @% \
3 D( O: }' B9 T9 C: ~8 Gfunction getRGB(colorString)
, o* I$ u3 @7 `{4 l2 u3 Z+ e+ y
var RGB = new Array;
! d2 \) J' I6 N' {1 b var tempSting=colorString.substring(4,colorString.length-1);
. J& [* [* B, g2 Q c& G1 p9 s) r var tempArray=tempSting.split(",");
( @+ k8 a# |0 N2 z5 x8 } e; Z; r& P, p9 o% u% a' ?" o
RGB[0]=parseInt(tempArray[0]);
! E3 Y6 J9 Z2 w. ~1 U+ Y RGB[1]=parseInt(tempArray[1]);' G3 V4 i4 J5 @) I) K
RGB[2]=parseInt(tempArray[2]);
' c1 b) e6 `# _ R# \: W
/ k% H) R/ H I6 E4 W) _) J return RGB;: D3 ]+ o9 h( w* B4 V' Y- A
}7 w& F4 c- ] B9 t
function keys(evt) 1 t# {. r( }) O p2 S3 G
{
8 T# o8 x/ ?( l0 L! Y if(evt.ctrlKey && evt.keyCode=="81") 1 y+ g9 E4 n. n
{ % o/ W$ h: l7 ?, U) F( Y
CleanHideObj.on(0,1);& m7 d- V( v8 M4 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # A5 j0 F N9 @ l: G6 L/ r& n
# e! T7 ~9 `( R1 a l8 ~( q9 k) G3 p
}
5 B7 {7 n4 |( |) a3 N } ( _6 @+ G% T0 h m. R' Z6 L
document.addEventListener('keydown', keys, false); ( ]6 X& \8 v$ ]3 I+ r
GM_registerMenuCommand ('Clean Hide',
* c3 l5 ^% c7 \! qfunction(e){1 r d0 P# _" l9 x2 ^& t
CleanHideObj.on(0,1)
: X- P7 c; ~% G6 i0 w. o2 \alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- K1 Z/ Y' r6 f; L, p});/ F4 R) e0 D- Z3 j
|
评分
-
查看全部评分
|