|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) |* e* Z' M3 Z' [6 w- u& u+ x: i9 l! x% ]
火狐插件,用猴子; e6 t2 j; {8 f; F. @/ c
! T; Z# k$ v& K6 V# e6 I% Q5 z
var debug=false;
* y/ B5 [3 }3 }7 Hvar CleanHideObj=new CleanHideClass();. {( w8 e3 P6 t1 p1 ]
% u6 [: v" d! M
function CleanHideClass() 9 M. \4 w0 B5 r
{ 0 t5 M v1 a) E. w ^6 M
# z r+ T$ x% K4 h: W
this.on=function(id,bMZ)% O0 R, V4 S4 @! t+ m
{8 I1 |7 q. @. e5 t2 O4 U
/ V! g$ _$ a0 Q2 g if(id == 0)
! o7 Y: a! G- s {
# @: [/ ]! ]$ |; J$ _* H0 v; k var page=/* document.getElementById("content").contentDocument */document; , |1 u3 ]- V2 S1 g7 K
this.RemoveHide(page,"span");8 q& J+ Y, ]9 T5 h! k% F$ I# F
this.RemoveHide(page,"font");
0 v5 j6 W. J0 L5 V# ` this.RemoveHide(page,"div");
+ J* ~$ p# a6 F( |, V# h this.RemoveHide(page,"p");* \& O6 c4 S* a0 T) v4 y6 }
. x6 ~# E% Q7 _7 j% {! g
}
$ b7 z4 L5 t6 X. }/ F; V8 U
/ M1 a9 U- x# J( {1 d' y8 j }
2 O0 C0 g4 p: Q8 D3 h this.getobjstyle=function(node,prop)! A6 F# s' e4 x G+ C6 j
{
* W6 o; F6 ?. ^( S try5 c1 D% K3 O2 W! o$ V1 J( \
{
) e3 i2 R+ ?6 h7 e. E |3 T return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 r3 z0 V i' z1 j3 F }# Q& r+ K+ [! w( v0 z9 p* @: V
catch(e)
* I, T" p0 p2 \& G {4 D5 H3 T$ L' h2 q8 W2 p
if(debug)0 I2 O# U6 T5 c$ ^5 O( P' {3 h
{
. ]" u5 Y. H: U3 H1 f alert(e.message);
, j: O6 K! A9 {# F }
0 K( M6 @: Z$ W, n . S9 r, T4 h1 d8 ]/ y
return "200";
2 O" S& F3 D: ~+ O9 l }- u! g0 a+ |' l0 m0 w% |- t0 S, `, w
}' ?+ c# p$ ~# [ J2 H
$ o Q( U$ y$ D _' K3 T0 @% V
this.RemoveHide=function(page,objname)
, i' z& I8 p5 M: ^$ E4 Z {
' k. f1 E+ d1 F2 C$ y: ? z7 x$ I try
3 Z( v3 ^* u( M% b, _3 ` U$ M {. }/ V7 {% m5 t, u6 F( T6 I, ?9 n
var minValue=15;7 | {8 i+ h+ b* T: A( q1 f
var objs=page.getElementsByTagName(objname); % C/ L. F, n: V; p
2 `# R& z! s- S& O% L if(objs.length == 0) ! y$ y. m6 ~+ c% a7 u( T
{
( h f% b: m& T! D4 R& Y if(debug)2 E" _) s) d1 A0 |: W. m
{
( g. X% ~, A7 E5 P4 @4 Z1 U alert("no object found!:"+objname);
6 d% c2 ]) n3 @5 r }$ f( H3 F6 B/ c5 f7 K
}4 K0 s. M" o$ \& I6 D
else8 n2 c/ D2 a5 ~# B, W
{ H: y+ m6 N7 { v
) U8 u2 X! q. A
for(var i=objs.length-1;i>=0;i--) 0 a& F; n$ N* |9 q: ^2 _
{
" u3 m+ q2 `% N5 I0 M6 L var node=objs.item(i);
( Z$ @0 W5 k! r2 u8 o
2 _+ t0 Y- u- x! K5 R% O / W( h# D" N6 v4 [1 ~' [3 ^ @( q
if(this.getobjstyle(node,"display") == "none" ||
& E I- v4 z; p0 r this.getobjstyle(node,"visibility") =="hidden" ||7 b1 ~' b9 r% E" ~) f0 S& {
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 P* |9 j$ E( }% t0 m- _ {' e& C N; g1 V; k% \/ l
if(debug)* P% y6 E; r8 U
{ x5 ]5 o$ }3 E2 @; j4 P
alert("remove invisiable!");
+ P) z+ F; k4 ^/ \ }
% Z. ], C; A" [/ X' t( t2 `% x node.parentNode.removeChild(node);
. e; F" ?3 F5 Q+ _) m+ R" }
6 Q; H9 ]$ v1 k0 t2 Y }, \& b& B5 A( @! k6 Y* r
else : }; j6 [# c, N" D+ v$ ^, r; |1 f
{ O6 ]" a, _7 g9 f
if(node.parentNode) 8 s" f7 G& j- Y6 B9 L
{
# y; r. T6 t- o) I var orgNode=node;8 V( i4 o2 @+ U5 L2 p2 M- ?
var orgColor=this.getobjstyle(orgNode,"color")5 a( C* X! W" b1 N5 W/ L# a( _1 n
var orgRGB=getRGB(orgColor); , {0 Y- [( R0 u, w
* W, N: j p2 ^
var parentNode=node.parentNode
% p2 D5 l7 w: }) v y var parentBgColor=this.getobjstyle(parentNode,"background-color");8 M" Z' t0 v' ]( J7 \1 d
: \ ^+ S! f+ M" i. y- q# F" ]& U
var isLast=false;- }; S! k* z; P( @& y2 Z$ H
! J9 Q5 p7 ]8 ? while(parentBgColor == "transparent")
, X1 x' K9 O9 X* @6 a% W {
/ i8 \2 m3 r# n1 S3 r; V 9 s- r2 Z+ b( |+ ?5 y
L9 z8 K1 A" d" y9 k, a; X: y1 W if(parentNode.parentNode == null)( E7 ^: L( ^3 E2 Z7 L
{ S# B) s5 E# {; E8 Y/ z
isLast=true;% [& A, C% U/ J2 ]$ {
break;. H; e: r4 H1 W6 z+ K9 P5 E
}
- B" d+ O9 k+ {* `5 ^ parentNode=parentNode.parentNode;
4 {; a. g- U; b* o) ]! K parentBgColor=this.getobjstyle(parentNode,"background-color");% X& F# W' F. r0 k
. m* ~) U+ |8 q3 [8 t) y& T) ?8 r' R- g if(parentBgColor != "transparent")
' w4 {! `7 N' V* q {, T% `" E' G, Q: `
break;0 k2 t- o9 @8 O% L A8 x: h
}
% }- _3 u4 I: p2 i) A' p }
; ?! a* O; Q+ _# I/ M if(isLast)
3 |) k8 p E1 g9 I8 q$ c r {; e; U. d- \8 n" y
if(debug)
% A3 S$ W$ Q' {! g6 m3 ?5 m( j {
0 L0 R- W0 u" U alert("last!!");4 J& P0 g; Y7 ~
}
/ ~7 _1 E; A# ]/ P$ {$ P; O# j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& f( a+ e% q8 J* p* h+ d: m) } {0 }) d) O) p! m+ S: P: w' s
orgNode.parentNode.removeChild(orgNode);
5 h* K w: U9 X0 e' O. j. k }
, b# r) |, ^) G) s }
. J. h: _. u. _ else7 r& Y7 j: V' U. R$ i
{
9 t/ i1 P$ i {# L# T" K if(debug)
9 q5 V0 v6 o, L1 G* b' z {
, j# L. ?* _( J+ C: F2 l alert("compare color and parent bgcolor!");& }0 @. e: p# }/ [# J
}
v% `+ K: ?, F+ ~* ^ parentBgRGB=getRGB(parentBgColor);1 {. n: ]2 s/ Y r2 X. p: ]. \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( C$ Y+ w& o# _. y {1 }; |, `9 G3 r( d
orgNode.parentNode.removeChild(orgNode); |8 A, L0 W( y1 ?
}) B% S/ Z8 k; x% D2 _+ X9 J: }
}9 X6 l$ a8 D& ~, D" U' B
}
4 {: F; O0 _4 q5 c8 v# a$ G) ~% T9 p+ \' R3 p }
j6 l* A# D- u3 Z" ?! J }6 `& \9 W8 E! u& p. U. u2 w
}. d- N1 {6 G5 b- R
& l$ X+ w9 f/ ~1 f% M# `$ i. n 8 Y) h* J ^2 F% L5 a
var itemFrames = page.getElementsByTagName("frame");
* d5 X% K0 k) B( A$ O) t var itemiFrames = page.getElementsByTagName("iframe");
: H( w# ^) n/ s- L" ?
' Y& F- r7 W( f. g8 R% K' h var frame, iframe;
% v2 _& k* G7 [- ]" r" S, }1 y3 N if (itemFrames.length > 0)$ X( b6 `& C- |
{2 e" k" |5 H; b! v B6 E
for (var i = 0 ; i< itemFrames.length ; i++) , s) g( `& ^! \6 E8 v# M8 l
{& I& @* I" A" m& G7 X
frame = itemFrames.contentDocument;
% U) y9 W8 n6 S this.RemoveHide(frame,objname); % S- r i+ S# Q
}
& O3 j& D: V# {2 o+ O7 [ }" F" e: W+ e" ~: W9 j
if (itemiFrames.length > 0)& q: Y, p- I; F! A, H* s& @
{0 J/ h) |' a4 H& n. _2 j ~
for (var i = 0 ; i < itemiFrames.length ; i++)
, K K/ \, U$ l1 j1 g r! `: S {
8 d- M/ V7 t9 o3 I4 o! g8 d iframe = itemiFrames.contentDocument;
7 L3 C( p! o# \( @( `7 G( O7 C this.RemoveHide(iframe,objname); 9 W0 g8 i" i2 V
}, v, n2 U7 z5 X0 x
}
# A2 C( O: X8 h6 {2 D3 Y }
3 L3 C) `! f1 O& U catch(e)
# r0 ]* u; I9 t. z* d; w {
! b: X" q& n" { W, K1 F0 t# r: E0 k( B if(debug), A d# Z& j7 A& o
{
, G& Y6 ]3 M2 R9 N# a$ O alert(e.message);- {! r2 y# T& [7 b3 i( @# u
}( J. [9 k' g& u! r3 w" N
}$ C& `/ ~; M4 B# b! H8 B8 g
}
# O# N$ \& V, G1 u& y# U
+ C4 e9 d6 n3 H3 g) O/ |}
$ }, ^" O* z' q7 \+ v
0 I& F6 O8 K$ Z9 g% @# D( Qfunction getRGB(colorString)
8 W2 V5 C9 A0 i, J# j. x{
7 |" D- p- `5 Q) v- J$ [5 j var RGB = new Array;7 v2 s: r. I' z) A
var tempSting=colorString.substring(4,colorString.length-1);- J2 k S2 V5 F1 ?0 J. o
var tempArray=tempSting.split(",");% |* S3 D; d! \( ^3 c( ?( D4 @: u
( k. G' M5 X0 [& @% I1 J3 c
RGB[0]=parseInt(tempArray[0]); E2 v2 H. S' e& N; f
RGB[1]=parseInt(tempArray[1]);
: j0 ?% [; S" D8 i+ b3 W RGB[2]=parseInt(tempArray[2]);
/ J2 i- | D% A9 X* R
# ]% h7 _ b* W8 X, ?0 e return RGB;5 k" F# A% h6 F
}
% ~) e: X9 F6 c% k( {1 ifunction keys(evt)
- A; s( n0 D/ _# g' X5 v6 o) H { ; t% u+ E- O# T; C: v* e
if(evt.ctrlKey && evt.keyCode=="81")
. q" g4 j" A! S0 I; |3 |4 y { ) g! H; ^8 @7 B$ f- v
CleanHideObj.on(0,1); R& f) \4 P8 ~3 p: _& S1 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! O8 M' p1 k& @0 K- ]: b/ e7 k: U0 d
1 n, D' ?! n) } }
2 ]8 o& [) Y9 r- J5 q6 x& c }
( ^3 {6 P; f! ?, w+ ], ydocument.addEventListener('keydown', keys, false); 7 m5 k7 j. l; n6 A) K5 B {
GM_registerMenuCommand ('Clean Hide',
' r* I; ~$ H& r( q% ufunction(e){
% ^% |3 v# b2 W5 ZCleanHideObj.on(0,1)
5 X$ E6 j4 A) Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" n* g2 \5 A: S( {3 C});0 j" k) v" ]" D9 z& r3 G6 A; k
|
评分
-
查看全部评分
|