|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & P" p9 K4 ]* l* G7 y6 m- m5 A8 `) [
' j9 Z" V9 F' r: G/ _# ~( V火狐插件,用猴子
( _0 _' | x, Z+ J. N# {
5 N8 d( I0 ~/ ?; X; V& h/ ovar debug=false; ' a6 ]$ t1 z4 b
var CleanHideObj=new CleanHideClass();
5 J. N7 v5 }" h5 C; S
) b: u( [+ E0 y/ F: yfunction CleanHideClass() 5 k2 d: p, |" ]
{ ( ^4 u F# G; R0 ~5 b
2 {& \; L7 @- Z# S) r this.on=function(id,bMZ)! [/ U/ {9 l1 T7 @" G; Q
{! E8 v/ e% Y9 k$ ^3 Z* l
8 j* a( L& z( ? if(id == 0)
! ~, L1 M( G" y' J' d7 d+ C# X1 ] {; y( r4 o" `: Z" {+ v7 n0 Y
var page=/* document.getElementById("content").contentDocument */document; ; L! G+ }" m; [, Q
this.RemoveHide(page,"span");1 t, m2 {& s4 {1 r: H% }+ ~
this.RemoveHide(page,"font");/ P6 R; U" Z0 G! e6 ~# ]: ?1 R
this.RemoveHide(page,"div");
H; Y" s2 n: F% w! w3 h9 t+ D( o7 P this.RemoveHide(page,"p");8 m6 S+ A/ |* } O: O2 s. B! m( I t
6 W4 A4 m, U. g8 J9 C5 w
}6 r7 u! K) s m+ I6 l# C1 X2 g
, B! h1 t, } h# U, x4 Y) o
}0 f- D* I0 E0 \. M( d
this.getobjstyle=function(node,prop)
- [& i+ i( A7 u5 Y1 `7 c7 L+ D7 T8 O {. C+ b! Z! x; A" j& S( ?9 j/ ^" ^
try
7 a. m( L3 S8 }8 f5 } {# S1 R/ J) y% C& a! s1 s% Y" Y E) G, k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 A9 v9 O$ ]( X0 M }' ]# h3 Y8 t- J. K$ ~) Q8 S7 j
catch(e)
+ X/ x. z. L; z9 }# p. E {
# L& H0 Y/ @3 i& j5 |6 R/ z) X) T if(debug)
( V/ M& ~) N) I {
! n% ]: B& @5 q1 K1 t( z2 x alert(e.message);
# j7 r8 r8 u. c' X }
8 z/ Z" M( {0 o% k, p
" e, e4 A8 t$ w5 [8 Z# O1 I, o return "200";
/ {9 V [& M% v$ J' Q# m) O% {6 d }
( e3 W) L3 w- C! O. O }. f! Q# Z6 e2 Q# W& d- y8 X8 g
! B. [( U/ i4 U! H H this.RemoveHide=function(page,objname)
' s/ p) B2 \+ w) G! h( u1 _' d2 H {
+ m0 K# j2 ] G4 a try% e4 q6 N& _& u( P4 U
{
* z/ j* V2 ~$ n R var minValue=15;
9 a) f; \- z9 ?; `; r K+ V& j var objs=page.getElementsByTagName(objname); 5 k3 d0 s7 B: A2 @3 ?
9 t8 l) }% c p5 ~$ a4 f! r
if(objs.length == 0) # `/ O. `2 \, n$ J% t
{) f0 U/ K9 G9 B3 t v& S# N, C! O
if(debug)( t6 s/ \4 ^+ F! V6 h, ]
{
/ _3 X$ y2 _! b" \ alert("no object found!:"+objname);
; z8 w! [% Y8 ^8 o4 j/ L }- S* Y% ` Q* R5 ]: n- W" F
}
$ i' }6 ^5 h# O* G( U else7 X: @7 M* }% F3 H+ z7 E
{( _" P" V* O/ {8 t5 A) | ?8 _
4 H% l: ~6 \5 {. Z- `
for(var i=objs.length-1;i>=0;i--)
/ t) T8 C# ~2 h) g& T {/ H' c O( c/ c! I0 Z- W
var node=objs.item(i);
4 |8 i3 \, r6 q, s0 @, V/ o1 T" b
% ~9 l& ?/ O9 F9 m9 U+ l/ D & S9 z; y: I; E3 K2 J& ~0 y
if(this.getobjstyle(node,"display") == "none" ||5 b9 w0 v3 i7 u$ H! O
this.getobjstyle(node,"visibility") =="hidden" ||
G* Q) y" s, ^; M) p7 s6 i) W1 R/ m parseInt(this.getobjstyle(node,"font-size")) == 0) 1 d8 X r: j. g4 S/ Y3 \3 ^ N
{
. l0 n; L+ P2 k8 C1 M if(debug)& {6 _3 s1 u5 W, g; e. W# R
{+ l, n, n) J0 p/ O
alert("remove invisiable!");7 z: P1 I; _' y( ~" ^7 W
}4 z' Z: O( @9 n. {, b7 w) D
node.parentNode.removeChild(node);- M" i @, b# m$ s
- [) \7 |, O/ [# A, G" x
}1 k @- L. q1 ^ H& |0 L; u% O8 Q
else 1 A9 m: g8 v* y6 H p
{
% @7 S- i# T5 b) W if(node.parentNode) 2 \# ]* l9 _- t# I
{
9 \% d. @$ q v# ` var orgNode=node;
( n+ Y* M0 ?) Z; n4 m- u var orgColor=this.getobjstyle(orgNode,"color")
" R2 g. m3 K) d6 D( P var orgRGB=getRGB(orgColor); / D+ E0 d* b# {" _) [3 @
' ?5 a7 L! A- f0 {2 a: P; l var parentNode=node.parentNode. |# n& L7 s4 A0 k) |! I/ B6 g
var parentBgColor=this.getobjstyle(parentNode,"background-color");( w# K- o$ C' Z& |% O# ]/ Y
' k6 h0 E( x! I) X4 }1 g( E7 V' ] var isLast=false;
/ w: E+ g) r* ~, v3 S1 o5 `7 Q7 a 7 A$ s: L, h# |$ d& ]2 I" ]. A
while(parentBgColor == "transparent")
* S+ t- V& R, O) d1 B3 w( w$ p( M8 F {
8 E" I/ R/ W `, A. T 6 s& D' X. |1 \
; K8 {, N4 {1 l
if(parentNode.parentNode == null)1 _6 x6 Y' _' T& W/ O
{9 t3 m( R7 z/ |; ~# _
isLast=true;
3 g: A3 {9 W2 U, g break;5 x7 {" x% }8 P" J; J$ H
}
/ Z% K) N- e i6 I j parentNode=parentNode.parentNode;
' d B; B6 A. x- b1 P+ f parentBgColor=this.getobjstyle(parentNode,"background-color");$ c) M/ M9 F, L3 [. \* l
( U# g; H, N0 G$ l) Z- }0 D% l; i
if(parentBgColor != "transparent") ' E0 ?0 w" I3 U* u: B8 {
{4 z( g2 E( ~) w8 M5 V! e4 {
break;* V ]8 Z4 C# H- t2 f4 d0 a, @
}
, p7 g9 s8 o& l0 b# O0 a1 r( j" b6 w }
X7 Y1 ?( N: G4 j6 h; ?9 G* p, n! o( H if(isLast) 6 t2 e, X8 S3 ~4 r+ w+ }* ^1 V
{& {$ i$ |0 A$ I6 m$ B$ q) Z
if(debug)+ q, b; U/ e! k" I* s
{
9 {$ n* ^3 V$ g" `- J4 M alert("last!!");
# d$ W( m9 O1 l9 `8 \, k }* ]% `5 F- C9 D- f" Z4 E3 W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ i Q3 C$ M# ]: k8 {
{
7 X! ]4 R" x' W# g' B orgNode.parentNode.removeChild(orgNode);
: Y8 @1 r. W. P$ _8 S3 Q+ x }% p( l* s" ~ v4 E; m( x
}
3 Q8 n, |+ P5 h, j/ S. I$ e" ~ else; C2 B5 B' D9 g5 P
{
( O) Q8 ]1 I5 s" R& d' o if(debug)) w% Z5 Z$ m' f
{
) @: M$ f, {! T3 F% z alert("compare color and parent bgcolor!");6 V+ Q6 m6 w. S2 ~' ]1 H$ d
}
6 \* x9 J) H9 n3 q. d* [9 n parentBgRGB=getRGB(parentBgColor);
' o# T5 p: `# G' s+ Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& o/ f2 b9 A" b4 I `6 E1 F: W. \
{0 }2 J6 z6 i) N' E
orgNode.parentNode.removeChild(orgNode);
, e6 g% T. \% @; ?1 I% b) ?$ n, E } j4 _( Y+ ~& a0 }8 w! p
}1 [8 y/ ]: d5 A0 v
}; z: b, P# m4 Y2 c
}9 r% A/ v4 h3 l+ B2 @- D$ n
} F5 V* N( U- Z% F
}
, t; j: ?; o% e! i$ l9 ^
$ _- X ]/ N% p8 v" \8 [, `0 c( l1 V $ N* x3 c7 Q# {. {8 ]3 J
var itemFrames = page.getElementsByTagName("frame");
# s/ L8 H# c/ K+ J0 R/ i var itemiFrames = page.getElementsByTagName("iframe");/ a, f0 V- f' [( J) @& B( Z8 M
) K4 Q7 d# n+ n. U var frame, iframe;
/ I4 j7 z- \5 q! \ if (itemFrames.length > 0)) O/ l' w4 l9 c1 K* A5 \2 M( r
{- J6 M" o9 a+ G0 z: u
for (var i = 0 ; i< itemFrames.length ; i++)
* r8 X- r1 z% l' p {) o' F7 x# } j; h' p- x$ ?( S
frame = itemFrames.contentDocument;
, l1 c- t8 G D% E; w- } this.RemoveHide(frame,objname);
, c2 |) M+ D7 S4 U, L( E }* }' Z4 k ]6 T7 g
}
8 O7 Z' X( j+ n) a* y/ }5 W5 L if (itemiFrames.length > 0)% B6 b% E }" _, y8 `" P6 F# \0 U7 |
{
( L9 K0 R" ?- R' y+ _ for (var i = 0 ; i < itemiFrames.length ; i++)
: n" P! Q! ~/ s( }' f/ P' @ {
$ K# U' L& P* ~6 y1 } iframe = itemiFrames.contentDocument;+ F5 b5 c" o& I( W
this.RemoveHide(iframe,objname);
% F' D x. g# D1 s }
r+ @/ z i" ^& V/ t6 O- z: z" r; Y2 n }! K T$ @. D/ }0 `: n' c
}* g0 q+ q- M3 T" ^% O- n
catch(e)
. L. l7 j+ k& S3 K% L7 F( y1 X {
8 L3 N5 _. I# a$ [. N& g if(debug)
' o: Z( t; U! q! Q8 f7 r; C! V0 l {. c9 S% v3 e2 o% B
alert(e.message);# { Z: R6 u" S8 Z5 q/ W
}
" [. j& p0 W. c0 [ }" v1 a' { W' ~* N
}
# t5 m' z. s8 O+ b: b/ Z! e5 ^
8 c c4 V7 K$ }}3 E0 l% |& y* K$ Z
5 t# }% M/ d1 Jfunction getRGB(colorString)
h$ }0 O- x5 }" Y6 ]{ T$ ]' J+ l3 M4 h, _" _
var RGB = new Array;9 v$ F5 z) g: ?1 Q
var tempSting=colorString.substring(4,colorString.length-1);
% a5 ]$ b" `% T: V& m var tempArray=tempSting.split(",");
7 O4 _# n& S' p w& H/ ^7 D4 I3 m+ l5 I+ W9 [$ N/ ~ n2 a
RGB[0]=parseInt(tempArray[0]);0 k5 U# p {# y; w
RGB[1]=parseInt(tempArray[1]);
* t( B6 ^. `+ A( F! F9 P9 v s/ j- c RGB[2]=parseInt(tempArray[2]);
8 u: D, I8 n+ R5 @ J1 ?* a ' k, A2 V0 D5 `/ x$ L# Y! A
return RGB;
1 I- @- C7 O/ _7 i& _% y, A1 N, c}8 y5 ~3 d8 U1 ~: s
function keys(evt) ! S0 N# O6 u7 f8 F
{ 3 j( a4 s( _% i! |( P! G- j
if(evt.ctrlKey && evt.keyCode=="81") & C7 `/ b+ a/ Z: K C: m8 B
{
; ^" b9 V: ]+ X( H2 d CleanHideObj.on(0,1);! r3 Y) L" U( j# [0 P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 H! S! n" T$ {- `1 U _ " c0 Z: `& t- y
}
! E7 k7 r7 w$ V$ {# W } 2 u* y. f' T. ?# q0 d
document.addEventListener('keydown', keys, false); & x( r0 ?2 x% G. H- u. p% \
GM_registerMenuCommand ('Clean Hide',7 Q/ b. H- p0 S! e! I
function(e){0 U0 q) \# q: D; z0 v2 s3 x
CleanHideObj.on(0,1)
; o/ W4 l) U- V Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: I# c9 G- b% [: w! I: G$ |+ \; \});
) ]! e( L7 R. M2 L |
评分
-
查看全部评分
|