|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 W6 u2 W5 D4 ]7 J% m* O
% ?* t! ]0 \( @: r
火狐插件,用猴子/ E7 r$ M6 t, W6 C7 n4 Z1 y
) m) e$ d% m. w* |3 k% C7 W
var debug=false; 7 {: ?7 _1 ~/ i/ M7 ^9 Y
var CleanHideObj=new CleanHideClass();3 q% n' K( ~6 Z# y# E9 y
+ G: x% n3 J3 X2 s# m' ^6 y4 D2 H
function CleanHideClass()
3 ~. ?4 ?8 u: M3 G{
8 a5 u. y5 t; O
$ _$ Q* c4 u; { this.on=function(id,bMZ). T$ Y* }4 o8 N' a0 Y5 F9 o7 d n
{
1 p( {4 ~4 D( i6 F$ T 8 R# Q+ R+ c Y9 }- X( |
if(id == 0)
; T( K5 U4 D% S {
. x$ N) N4 R+ H% D3 C i8 B var page=/* document.getElementById("content").contentDocument */document; % g0 q. `( o3 J) x0 \7 K
this.RemoveHide(page,"span");# L4 q, k8 N) H; k. c2 d9 u
this.RemoveHide(page,"font");
2 c/ K% W! C& p4 Z; @( C this.RemoveHide(page,"div");. w) P' e a6 X# ~6 v8 c) m
this.RemoveHide(page,"p");
3 O1 Z( q/ }8 X I5 f# @7 Z$ O # G' [/ S6 d# G0 X9 A* S% L1 k0 m' P
}
# I) ^7 A( P& A* _3 I- ]# b3 c " Y- v" y/ D. h8 U& v- V \3 V
}
4 J1 D7 x- k( i$ a2 p this.getobjstyle=function(node,prop)6 I# g8 f7 v$ F, c( M8 I
{
/ {7 m5 J5 l# H9 W try
: S/ Q( u" L; H, ?: u' ~ {
% I. J+ Q2 y3 ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 @: L% D! S6 n }) M/ q# Z( ^" {& u( n, q
catch(e)
5 D+ u9 P, U1 Z" N- ~5 l1 S {
' j9 S! `# i) a9 f) F& p if(debug)
& W; o' B8 g# D6 G8 x* P) ~ {& N/ U8 T6 p9 J
alert(e.message);: e1 _- Y8 S# E+ W( a6 L
}
# r' I" K: ^* h/ g, A
0 K; @ K; j1 V% o. @2 _" ~ return "200";! @+ T8 \6 f2 i! s+ M! q/ ?% ~7 j
}
- d1 i2 Q) Y0 |, z9 r }
4 B& R, z, ~ s; e, ]! ?: v
9 J" D- f) t+ f- |/ M this.RemoveHide=function(page,objname)
* e& a# u8 E; V; F, j( F {4 x3 w5 \( Q4 V( e
try1 D# V2 D2 y: z% v+ j' B
{7 A8 k! y! s, O& O% k' B
var minValue=15;
8 z* n1 w4 }# I! O" u0 E, ]8 A var objs=page.getElementsByTagName(objname);
' |+ X4 o* J' F! L+ y
: Q2 c3 [- I4 Y4 n% j if(objs.length == 0)
) Y# I8 r, {; ]* R- V {+ W7 V8 S5 J! Y6 d
if(debug)% B# D7 x% h/ e) K; T0 u
{
# g R/ q5 K w alert("no object found!:"+objname);
+ H7 b; a8 Z) L' ~$ H1 G$ \( e Z% Y9 I }
7 K6 m2 B+ H, R! ]+ p }
8 Z) N9 a6 {1 J else
3 n0 ~9 I3 ]5 D2 P {
5 d0 s6 }: L9 u* e 2 a) @+ e! l: H" i) _
for(var i=objs.length-1;i>=0;i--) , O. X4 ^9 c O8 a9 f4 H# f1 r! O) a
{# i/ w& |/ V e; L! `$ G- L
var node=objs.item(i); 3 X4 U* N# c L1 R
- z. Q* \& x! C7 {3 w; t8 ~ 6 |$ ?7 @( w& {
if(this.getobjstyle(node,"display") == "none" ||
& q% T+ B+ a4 i2 N" K+ q this.getobjstyle(node,"visibility") =="hidden" ||/ n9 G! F4 c+ q9 o8 n
parseInt(this.getobjstyle(node,"font-size")) == 0) & p9 F1 t. }9 Z6 K$ p4 r9 l
{" |8 p0 C9 O/ C" ]
if(debug)
]! R" [' P4 J4 Z3 N: T {! O0 r* x/ C, N
alert("remove invisiable!");
7 n) v0 }. q+ v( d% @) f }
7 m7 P7 i( k6 t5 f4 c' k8 S t7 o node.parentNode.removeChild(node);
2 Z8 [( j" T4 \
1 J1 J# g- a0 L$ o }
9 D( J2 e$ u8 D, D6 ` else
; R5 c0 }$ m8 C) t$ v; L, A, l {( R" o& H( F0 d7 H+ \3 [ u, K' C0 M O
if(node.parentNode) 5 e" \, x8 |+ H' }) a7 A% [+ b- @
{
/ j2 d& s* ?& f4 A9 U2 `3 Q" P var orgNode=node;6 p9 l0 A0 U6 I% q* |
var orgColor=this.getobjstyle(orgNode,"color")
6 X3 a ]$ V* z# d3 p7 n3 r; t var orgRGB=getRGB(orgColor);
+ W, y) N2 w7 y& t. v* \6 l9 P # X2 g4 `; o3 o" s
var parentNode=node.parentNode
- u/ k' d! g& ` var parentBgColor=this.getobjstyle(parentNode,"background-color");
' Q: p7 }, J. F8 C1 @+ S( I % o" e V; ]; w: W u
var isLast=false;, D; s0 x4 u: x% w7 o2 n: C
$ u& ^& {' C1 K( E; D
while(parentBgColor == "transparent") 7 ?& `3 Z' S4 [" q
{
; ?1 W( S: f7 v' z+ } ( D8 \5 Q) b5 S" ~# p/ ^, J N/ K
4 y4 f$ G! \5 ~4 _; |; [ if(parentNode.parentNode == null)
4 o3 [7 h! J2 `0 X {
d2 s. R' \6 c0 q8 v isLast=true;1 [3 I) B5 g6 R+ M
break;7 j% O5 A: S3 o$ j2 x; j
}
: A! `0 D# w- C+ ~6 D7 x/ b( I parentNode=parentNode.parentNode;% b; _* b" U- x5 F, \+ O2 O0 U O
parentBgColor=this.getobjstyle(parentNode,"background-color");. N) ^1 g, S( K( W
. d. K) w1 b$ r5 U/ ] if(parentBgColor != "transparent") : x9 V- S, m7 ~" u
{
]3 C: {0 U6 Z2 n0 @ break;
& E6 [0 J% g+ Z1 f' [$ \( U }
6 K) b9 ` f8 l }
9 \: {/ A1 w& F if(isLast) ! M- D3 |/ ?0 C5 n/ u
{" [% g2 K& e, m8 T% r
if(debug)
$ M; ~) j! U ^1 k {
; k- |4 z' A& \( Z2 ?8 w' L alert("last!!");
& u; B( f* g" |1 H" L6 ? }: Q/ l. l, i$ }2 n
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) i3 K( ~% B3 B/ M8 r" l. q {* n, E9 p9 B, b' R' Z3 R; {4 _
orgNode.parentNode.removeChild(orgNode); : x" S( z! M/ Y: w8 u, Q) b; b4 U
}) ~* L' s! z: M% M5 L4 r
}
% N! N* z. [& S" Q else
/ y2 [6 C; x6 ?& e {
* N* j) [! s4 C5 l/ q if(debug)" @) z' L2 \% t" A8 u9 _
{/ t. A; O- U5 u
alert("compare color and parent bgcolor!");9 z1 i- }/ A5 x! a. u: j
}0 H7 {# @8 d& b" @3 D$ I
parentBgRGB=getRGB(parentBgColor);% U* `3 T1 Z4 m1 P( P5 t8 y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* s3 M5 b8 S* q& [' P6 z5 M {
/ \ f% H/ j1 o orgNode.parentNode.removeChild(orgNode);
8 R$ q. O0 F4 j$ m2 x1 x }
+ d) p* i3 y% i c }
( b# |8 F: G- P Q0 R( _% E) n }
/ I0 U* Y: d/ \! r9 w. u }0 Z: B# c/ n4 |
}9 k! c. z% i/ P) `# k4 `( j
}& m3 e& H6 j) b# Y5 \, c5 v2 ^
# y' {% G; B% ~( P3 t) h3 h
/ K. m& i7 B- ?- y: V8 h
var itemFrames = page.getElementsByTagName("frame");4 D* n% n* X; u, H, j3 @
var itemiFrames = page.getElementsByTagName("iframe");; C3 G/ \/ C2 j0 ]+ P! `3 @
5 h& U& @: ~ ]! i, B2 `
var frame, iframe;
, G) D4 G& } P if (itemFrames.length > 0)
8 {% a) V" @/ o! s7 _3 z" H {
. }+ a: [! Q, H& ]1 ]& I- F. N for (var i = 0 ; i< itemFrames.length ; i++)
/ v) G! ?' b$ X8 z, s% f" p {/ a! f2 w, ]0 n# \
frame = itemFrames.contentDocument;
6 r( n- j! |# ?% w+ p this.RemoveHide(frame,objname); ' l1 a! U" g' {. L& \+ d$ c
}
6 N$ ^3 g( S; \& t; V2 \7 b }- j @. E! l+ b
if (itemiFrames.length > 0)5 f) p2 k9 D3 N. E7 H4 g+ l5 k* Q: F, a
{* _4 V# S* E% v, Y3 I3 e/ |
for (var i = 0 ; i < itemiFrames.length ; i++)
, z! A7 u- A1 F; W {5 X4 e& L+ E/ [) }% g% x' {
iframe = itemiFrames.contentDocument;7 g- ?/ K/ ]: O4 G
this.RemoveHide(iframe,objname);
, ?, \9 k A# l9 c4 s& e$ n9 X7 x }9 R" d) M* U/ A( B- x% O) `
}* w3 L! ^' }5 ^( \0 ]& {
}
2 K- y7 {/ x1 A1 a* X/ ` catch(e)1 u7 i/ b+ D/ g! t
{1 ?0 I7 a4 N* `/ j
if(debug)
3 s& B' F8 C/ f( ]% Z# Q" ^5 f5 B {. \0 W1 ?; F0 M) }( e; `5 D2 G
alert(e.message);" [+ D- a7 c. s! I/ {
}' i1 l- G: l) o* t: c3 E
}
% O! o' G3 Y- r9 s. B6 @$ r }
: Y5 y |( |6 J, R7 _+ D9 T" y8 E
9 o+ {/ c) z' v/ j}! s8 P5 C$ y4 ^7 A0 s2 O
* } {+ b9 E' d. x" M# G
function getRGB(colorString)
* K! S) K* \/ R& f{
( o5 [! I* n0 U' `, E% _ var RGB = new Array;4 a% i' Y: p4 E5 ~( c2 w' ]
var tempSting=colorString.substring(4,colorString.length-1);5 |3 Y$ z3 [- @3 S- ]
var tempArray=tempSting.split(",");1 o- y5 B$ g1 ]3 t6 w# M" H8 K2 j
7 a" ^8 p3 w2 L, a4 r
RGB[0]=parseInt(tempArray[0]);6 n _. m( q6 B, Z. Z5 W
RGB[1]=parseInt(tempArray[1]);6 t$ r& c$ {" N* a' B; P8 Q! T, A
RGB[2]=parseInt(tempArray[2]);
+ A# w3 Q+ ?6 e. D/ C; o
0 q) d7 h# v" a1 J0 H( E4 ]; x return RGB;
2 w+ S$ {, i8 u* ?) v}: X/ n; L$ V7 Z' X; ]6 n: @/ [
function keys(evt) - ^$ L: x! a# k
{ / r* ~* P; X2 t& `8 x. ]8 x0 N( [
if(evt.ctrlKey && evt.keyCode=="81")
$ ?6 E/ D& y( T! w W2 p7 j {
, ]% E. M7 Y; V. b8 H+ K b CleanHideObj.on(0,1);* |1 {" T7 p: E6 m9 k% h/ w) ^3 _8 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) C& q- I: h1 w Z6 r7 R 1 {; n6 T" l# x0 `" X& Y
} , G" Q; V% r! p2 |8 ]% D
}
# b# v) p5 e0 q0 qdocument.addEventListener('keydown', keys, false);
) Q7 v3 |/ I3 {GM_registerMenuCommand ('Clean Hide',
a& s6 v/ k) A+ g, A7 w ?! T- D* d2 ]( Nfunction(e){
$ b7 c2 V% S6 C/ _5 y5 sCleanHideObj.on(0,1)
" U& g" M6 X+ V0 j9 talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 x! @2 H- h& p});! G0 _. {+ R( z$ Y; a( B9 v0 Q
|
评分
-
查看全部评分
|