|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % Y; t5 r$ }% `8 x- G
) G/ a3 \' J4 w火狐插件,用猴子9 w; d- }, D) \2 H1 }+ I
' O: {" t1 t! n0 j# ?
var debug=false; 2 N6 m3 Q1 a: v4 J8 K! G
var CleanHideObj=new CleanHideClass();
9 y: S% r, {, U" S" e& m
- O: V8 M( w4 c1 Y2 p) d7 bfunction CleanHideClass() 4 j$ \! `+ I" x) P. H
{ 0 U' k; d+ \- k3 q
# V5 {- S2 W0 W# b7 s2 c
this.on=function(id,bMZ)" V3 P( \: ~( l8 k2 Q7 a4 E
{
5 i3 E- o! `0 m2 {& h7 | $ D1 K6 B! ]9 w/ q
if(id == 0)
! |' g& `* m/ O0 U* G* l# y {) {( Q) I5 e1 L6 s% Z" f! @8 S" l
var page=/* document.getElementById("content").contentDocument */document; : |$ @2 f# N0 U, Y9 K" u9 x
this.RemoveHide(page,"span");: A! Q* R+ q: X" q" U' I) C
this.RemoveHide(page,"font");
; k1 ^0 q6 W! X5 ?: M6 n. x1 h( ?6 J this.RemoveHide(page,"div");
% r& Z4 D3 r5 h( F8 E2 N this.RemoveHide(page,"p");
4 s: ]8 Z# Y* n: _. [$ l, b
5 v& X6 ~* A) P- C4 E# b2 F }& N9 W' t( U6 [5 M" Q
, i' r1 i7 e3 d1 z6 ^
}
$ z2 L8 Y8 F# i- R; `0 {; x this.getobjstyle=function(node,prop)+ i7 d: N3 X7 E* n
{1 G+ v1 N1 |" U B3 d* W2 u
try
7 i. }" |; r1 Y' `8 Z' s {
3 l9 E6 D( b- \' k0 E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 O0 Z9 @) [' V" V6 E }
8 ]3 @8 C# K4 ^: i! W6 M+ T catch(e)" e4 x, v0 G3 T$ o3 X% D8 N' v
{
' Z9 S7 h5 y( w0 r if(debug)
4 c$ w3 g. T3 n4 b+ X9 _. J- ^+ W {8 X' K$ F: R& [. X- v
alert(e.message);
0 K' @8 z1 l' o; c2 s% P; ` }
# a% j4 I% v6 \5 a
5 V, U5 w7 _) ? return "200";6 w* w0 s5 H {' m1 ^2 X! o5 D
}% M" p% }2 j$ S0 O
}
$ J/ W: I1 I+ C( S& I* L
5 \4 V( y8 f3 P/ ~' z7 s% Z this.RemoveHide=function(page,objname): z0 Z9 p8 M! n, N1 j" [
{) u R7 \$ |+ n% e8 U
try
4 B2 q; u* ?. v! w0 u {
% b z6 ~6 r1 f$ M5 c5 |& ^ var minValue=15;
, Z8 d% D; J$ G* E7 L var objs=page.getElementsByTagName(objname); , w3 d# V+ V! z% l4 s
. [; z' M' a" S- ]5 Z8 t: @, m if(objs.length == 0) ' P7 c7 b( j* d0 P1 Z
{
& [8 A; ^7 o: O4 f* `0 e/ G0 {1 F if(debug)
$ o T7 s' C" M% w& H* P0 X {
3 ^' I5 R. {3 K4 f) Z l" Y alert("no object found!:"+objname);
4 }7 Y5 }* Z( B' ], A9 U }
, u/ l9 q/ \2 a8 V8 v) Y }
# w0 d, ~. d! z2 o else
' b5 ~. H: K0 M3 v- R2 f0 a {
6 a" @, s1 {5 F) T/ N
, v A7 X8 N3 E# `9 ? for(var i=objs.length-1;i>=0;i--)
2 P9 f7 H( y! g* e {+ w1 _: L9 C; @( [* C X
var node=objs.item(i);
5 g- e# t7 Y$ U* k u 1 c% q% |& `0 ?. d& a
/ O. H& Q( _" S" A
if(this.getobjstyle(node,"display") == "none" ||$ N* \; b1 D- t$ W3 M% E% i
this.getobjstyle(node,"visibility") =="hidden" ||
' y& H1 E1 P7 T& P: d" J parseInt(this.getobjstyle(node,"font-size")) == 0) ) [/ Q$ B$ }& }$ k
{
1 ?6 S6 [6 A o" L if(debug)
/ ?1 o' |1 F' i. e) y. D, M- E {
; {& r/ {* x6 m. q' s" G* Z alert("remove invisiable!");# D9 D+ ^% c( l* v* G
}
, L% p' C) ^6 Y- ~, d node.parentNode.removeChild(node);
' j+ E. ^7 ]2 g& K
$ k' K. N9 G. O [$ |, \& B: w" k6 _) _ }
. e6 h2 Z" y' `7 [. F else
: a4 R" J! P: Z/ O- _ {
/ D' n7 ^- h- ~' k" I+ Q if(node.parentNode)
" b S$ A) T. K) I {
0 M6 `3 M0 l; f1 }8 n5 s6 w& q! h4 Z var orgNode=node;
7 O, I- C& L* @5 b var orgColor=this.getobjstyle(orgNode,"color")0 B% z. C4 y, q$ H4 w! d! e; z
var orgRGB=getRGB(orgColor);
* t: S) I C1 A0 i6 F
) _+ d+ P- N }! H7 g var parentNode=node.parentNode7 k! r. Q) J3 O
var parentBgColor=this.getobjstyle(parentNode,"background-color");# D+ }' `/ j# P1 [; V U9 Z" j
1 o* h! m4 v# {7 G* o t( z
var isLast=false;* Y1 I; W8 Q' j# b8 W7 M J
6 I. E! Z+ x' ~# C: d" B while(parentBgColor == "transparent")
: e( U' O5 k9 }$ e4 P {
( ^: Z7 g" M, A* T* r6 f ( p1 p% o- |4 z6 m0 Q6 ~8 j' `
1 e1 a9 l, M9 N1 }$ I. h if(parentNode.parentNode == null)4 U8 b; X2 N7 K/ R: j) ^, k9 l
{
6 n: E: o! Y' z% X! v isLast=true;
2 k9 F* ?. i3 p8 K3 F- u8 U4 j break;
1 z/ M9 g0 M) } }
4 z' J3 g+ b, u& W: M7 G& x parentNode=parentNode.parentNode;, k/ I; u- z9 }, a; R5 g0 B
parentBgColor=this.getobjstyle(parentNode,"background-color");! }3 f5 Z' B/ g8 r+ v
/ s$ c+ j7 V2 n: J if(parentBgColor != "transparent") 1 Y- M* {. h% l7 n( \2 B8 N
{' P2 a4 J( h* o% R0 J9 r q3 A
break;; V3 l0 j; B# z
}* @* K& k6 r' H$ Y! d% M
}
8 z+ P! P8 |; T1 `; D if(isLast)
2 J5 u5 y& j- Q/ r6 e t6 ~1 } {- |& V4 n u! e3 [& A+ w
if(debug)
; |2 I: y* E# ]! J. L) E1 P1 G1 Y {
% B$ }2 q( v9 l1 y! ]0 O, j+ e alert("last!!");8 \) R8 A- N. {% ?+ ~6 [" e& ?) L
}
7 c; J/ P7 S5 v3 K# p* o3 {% X if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 B: I! Y. k+ n3 Y/ ^- N8 k
{
5 e2 ?3 O, w/ @; ^' ` orgNode.parentNode.removeChild(orgNode); ! [" H7 x: @& D9 |! n9 ^5 Z4 q
}
- f5 h/ d# g1 t$ \( O }
6 b# {( u- n! Q: w" j* u) T else- u: j. l( O3 s& y, n# Z6 V, g! |
{" S! R* w K& k2 L0 Z, Z% V* u/ X% C# K
if(debug)
D5 ^3 d; L6 [% w {% u+ \" j l! j) }
alert("compare color and parent bgcolor!");
! d' M9 P8 O3 \' X, N- Z* I }
2 H# o- m$ i9 C4 Z/ K0 U parentBgRGB=getRGB(parentBgColor);+ t* _* p; @ |- D1 u# S' L7 o& L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))" G ~, W4 H: r% h
{5 H( y! |- K! T2 Y* l0 f0 P% B8 \
orgNode.parentNode.removeChild(orgNode);
- j; Z0 ^5 T$ ]9 J V }2 ?7 N3 {8 v7 c$ n2 {
}
0 d: L5 D: M; _& L }
4 n+ q* N- b* o% Z2 j }
$ G F1 v! {2 Z }
1 f+ A$ r. A, M) Q& ~ }
8 d; ] N" Q6 p& t4 B5 U8 m, O" S ; l1 q* P1 W. F4 W$ ?0 a) g
8 J( E1 t; ~0 H$ ^6 n8 B) W4 D
var itemFrames = page.getElementsByTagName("frame");# {* |1 M# r; h: D c
var itemiFrames = page.getElementsByTagName("iframe");
/ L! K$ W1 n0 v8 q
, }7 X8 R) C, ~1 F" s$ C2 y var frame, iframe;. \; e+ w. q: m& P9 p4 i) k' [
if (itemFrames.length > 0)
0 R% R/ T2 x" e, l3 G: y, J {2 p' ^" R+ s" Z
for (var i = 0 ; i< itemFrames.length ; i++) " L: ^9 l' f9 a
{6 H: R# R" _7 Q0 K* S
frame = itemFrames.contentDocument;( U( w% |( F/ \* f; n1 l+ A/ Q
this.RemoveHide(frame,objname);
1 f3 J& f7 B$ e/ ^% { }5 N1 S M/ |, l$ ]
}
$ y5 f4 [2 d+ s& f5 ] if (itemiFrames.length > 0)
* Z6 r/ d; u1 |# \" x { T# W$ Q$ a c3 T. k* B
for (var i = 0 ; i < itemiFrames.length ; i++)
9 D# ]5 ]2 O5 {2 }! m {
s, i3 S5 `/ L' k0 v- Z iframe = itemiFrames.contentDocument;$ w1 u6 U% x1 \' S+ G
this.RemoveHide(iframe,objname); 6 c' \3 |' z, B) P
}9 o6 A7 y8 _* u
}
6 ]1 b. Z! M' i8 f$ O }( H7 T, [: u% P% H: I1 Q/ S# J
catch(e)
1 S' ^0 [. W& ]7 w2 G( _. _$ Y {
# B( A& d) E" O1 q2 z6 T6 {8 q if(debug)2 ~1 T- Y7 h* G) p
{" P! [/ \6 p w* c9 a" n0 }' U
alert(e.message);
' Q$ t0 b2 F# C/ [ }; q! x: D; p& E$ I$ E+ _. {1 Q
}
' _$ ~. p, \+ _7 g" K5 x" P }
8 v/ u$ I5 l5 I& W
) z- M' n; v. J; A6 U}
; _7 u; l: u; O8 y7 k( X% {/ D5 B% y, ]5 ?
function getRGB(colorString)
. i* h2 x% {2 Q$ D9 s- V{
2 l( v0 W" Y/ a7 ]( q var RGB = new Array;
7 ]1 ]9 ^( j/ E% S/ j var tempSting=colorString.substring(4,colorString.length-1);
% q6 g7 c* y0 ?) c/ F, U var tempArray=tempSting.split(",");' g1 {1 t) S7 w. I% d" {' [
2 K! x' j) A; C; W
RGB[0]=parseInt(tempArray[0]);; l4 ^0 H/ s9 l4 V. C/ P: m( z
RGB[1]=parseInt(tempArray[1]);
7 \7 |: L& F. @+ t RGB[2]=parseInt(tempArray[2]);! i/ B5 q k* A3 ~
( v3 b, k% W3 F1 _ return RGB;" B! k3 \7 a4 U% `& O2 h
}
( w- Z) R7 T/ h; k% S8 Bfunction keys(evt)
i$ |9 k1 P3 T- D: p, ^8 ^7 A {
: c7 {$ F; J3 I5 a if(evt.ctrlKey && evt.keyCode=="81")
' S3 ?1 a& s% L7 r9 | {
3 ^: i& S; j& i' u& V: c CleanHideObj.on(0,1);
( I& |& R# v/ U2 Z; ?9 u alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; D, w8 J1 E0 m) R6 B _3 }5 \
; O* C, j1 p ^1 w6 \6 M
} 5 Z! V9 J, F$ ]1 a
} & v6 J' x. Z0 A6 \6 K% P
document.addEventListener('keydown', keys, false); / N2 \: X/ I1 Z. l/ m) q: o: e7 ~6 g( j
GM_registerMenuCommand ('Clean Hide', h- z6 r+ @& G; O9 S+ C7 p
function(e){; T& o) P, N; K$ V. G' P0 d
CleanHideObj.on(0,1)
( N9 l, i2 s$ n$ r/ r( y3 ^( }# `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( i- S) ]; _; x. Q6 J1 a});: k1 S' E. r# d6 B6 ^4 l- F
|
评分
-
查看全部评分
|