|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % P1 _% |$ b& j3 P
% W a z) ~& U/ ~- T$ E) ^
火狐插件,用猴子" d! G: r f) P: z8 v2 l$ V9 }
. ]2 z q# ~& u! m/ z: {
var debug=false;
! h5 |, f6 b/ L0 F* ^0 z/ h5 Fvar CleanHideObj=new CleanHideClass();
+ P( U/ K4 a8 o( [) X8 W. L, ?% V
2 S Y( h2 F; f8 J0 u: o0 vfunction CleanHideClass()
; z' m, f: _3 B/ G# W{
! S7 t8 a7 D* [ P- @6 S6 _/ m0 m4 C + o' t( F/ p8 t, ]
this.on=function(id,bMZ): `0 |: t: q$ h8 Z( E* ~/ G% E
{
2 |, R! y. J: ~6 p
, n7 b! B/ ~8 s* m( U, t if(id == 0)
; Q# _& k4 s" K0 C$ s( C2 T. e {
8 H h, P" M- A$ N+ ?& i3 b% e var page=/* document.getElementById("content").contentDocument */document; 7 f9 T3 x; C [* P/ _& k% V
this.RemoveHide(page,"span");
, Q# \2 ^' e( h& ~8 l1 W# O- {/ ~7 D0 ` this.RemoveHide(page,"font");+ n' G O# o! z6 r) p+ c8 H0 E0 Z
this.RemoveHide(page,"div");9 E* Z9 }8 R- J) C. y- _
this.RemoveHide(page,"p");. g7 v: S. s: Q# }+ u8 T
8 M& q( u/ H2 j8 a; t! v7 d$ S
}
" v: p: a' k5 @9 W ' b" ?# v5 p: o* k a2 P
} S" `8 E: d0 T( N0 ]" u2 Q
this.getobjstyle=function(node,prop)
7 f3 m* F- g' y; R$ M5 t: H. m {
9 X' y* k$ Y! p" y8 b l! l try. M& R$ s0 Q4 ?6 ^
{% h2 ~( `0 z N
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* \, L, j7 }$ Z X) q
}. p0 x3 y- W& }7 K f
catch(e)
, f* J* T5 g. P! M" y; K$ ? {
1 u+ \ }/ A1 G& W- K4 W if(debug); r6 j* S5 r/ F" z9 B& S* A( ^
{
+ X! r U W, L5 r8 R alert(e.message);
' D7 W+ ~4 g* Q }
& X% ]- R/ B0 V' C0 ~7 M 0 @8 B* q3 N* M9 H% i4 S& {5 a3 [, N
return "200";
6 f+ j, ]" [0 E% J$ c$ P( `" l }
% H8 k8 i% B6 a5 s7 X V! Y' v( A }
7 w' h. @# d; ~( [7 v3 ~
2 s* |! m( J- x! c3 X8 G this.RemoveHide=function(page,objname)
& _0 _+ p" B: f9 R {) G- v( K, G/ _
try& b. p, I, I5 b6 K/ n2 p( S
{
; F( Q# C( r. [. r; J% l var minValue=15;
3 C& g8 B. _; [+ T# g var objs=page.getElementsByTagName(objname); : v) t5 t4 I8 s7 T9 ]& G
$ e1 j# y! r: X0 {8 t if(objs.length == 0) 5 x9 S. y; j9 F: s$ j& t
{
7 e5 j7 v, a: w if(debug)% B8 a& Y, g$ v4 M8 A) @
{( }7 p( x B- J5 `' \/ }# B- {! k
alert("no object found!:"+objname);
2 s, _" E4 N8 M- D$ Q8 I }! |& ~. d# ?4 p, k3 l1 r4 `
}
' E8 T: ?: G* k, s" w$ s9 s$ n else
) k* B4 N3 U, N4 b. L2 c( k6 A {
) K! P7 ~* T2 N# z
9 n2 T, l$ o4 Q0 o- D3 I for(var i=objs.length-1;i>=0;i--) ' h/ h+ R% c3 b" B& y, b
{( j. p7 T+ y9 M4 F- m4 b
var node=objs.item(i);
( R. y. U8 q; K h
3 H) q% L& }# v ; N6 H- S4 J# H) r. N3 G5 A
if(this.getobjstyle(node,"display") == "none" ||
& l$ u, |( o& P7 { this.getobjstyle(node,"visibility") =="hidden" ||8 q# ]/ G" S: m- A% ]
parseInt(this.getobjstyle(node,"font-size")) == 0) 6 O' \2 n! F# c/ Y R" Z$ I" u! O% h, r
{3 S0 u H5 S: z, |8 l
if(debug)
4 w2 k, ?; P' d( r1 z {
+ ~# G# f7 k2 A2 Z8 a- P0 F: X alert("remove invisiable!");
! I% z9 b5 e3 p( Z }+ W. F8 m$ r- E( a# O, z
node.parentNode.removeChild(node);
0 f( F9 P7 A: ^+ W/ _9 K; @# C
) ^& q/ D- }. S% X5 b% H5 { }
4 L+ f- m6 i' @5 ^1 F else , W ~, H2 W; G' O
{; m+ y' f: S$ Y6 H
if(node.parentNode) : D% W3 _( J+ [ Y+ a. M, t! {! C+ S
{) R+ [" U; C* }8 ]7 F8 _3 t
var orgNode=node;8 E+ e: \" T; l2 Z3 I
var orgColor=this.getobjstyle(orgNode,"color")
: N% L# V$ ]- ?6 S# r var orgRGB=getRGB(orgColor); / Q. P* _ {6 I4 X4 ~1 ]
2 R, H0 A% p f2 X$ ?0 l
var parentNode=node.parentNode% I' ?# ]7 q8 z- _" C
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& B6 s. @0 ?" R; y
( d: Y: j* ?) N4 s$ z; B var isLast=false;% p9 u, q$ i, o9 e k0 @
! x9 d7 [- \3 e$ t7 F while(parentBgColor == "transparent") . ^4 Q% ` M2 C5 v7 X
{+ {( e% H! c" `" _8 [$ } Z0 N$ c
. s7 u# w+ p" U6 }" P( e ' l+ p' ?. [; j8 o. \7 b, W. Y
if(parentNode.parentNode == null)
5 m! ~7 p2 x0 b {
7 v5 f; a! Q7 [ isLast=true;
8 ?, n/ W# B4 i2 W break;9 h2 ~6 f* A- e* m! w' {
}
- @+ T. c0 x1 l T& e9 O parentNode=parentNode.parentNode;
- ?' P* J, f9 C) X$ Y) [% D parentBgColor=this.getobjstyle(parentNode,"background-color");
7 Z: V1 f6 _+ [* }9 A. c+ k& B8 w5 i8 [1 Q G; N
if(parentBgColor != "transparent") 2 V+ |) ?) W" f3 F Y7 ^
{
& @9 x/ k! _! G! L, U5 ` break;$ B! u% ?& M, D( u" a$ r+ r3 n% s
}, u/ `% B6 b0 s9 e
}
! R# v; e; |+ e if(isLast)
: J2 L5 o8 n* w) X; J2 @* j {
: R. V9 X- r& r, q7 C3 i C if(debug)/ e* u) W+ b) X3 o3 A! q+ }
{
; _# Y9 h6 Q4 T' g- s4 | alert("last!!");
, A' ], u) o, R$ u3 P/ ` }* }" R% |5 B; ]. I$ w. r+ `) @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ P' y/ n8 w2 [5 _/ ?7 S
{* v6 d6 o k7 R: W1 t& a) C8 P$ B( j
orgNode.parentNode.removeChild(orgNode); 8 m3 W% R" u3 q+ O; R
}
% L! _8 g- Q3 ~ }
% E5 q+ ~7 ~, L; N. z( G* o else
- k2 J! q# F" ` {
; h; i1 x$ A8 z8 S6 ?# s- s9 G' s6 ? if(debug)- w( @! k H' e+ ?
{
- y2 M5 w; W6 [1 v$ ?) x2 K' m! Z# @ alert("compare color and parent bgcolor!");( y0 i9 {& P) _( M5 L/ p
}! O- N4 N1 h: z) T
parentBgRGB=getRGB(parentBgColor);$ h0 q m; y% m! D# u: n1 d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 l+ G4 ?. J$ d# T' k, k
{
$ J8 C% i% V: f5 |) L orgNode.parentNode.removeChild(orgNode);
4 I1 x# D! R2 m/ p1 f- T% F, G }
, y+ ^! F* q" F d2 e) B! @ }) v$ V. O% q. [) I& N9 R1 a
}
$ Q4 o3 _3 O9 @. T( g }
2 q: c0 q* d- }& |; I' x }, N, r! H/ Q, B& ~: F# o7 a+ B* @6 s4 v
}
# ^8 b. c1 d6 ?( M , _% \: B( @6 l3 m; ]) {# W
3 B$ \! g3 i* i" j
var itemFrames = page.getElementsByTagName("frame");% J5 e1 p; M4 v$ p7 R
var itemiFrames = page.getElementsByTagName("iframe");
; c* l% [+ a( [$ F
( S2 M( `) ^$ y( | var frame, iframe;
: J7 G: q: ~% {. U if (itemFrames.length > 0)# O F: t' x+ `. n2 b
{* v+ l4 j; L& L
for (var i = 0 ; i< itemFrames.length ; i++)
. Z$ l; j2 ~4 F6 }/ M6 R# ~, r' L {
! s: I0 _ x+ H5 V6 N5 R* T5 w frame = itemFrames.contentDocument;
- W! ^+ ^* ^7 J }5 O, r. Q% M7 F this.RemoveHide(frame,objname);
* {" k- g; O$ | A2 q J }
% G @: s% B. ?( d }$ S) {# {/ o8 S- }. b4 m7 ~
if (itemiFrames.length > 0)
, ]% {8 V) Q5 W0 X7 d) A {
0 H& V I! @7 l, m- L for (var i = 0 ; i < itemiFrames.length ; i++) 5 ~1 [7 u5 z$ D
{
7 x! J$ @3 ^' f- I J% P) F% S5 ]+ P iframe = itemiFrames.contentDocument;
; c3 u7 h' j$ J" H9 f% r" Y this.RemoveHide(iframe,objname); * ?0 @" U! @: _+ F7 t; H
}
' S: `' x s5 J }2 P7 ~8 j; c6 B/ c; T u- y/ R! t/ p% g1 S
}
, B) `- J% [; Q0 u; a7 u catch(e)
( _& \& G1 W! R, x$ j" c- g/ @# l {
* Z* c @. u; B# d if(debug)
/ r) k8 Q+ [$ h! I) a( [ {
; `* [6 e- |1 {1 K; p# A$ p- C alert(e.message);% B1 W/ W- P9 {# `% I. V
}9 d1 n+ _* Z) P) q/ M
}
. J4 Q+ B2 T& ]9 t; N }
0 C9 ~1 u) W0 s 9 t2 H% R& V4 p2 p0 Q
}
U3 p- r' v8 P: [7 R7 I0 M
7 y7 Z$ }2 }+ c( @+ K5 e# yfunction getRGB(colorString)0 @9 G) p( F- Q: \. p0 a/ B* V
{
% ~/ X* O4 }8 r var RGB = new Array;
, X- F# ~9 N f2 H: x var tempSting=colorString.substring(4,colorString.length-1);
$ a, G/ F d) ?! D+ W/ X var tempArray=tempSting.split(",");* g* R* @+ I$ y9 @/ v0 [
/ M; D4 v# [: ?, y% Y RGB[0]=parseInt(tempArray[0]);
' ~( C2 W( j% @+ z& ?. m: Y RGB[1]=parseInt(tempArray[1]);
8 N4 G$ ^1 L$ [ RGB[2]=parseInt(tempArray[2]);$ n: y/ U, n" r* @, n# v' h2 T. k
' }- A) F! y D7 `$ j! R" x
return RGB;
m+ k: p2 j- N8 ~ a/ Y1 O4 ^5 V}9 p. f7 h5 U$ M3 W2 N* f9 @
function keys(evt) / @; d/ A& o0 X% n3 ]7 D+ F! {
{ " L* J1 I+ d, v. d2 m
if(evt.ctrlKey && evt.keyCode=="81")
+ U% w5 t; Y _3 Q' y- u { 6 y2 r1 K3 B9 _5 _+ M5 F7 m
CleanHideObj.on(0,1);
$ z! i1 E7 D; }9 ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - b% ~" J P+ H) D( d! K
; S D' l) M7 o' Z/ F& Z }
9 R$ x5 `( w! o3 a! S% j1 T3 } }
! x% b- Q5 D) `document.addEventListener('keydown', keys, false); & b$ u3 |: U+ D9 T% ~% j. _+ J- o/ k9 W, W
GM_registerMenuCommand ('Clean Hide',
! E/ l2 R P( g* Z; K J! x7 dfunction(e){1 R( d: L( e6 u/ D* [6 `6 U8 d
CleanHideObj.on(0,1)
1 p# |2 w$ T6 Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 m7 d1 P) O+ y# L});
) J T7 d" \2 l: I; X& R |
评分
-
查看全部评分
|