|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ }, r' \+ [8 \7 \8 }" A7 K
2 P! C) p% b. F6 @6 ^& k火狐插件,用猴子3 ~- ^* O5 x% r
& Z) M% W! J" a. U5 Zvar debug=false; ; n, w3 R& B8 c; U" ^8 H3 h
var CleanHideObj=new CleanHideClass();( E% [5 U: |- U" W& U2 Q+ D8 D' P
9 c9 @2 Q$ b" K/ h# _* D7 _
function CleanHideClass() 5 }, a7 C$ C" t5 p
{
" S% G$ `( u6 c
: u; x* l1 Q0 ?$ r6 x this.on=function(id,bMZ)( n# I( G& I& X4 f$ Z: G, u- M5 l
{* L. p+ Z; u; C, T# X9 u. P
' d5 r0 w8 x! N1 K) k4 `* P1 b if(id == 0)% E4 P" v: S: f0 S" y: G
{
0 k7 M# h6 {; f# M) O4 ` var page=/* document.getElementById("content").contentDocument */document; 8 y5 r2 d+ q! f) ~1 C4 O% b' u
this.RemoveHide(page,"span");* g$ v& h1 ?: v, p. z: a
this.RemoveHide(page,"font");1 P4 b1 d* ^2 [, \* G! M
this.RemoveHide(page,"div");7 l y2 B5 J. \. H) ~- x7 d
this.RemoveHide(page,"p");
/ r* k9 d0 i# l' i
M+ r8 D' ^) x/ m+ [ }
j, W1 r9 R3 P# s- h" Q3 M, O; a
, S2 w- ]8 P3 \' ^/ b# K- Z8 b }5 r3 G5 _; E5 R5 K9 s* U( }- i. Q7 ?- {
this.getobjstyle=function(node,prop)
( ~: U0 n; W& q# E$ @! g {
2 p4 `: p1 v. F# B- L( A try8 h! A, E5 _) ~+ l4 N% l" s8 C& y
{
% A4 e/ V, }, D" U8 C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 o" s) [" d3 P& H, K }% B2 u1 |8 U' R: o8 r: F
catch(e)
! T5 S5 S! g9 X( |! \ {) A" p3 @, Y; R: C" h J; t
if(debug)
0 r% t" y O/ b9 e; ^3 s3 G, h0 | {
, ?# Q. q* k# E alert(e.message);* z* R5 Z, w0 U: Y: @( u
}
, o! g) ^4 b0 N3 n: I$ F7 o ( X9 }, s: j) w* l! O* U5 u7 A. | c/ `
return "200";
6 e# B# ~: l, l, S. t) v2 J( M8 ] }) g# A. v. M6 ]. [! d: T
}
/ k+ @, G1 k8 {, t2 l7 ~ U" C2 }
7 O& V7 |0 f# o4 ]) O this.RemoveHide=function(page,objname)2 ? D- X y1 W( R5 L( A9 P7 L. q
{
4 [4 T/ C/ y& O try
& [4 u- Q- @) F" P0 _3 Q$ S {) I- i. k; T, t
var minValue=15;
4 A X- ]! o$ r* D1 z7 | var objs=page.getElementsByTagName(objname); 2 \$ x3 M( r8 j% M4 R1 `0 h9 L
$ B! C' @: q: p' m" B
if(objs.length == 0)
* ^% t( e) o# K" f/ @/ \ {
1 k; g: q5 ~$ a7 N l$ i if(debug)/ d, Z4 p* S6 @: z% g" d' p
{
7 h# P( T) U9 i. `0 e b. U alert("no object found!:"+objname);
+ {( W7 \& @. j$ ^( V8 {/ l T R }
2 W. [9 C1 R# M# |: r5 j }$ [$ q" z6 X! ?) Y& X! @+ H
else
# |# ?5 g' _) x7 Y- } {: z& @3 V, Y: L8 ]6 D4 d* G
, N0 h, c1 T% O8 ?; K7 v for(var i=objs.length-1;i>=0;i--) 1 z' I- W4 i: H( W
{. K8 \2 ]' T3 ]2 D. G( b
var node=objs.item(i);
' q t6 U9 P/ I ) b; g) ~0 N) B5 _1 u
/ O- ?* J+ t9 I
if(this.getobjstyle(node,"display") == "none" ||: w4 Y0 H3 |6 W9 Y2 `
this.getobjstyle(node,"visibility") =="hidden" ||2 X2 n8 O2 K# s; k, z U
parseInt(this.getobjstyle(node,"font-size")) == 0) " u I3 U2 X- G! C* O2 T3 K5 I
{
( \- c& E4 z1 y9 d( w if(debug): b/ x6 c& Q. o% j) s
{' P5 M; H' b( C1 ]; f
alert("remove invisiable!");
( b0 Q4 F, s$ d9 _1 [* A" W }
3 S r" `8 U4 Z6 B* \& v node.parentNode.removeChild(node);6 @2 z; K/ C, M# X F& ?
3 m$ k/ L0 o1 u* x T) a
}/ n7 C$ m* w* \( _# g
else
+ E# i8 [5 a ~$ t+ _+ z5 f {
/ r! F. z' l2 T8 ?* Q$ ]: E if(node.parentNode) ! j: h. }! _& l% y0 O1 P, @' V
{
2 Q2 z) m7 ` H0 }0 T5 c( a- j. \ var orgNode=node;9 o% {- b q3 k- G7 }) |; O' `
var orgColor=this.getobjstyle(orgNode,"color")0 ^0 \6 R8 c6 x7 e4 J I
var orgRGB=getRGB(orgColor);
' A4 w: S) w! u, r- D: ?/ ~% j
- a2 ?5 y+ {4 r* i9 k% G% |' p# k+ x+ ?& @ var parentNode=node.parentNode
9 y" X: e5 y# l8 s% [ var parentBgColor=this.getobjstyle(parentNode,"background-color");) i0 F2 y1 N2 B+ i
. t0 a2 x' K |+ {* B9 p. e
var isLast=false;! o3 d5 F0 o: {7 j, S7 W
& E+ Z) k/ _8 b' x, ]: | while(parentBgColor == "transparent") ) ^/ I( e1 t) A' S
{6 r! J* i5 C/ m0 {0 X8 Z* d
# n Y3 y! r8 m2 g1 [9 C( J- y 0 Q! R7 U4 T/ A
if(parentNode.parentNode == null)
. t0 ]& a( I6 {# g0 H& [0 q {6 Q1 E; c" \0 F
isLast=true;
/ q- f# N# O8 f' v break;% W l; d* s) r3 r& u0 _$ L
}
6 i5 u6 t1 B1 q' R. _5 i parentNode=parentNode.parentNode;
" u4 B$ A+ _0 M2 V E parentBgColor=this.getobjstyle(parentNode,"background-color");
3 y6 `& O) ~. k2 `
+ n/ z6 i6 I. {, u& y; E6 q7 ]/ m if(parentBgColor != "transparent") * u$ A/ h8 l3 Z7 ^, l" Y8 C- X
{$ i% p+ u0 T' ^8 \1 x
break;, J; p( X4 d, j" ^
}% p4 ]5 c5 Y( H6 Z! H) g7 O& z
}7 [6 Z* i" }' {# Z- [( l
if(isLast)
3 w5 D" \( h1 L# i- \8 e5 l {1 E! r$ ~+ n, a( ?1 f6 R
if(debug)+ i# `7 w, i5 U, N
{
4 y! T4 D/ F0 ?6 ^) O- C alert("last!!");
- y8 V9 G0 Q1 F) v: \# l( }9 w }# j% k' D2 P2 M" i" k9 h
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 e6 d5 U# U) L/ G3 b {
& z/ d' M- J- x# p5 J5 U2 ~; K" t orgNode.parentNode.removeChild(orgNode); 8 d, Q$ J3 Q9 z; b# }, Y
}8 f. m# j+ E$ [
}
9 r" t1 j: t5 A/ R+ L else
. [0 Y" @8 U6 v2 u$ D1 \2 D. p& S {( r8 [/ L f+ J! b0 O; t; D5 q
if(debug), z& P, D+ M# v# G/ ?6 s
{
! S8 m8 `& m0 }! ~9 q4 z alert("compare color and parent bgcolor!");
' d) L$ N2 G# R }& \+ I+ ]8 R' a7 D3 I; T: J9 ?
parentBgRGB=getRGB(parentBgColor);/ r9 n$ \. u% D% J8 b" D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 |( E% l; [5 h5 z5 P' [
{1 m! e7 }6 f7 L. p
orgNode.parentNode.removeChild(orgNode); ) g9 y) d; q! i' m1 l% n
}$ t+ H$ S1 d$ n. q( _5 [. u8 \
}
1 u& r: Q X, U4 n! Q& Z% f, p* j }
4 W% e* z8 q& u- E4 U" D }# i; |' o+ q6 `2 H+ O( p$ Q) b5 [% v9 R
}$ x8 i* ]$ q9 v
}0 S, b% x* i1 o) S3 v1 t3 R
4 Z8 h" X6 @& G7 W
! k! i8 Z1 A+ W var itemFrames = page.getElementsByTagName("frame");
' C$ p' F, F! x9 |1 ^5 E9 ~, p var itemiFrames = page.getElementsByTagName("iframe");
; Q8 s/ Y b: Q' ^- W 0 r8 K* U+ Y9 e8 [7 W9 \
var frame, iframe;
+ S N5 Q: y' [1 k if (itemFrames.length > 0)
. N5 ~# [: l$ x& \ {
1 `4 H+ W) _1 z: ~ for (var i = 0 ; i< itemFrames.length ; i++) R* q0 K& r" ?; V
{' V" C4 |7 y' M4 `
frame = itemFrames.contentDocument;4 c# U3 U) H2 B) _4 u% p, g
this.RemoveHide(frame,objname);
: c# X# o! ~! U/ {4 X$ _, h }
/ q2 U$ j) b; v }
% R* q5 ]$ t. C9 e+ I if (itemiFrames.length > 0)
( {$ G2 W T% c. H, N) \ {5 c0 B7 ~6 H% o+ f: z
for (var i = 0 ; i < itemiFrames.length ; i++) ) T5 l& S, L/ d( U
{
4 N* \$ E! a: P" W, r iframe = itemiFrames.contentDocument;
' H$ j# R, ^5 H4 A this.RemoveHide(iframe,objname);
" }. i! p" k% z2 \- A }
8 S$ b1 A( y9 z }
. `/ ?" S L" {) b+ `3 O& R }
5 T6 P6 I( s. a. e3 c: Y catch(e)
9 P% ?0 V# V5 \7 z. l/ a' E) v {- g+ W9 _1 U% S" z8 g
if(debug)
+ S' F3 D9 G% p% c% D {
1 s8 p1 M2 [9 B8 k7 C l alert(e.message);
# T. \4 e4 I A* A$ R" _2 U8 u }
) B% K; I' `) ?& h$ m }4 f0 r$ y7 M7 ]/ u& P# E8 p
}1 a: Q! N$ B7 B; ~& U
6 S; h$ @5 k( r/ ^0 M
}
, A% b' h S. k- A2 ~
; A. D7 Z- c7 ]) \function getRGB(colorString)
1 `" [2 K, e; I8 v: D{
+ n3 Z. I* q0 F' t) O var RGB = new Array;
4 {' Q, b3 \0 K$ ~9 { var tempSting=colorString.substring(4,colorString.length-1);
7 s* P- @4 p: c3 K# p var tempArray=tempSting.split(",");
# A5 i5 D+ K5 b1 U3 B7 p! R# F8 x- Q$ |% E
RGB[0]=parseInt(tempArray[0]);
$ ?2 @) S) q2 @" T7 a RGB[1]=parseInt(tempArray[1]);
6 C: l7 {* c4 X7 U RGB[2]=parseInt(tempArray[2]);; D+ _' F6 J* K2 \0 f$ j; k3 f h3 v
1 d, y( z( \) I9 V: z) H return RGB;: L$ _6 ^5 X' k7 Z1 b
}
0 q) O& s7 G1 I8 s9 J) |function keys(evt) 0 u1 l9 H8 f$ r7 S+ a- a- a' x; E
{ 9 L7 K7 j5 v# T( t% b8 M' i
if(evt.ctrlKey && evt.keyCode=="81")
, a- O$ D/ O! X0 S {
* Z+ Y" N4 E6 j {; h' ^9 d CleanHideObj.on(0,1);0 `/ _2 r" \/ A$ q/ J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' a, i# C- h7 p5 ~1 ]
% m7 [$ d4 h8 |7 g$ @7 _ } , W& [1 c* M# `! w
} & X4 n$ X9 d& I8 Y6 P
document.addEventListener('keydown', keys, false); 6 T5 D' P$ c7 |
GM_registerMenuCommand ('Clean Hide',3 }- \; Z/ ^9 B( x4 ~( a# X4 ^
function(e){% w+ R: r2 i/ j( o/ i. C6 x* i# k
CleanHideObj.on(0,1)% h& ?& V, v- L$ O S2 a: e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, [; h3 u2 l+ N% l});
2 t- _( x$ i1 q' W |
评分
-
查看全部评分
|