|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 s) b' _8 g- A3 ?7 M
8 s+ Q, i8 W" X7 W2 Q ^9 F! V; N火狐插件,用猴子! n% X% y6 k9 w; M9 D/ c' x
. v* V, L3 z; v0 A" c+ y% Qvar debug=false;
" `- b- d) r5 ]" k+ V0 c! _% rvar CleanHideObj=new CleanHideClass();
; P' h6 y5 j# S( P% k" h7 j5 W; ?5 Q' E2 A! \
function CleanHideClass() 1 h, x5 [4 R3 u$ i- t
{ 1 D7 B& }4 U0 f h
3 B4 Y3 V6 M ]' S6 p3 f this.on=function(id,bMZ)
2 Y- r; s& k; u. L- V {& f# Y% Y: h1 \9 _4 F% ]
t" p- e# }/ S& H if(id == 0)
) d- Z' U, }0 \, d {( d+ ^9 y; M8 K2 ]
var page=/* document.getElementById("content").contentDocument */document; ; T) s/ ^8 N3 I/ C
this.RemoveHide(page,"span");$ V9 G+ o- A3 c; f# @2 T0 W) X
this.RemoveHide(page,"font");
8 [; D a8 B1 d) g8 B/ e this.RemoveHide(page,"div");
" ?* A$ G9 [/ u this.RemoveHide(page,"p");
+ K& n/ a E0 y
" F1 A% E5 S" L1 ?! `0 m' Q }
" y: b* a: }3 @% _5 u3 F" X
+ N* ~2 k2 f* O }6 E, m2 K$ F7 w v. q* R
this.getobjstyle=function(node,prop)
# ^* B, C, l0 Q& x4 P" | {
+ d) J# S) m& ~ try& L5 e# r0 M$ e7 A! f& {4 A
{
3 U+ P% n5 o) p- b7 |) q& T# T7 P. I return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 |6 A' G3 p7 P/ ?1 e- I
}" W% Y7 c# }* V5 z2 `- A
catch(e)
7 e% v! N" X! ^4 Z. W {
! w9 u0 G, g* `! m. q+ v* S& o if(debug), N# z6 C' x4 G! n
{
4 |5 U8 I1 F" m! c# \: q alert(e.message);0 H* X; \0 ?; \3 Q$ B$ _1 \' w
}2 {$ H! Q2 N: y o
' w$ X+ ]* d) f" Z8 T ^
return "200";
$ o6 q- f+ o3 Y; w7 m7 o }
1 j' `3 [% |* ?6 Q }5 W* I7 ~; Y& o N: |2 [+ M
# {/ v N5 q5 U: ]& H! c this.RemoveHide=function(page,objname). @7 J& k: H7 r" l% u9 I
{) H" T; P' Y' a& `/ A8 R" @
try
' f; G& w+ G6 b# G {' h& U0 Y# D3 Q* b
var minValue=15;8 f5 W5 j7 Z/ n( ~$ C
var objs=page.getElementsByTagName(objname); & h4 ^% D4 F# |' i2 [1 c5 G3 \
# \& _. A, P" n7 b if(objs.length == 0)
8 z6 A" q& a/ ]: w* P1 y3 |4 P5 Y {
5 g7 K& _+ P0 z0 |2 e. `/ i6 w if(debug) b5 Z" ]' z' v) |( z0 m
{7 t$ [: e) Y$ l0 f
alert("no object found!:"+objname);2 H* z' l0 d/ V4 l2 ^' J
}- t3 [8 M8 C j; {. R
}( g- { s5 G- I5 x5 Z' h
else
; G7 S. u2 z5 N6 ]% G: q {
# m' V5 V+ R$ P5 Q: l# j& O8 P% N " @& w Q4 q/ A) @
for(var i=objs.length-1;i>=0;i--) 2 w5 u# t; ^0 V% c
{
9 s' P/ z! m, `3 |# o var node=objs.item(i); i; Z4 `- K* `! S* X$ l' }
! F6 @+ ]2 \: i& f! ]: U6 D4 h
2 A* U- u* C" _' x O if(this.getobjstyle(node,"display") == "none" ||/ s2 p+ R4 c4 j8 G5 X; i
this.getobjstyle(node,"visibility") =="hidden" ||
) Q# y9 L& }/ K0 K8 l2 E parseInt(this.getobjstyle(node,"font-size")) == 0) 8 Q m1 I1 ]: E* O) J- t3 h5 j; L9 E
{
% A$ u* \5 W0 B if(debug)& e% ?: @# a7 K
{ O# Q- w# p% Q$ i ^, y
alert("remove invisiable!");3 U' m. ? x. j7 \8 [8 [
}5 f# H1 T, X8 E8 ~+ B
node.parentNode.removeChild(node);
! X0 v7 b5 j3 I& c1 r! s- ?5 X# v ; X1 X5 `9 H6 r2 u
}4 Z, N% M; E& G1 h. \2 }
else
( \! p/ F |+ N {
' S. W, R- N& B if(node.parentNode) + p4 O- {- ~3 {, M
{
% w$ Q$ z1 q3 N9 H% { var orgNode=node;. x* A" A2 X1 C$ Y
var orgColor=this.getobjstyle(orgNode,"color")
$ o" M [% v; t) {; E var orgRGB=getRGB(orgColor);
: R, Y) F! M% d/ i
, _. O- z- F8 q ~5 n2 _% }& S" G! B var parentNode=node.parentNode+ V+ O- y# S4 i6 i" g" a7 Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; c, O- B1 ]- U7 \+ F/ o1 t$ N% Q
7 b! c4 d/ r; p, |, q var isLast=false;
( b, v5 |7 l; g& M5 e1 C7 M
5 g! G. k' p+ r8 _3 c1 T! y1 }, n( V while(parentBgColor == "transparent") / Z' d7 C. v2 Q
{6 z+ X* T8 |' `8 z) j- A( Z1 x* O' Z
& M7 h% U' h' }3 ?0 e% F N
5 _" B/ t b, _0 d; @' _ if(parentNode.parentNode == null)
9 w s* D4 U' u& a% i& ^# `: c4 w {
% Z$ X3 M2 K% A; L* O# Z3 ^ isLast=true;
# M4 q: s5 s( b1 l break;
& Z+ E% P$ I. F, h" T: | x' P }0 a0 [6 _% ]& T% z% T. E- O# M+ y. n
parentNode=parentNode.parentNode;/ Q/ m9 d* a- y
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ ]6 r6 t' q. j2 K& R Q+ W( T& d$ j
if(parentBgColor != "transparent")
2 n! J) j! g! c/ n {8 o7 C0 U' m5 x- x9 O# R7 K. m2 N
break;
( n$ I( }# G# M# g( L2 d6 h7 L }1 z- X7 Y8 `# V. ^( b
}+ e( m; R3 |2 y0 S+ Y8 w- U
if(isLast) ! w' U7 J8 g2 p4 R
{" m" z8 v5 f E T5 m2 ^9 K. J1 H. g) |
if(debug)
9 U- a0 G2 R" ?5 E6 B {
, h# R1 w; }( a$ q: O5 V4 U2 k alert("last!!");
' Z# w& |0 }. \. n }/ H$ ^( M, Z8 ?& c' _" l0 a: v6 o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ t. n. B8 o0 D9 } d, ] {0 u# T3 T0 [9 {% q$ M, X) c( t
orgNode.parentNode.removeChild(orgNode);
! H K, ^ Y7 u6 W" x. M* _ }
( d2 V, Q) z# u& N7 y }
8 y7 R+ ]/ n2 `) u4 {2 T5 W0 E; n else' p0 ^& ~2 l2 Q" R2 Z
{+ w0 G! d* X M& F$ F
if(debug)
1 v' M, c6 x+ O) H/ }$ i" ` {7 U% J0 M7 @! O/ [
alert("compare color and parent bgcolor!");
8 @7 M' G4 ~2 j: e a4 | }4 `- O# Q( K7 \2 P/ y
parentBgRGB=getRGB(parentBgColor);3 w9 g: w# P0 p. L1 T$ I
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# k; X. E/ L/ V3 f
{
2 n& h: d& [+ w9 Z; U# R% x orgNode.parentNode.removeChild(orgNode); 3 Z1 d l* f* |4 t" p/ y8 y. P
}9 E2 ~/ V m1 o
}# q+ i5 c0 b: P2 z
}# [9 M% L& t' F- V& J. _" {
}
" h, ?8 l" y, @( X5 x. o }. I" g8 Q- y z7 G$ {: [% S
}
/ _2 e+ U/ U/ ?3 F# w& q2 m2 @ / R. n& K( I3 ~. g
: @/ C, r2 f! o3 f6 }* r; l1 f var itemFrames = page.getElementsByTagName("frame");* n* f9 L! A) t: v
var itemiFrames = page.getElementsByTagName("iframe");% c! z5 S4 t" e% {( L4 ?( A
' J( }6 t$ N" x c% P& O var frame, iframe;! Y$ s6 r3 j$ R; a9 C$ N0 V" @2 F
if (itemFrames.length > 0)1 k, V: l+ K- C( ]! u
{8 W! ]3 n" a- V! Z
for (var i = 0 ; i< itemFrames.length ; i++)
: M7 S# y0 Q; P" k% _ {
& W( y8 ?1 ?" v frame = itemFrames.contentDocument;- d9 D! Y) N% G. b
this.RemoveHide(frame,objname); - N7 u4 H: @. c5 ]
}2 i+ W; S5 p; q) I5 O9 ?
}
, A4 h1 W& G. Y( L; |: E if (itemiFrames.length > 0)4 E) }/ ]3 s# \' `. a% D3 T
{, D3 }1 s K& W T, _& O
for (var i = 0 ; i < itemiFrames.length ; i++)
/ w. [# Z* m/ E% d9 s! j% ~ {( |7 @' U2 h( ^5 T& y
iframe = itemiFrames.contentDocument;
& ?% ^0 O, h* V: @0 h# N this.RemoveHide(iframe,objname); 7 e& S! I! E& G& C
}" a5 W# V1 ` D- ]
}1 \& y" w% o" x! F: \6 R8 o3 ^
}2 ~6 P$ ^# G+ X# Y* H% A5 {
catch(e)9 r) b7 t! m0 |
{
4 j+ i4 n7 k9 p* P if(debug)
5 q% `+ @( b. i6 n/ e {
9 I, j6 W3 k: k; M2 l alert(e.message);9 C# C$ K1 g' G# ^ n$ C) \4 |
}; {" Q4 i0 W; _7 \( z9 ~+ u
}& Z% K( `/ e3 o, U6 F& {2 d
}
9 C& g- k$ S$ |( T- m; A" y & ~% H8 J+ z, @# q; V/ z
}
- O8 e* Q" p' ` x- x) f6 j, i* l: G# r% m6 L" d# R7 k: r0 N q6 Y2 d
function getRGB(colorString)& m" T6 Y# R( j8 D3 s
{+ V$ Z; \* c# |
var RGB = new Array;
' n2 t2 Q# L a. X7 } var tempSting=colorString.substring(4,colorString.length-1); T4 D! S& ?: N; G
var tempArray=tempSting.split(",");$ l2 A( g @# I1 ]9 h: K
' h/ n% z7 d$ ~7 k& J. x
RGB[0]=parseInt(tempArray[0]); |+ b* T' ?! _$ G8 R9 Z% y
RGB[1]=parseInt(tempArray[1]);: z4 |+ C$ z4 L v t5 b
RGB[2]=parseInt(tempArray[2]);
" J( b9 Q* B8 n
+ Q( E. A P9 H* ?# O return RGB;
+ q" w( J$ \% _& E+ r* |9 |( }}6 r" x& y5 ~" L3 K7 t
function keys(evt)
6 W u* h7 X/ }0 H; l. M {
. @. N7 b' o0 k7 s; @! U9 @/ i if(evt.ctrlKey && evt.keyCode=="81") * v/ I! `7 Y% V
{ # Y9 W. y6 N5 ^3 w7 w. B
CleanHideObj.on(0,1);
4 E0 q% }3 C; Y" q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 N8 e6 x, i R- V
: F! P. \( ~; Q. n4 K c
} , P: H) d7 Q) H. T0 B7 h# D1 o
} 7 `8 R* D+ R k# O$ |' y( H
document.addEventListener('keydown', keys, false); : A/ H( O* {; ` V0 v; Y; n
GM_registerMenuCommand ('Clean Hide',
5 b# ^. u- \% h5 gfunction(e){
. T- `& h( e5 a) z" O& lCleanHideObj.on(0,1)( o$ r& x1 r6 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* y4 i* ^2 f+ ?% G; k2 v5 V9 w});
9 U) `' h$ @/ P |
评分
-
查看全部评分
|