|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. x6 O. M7 A$ H" K6 s [0 a) e, W5 `3 @, w2 m
火狐插件,用猴子
, t# h; K) t- A# Y" [4 l3 f8 o, V4 h- s1 K: q
var debug=false; 9 C; D' T8 @5 V, G) `; H5 d
var CleanHideObj=new CleanHideClass();
3 p5 |; ^1 {+ n+ m- U# M3 y; h& T. I0 H* T6 i' O) u3 {
function CleanHideClass()
! [0 s% x+ ?5 H2 G5 c{ ! ~8 T ^. \9 a" ]- z
$ b7 y! N, d; T8 ^1 w) O, C6 b+ o this.on=function(id,bMZ)3 e) L2 u! ^7 P" u
{0 I. f1 T5 N, d6 j! W
/ ?- |6 ?5 _% m; \- A6 L- N$ J
if(id == 0)
& X/ _- V- A& a7 N2 S% \ {$ h/ Z- u9 Z6 K5 E4 w
var page=/* document.getElementById("content").contentDocument */document;
1 h2 Z5 s1 w& b1 R' O this.RemoveHide(page,"span");
1 i8 K$ p% O% S3 b! X: s this.RemoveHide(page,"font");( N9 |6 N, B) _# z
this.RemoveHide(page,"div");
. a4 K8 [3 V; b$ M# D8 T8 r this.RemoveHide(page,"p");( |; n: z; @* i. D
9 x, |8 t- i" m1 m+ E5 m
}
0 E6 t7 ]' I! A' A) R
/ x3 Y5 a( S) L5 W }
# n3 a& ^ P' i6 l" F% n8 P. q: z this.getobjstyle=function(node,prop)% D! f* N( T4 Y1 Y: m; N+ B; o
{
$ t- d# d6 z1 p try& _+ O' e5 E2 c! ~
{* |! k+ o: I6 b3 g' D& X+ O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ }+ l7 h# t) g$ M }
% a, ~) S5 c& O1 D3 M4 _' g catch(e)% d$ r' H" \. i3 V- w
{
7 p2 O2 n4 Z/ i if(debug)+ f( l% R# j& u& y& |6 E. l& v
{0 g. m' M, p4 B1 s" e; v+ u
alert(e.message);2 a$ Y2 u$ |, H j4 g6 t" V
}
8 @" F! P# \( J& e3 a+ e . Y6 e. m% r- O+ t$ B7 d8 M
return "200";6 V* I( O% p- E8 `; Y$ E
}
! m, Q& Q4 v$ Q/ S4 I2 A }4 \6 R3 b2 ~ a. b" N! a8 `
! U* U* T" D; ^* k5 g! A1 R6 q
this.RemoveHide=function(page,objname)
% ~1 M/ _+ i- n {
! H8 e/ J/ k- L; V& v try4 T2 O$ ^: Z# D/ S6 T. ]: S, ~
{: }7 k0 t5 |7 O" c* Y
var minValue=15;
$ }4 o, M5 X) k var objs=page.getElementsByTagName(objname); ! M/ ]( t5 L; j: l# f) i, X
1 m9 T/ P7 f* k4 B, P
if(objs.length == 0) 2 {0 s; m& ~) z* i8 |2 {( C( N
{
9 g8 J4 K s3 V b5 e: v4 V if(debug)
$ R4 K) z$ ]8 b& Q/ Q5 m. P {
b' Y! s7 X) a: }! B* L9 M8 O alert("no object found!:"+objname);& b# R+ Z3 N& l3 X; ~
}7 L: G/ j4 \0 K8 T4 J0 `
}
$ ^: k) Y- U8 x else
+ ?5 I, Q5 t/ i6 i+ G% b0 f {
9 v" `* \' U7 a
$ o4 e7 R: s4 F: ~3 ~ for(var i=objs.length-1;i>=0;i--)
. g/ j* H4 r$ L) ]2 Z! `3 U {
* P( d3 c4 ^( R6 b' `3 }; [ { var node=objs.item(i); : z. R1 k. F& s( D, x/ C
& ~' e6 E% O$ m0 r% c2 @$ L
5 \( Z& B, N/ r if(this.getobjstyle(node,"display") == "none" ||
9 e5 P( f* ?; V$ s* l0 e) H this.getobjstyle(node,"visibility") =="hidden" ||2 M- @1 V8 V( x& j- S& y
parseInt(this.getobjstyle(node,"font-size")) == 0) / ]$ @5 [$ ~0 k# C' Y p
{
" u2 s: g6 M: r( C if(debug)
8 B$ e% X8 S, j9 @5 p6 v& A {) l n. d) g& z+ A3 m' | t D
alert("remove invisiable!");2 f, }, D7 o- k$ S$ X
}
3 L9 `) ]4 r2 _9 K2 x node.parentNode.removeChild(node);. z) F1 |* C7 Q
- |1 f; _! {( J+ }- q- E, c
}
' X5 f/ S4 X- F# J else
0 K+ n0 c3 R( ] {7 F4 S& k- z+ m+ g! q2 d% l3 ?; p
if(node.parentNode)
- v Q9 J( I& ]7 K+ R; G! V {# B1 i4 u, n: T8 Q
var orgNode=node;+ L( n: a) V: J, F
var orgColor=this.getobjstyle(orgNode,"color")0 G; E" C+ z7 j: u% i9 N$ u
var orgRGB=getRGB(orgColor); 5 Z' G" n" g6 A$ i. s
, Y/ n- X5 Z- _6 R. H
var parentNode=node.parentNode
: `' s6 W7 ]1 D0 t var parentBgColor=this.getobjstyle(parentNode,"background-color");8 Q) w6 @( a% P. R
/ ^- h9 T& a5 [4 b
var isLast=false;) [) n- S; o3 F* _# v5 l! l
$ N* H H9 d+ F. e( n! f while(parentBgColor == "transparent")
: l+ ~1 A$ g- X% m {
" G( H, l" v$ R; ^0 c2 y
2 J8 V- l6 A; K
; \. ~! v- ?. C: B" t if(parentNode.parentNode == null)( c7 F* p2 C! _' z8 m: x" \+ s2 `
{9 w' B* c* b' _( S8 w; ~, U# v
isLast=true; Q. `; l7 f$ l4 W
break;! P @6 ^+ F* K& `: O8 J, ]! v& [
}# b% K1 |2 l n2 I% Z
parentNode=parentNode.parentNode;
/ \! w# C4 B7 g' }1 T parentBgColor=this.getobjstyle(parentNode,"background-color");
+ N5 [) B' C5 @+ c. N$ G! _6 D% Z+ T; ]( Q9 h
if(parentBgColor != "transparent")
! Q7 ?1 K' o7 q% a: q# G- w {! M- H0 J6 X( B( U
break;
0 {7 l5 Q' O9 r. W" }6 I }2 h& T* ^3 d' X! \: G) V
}
; b$ s1 p! K3 G3 k4 L9 e& F" ` if(isLast) 9 r! R- h! q$ \5 @: n
{6 H, k+ e4 b7 f/ R! M( g9 d$ y
if(debug)( z/ E% q6 ]! E# x( b; y$ Y" a0 y
{, L% Y' H9 H* ]7 O g) u* z$ p
alert("last!!");
% j5 K9 ?3 e- o# |7 E' W3 } }& Z' ~& I% w0 \) g7 j' n; N/ @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 G# Q1 t7 [2 J+ x {3 O- X! c6 d, L) F8 ]" D
orgNode.parentNode.removeChild(orgNode); " X0 ]: X: E1 [8 p$ {2 ~" N
}7 W% Q# |- _- A' r+ n6 a! o% _- s
}
5 p) G: \$ M& g else/ G* x( f5 S8 R, ?; s- Y
{$ E4 p7 D% `6 `0 n7 ~7 r
if(debug), m1 e5 ?$ t- i4 U3 p
{
7 p" K. T! P) J( [: V6 B0 L0 O alert("compare color and parent bgcolor!");
2 V+ m# {+ r M+ s0 G4 p Q( ^ }
5 u/ R& W$ {7 ^0 t. g parentBgRGB=getRGB(parentBgColor);
, W U: A, h3 s+ q. w% a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 R- t; M- a0 _0 z/ N {- C9 S2 g' w2 c; U
orgNode.parentNode.removeChild(orgNode);
! e: R, m. l6 p4 O+ z }
; |% }, M8 L- s5 ~" }4 }: s }* B" U6 O Y9 L9 ^
}
3 q+ P- [# B0 M) m }( e) |0 @5 i/ z1 e! r
}
2 f: ^# J9 l; f' a& W( K8 j- R3 i3 B; r }
! r& ]1 I6 F$ ~) }# M% n 3 g9 ^7 K; Y! [
8 o8 z& j2 h6 J- C) f& e C2 ^, u0 H
var itemFrames = page.getElementsByTagName("frame");
- V; m. f# h5 a) i4 Y: x) P5 ^5 ] var itemiFrames = page.getElementsByTagName("iframe");
N% D& L- f; A9 x" w b , o& ?* w ^. g% d2 Q8 [
var frame, iframe;
* t q/ {6 o3 p) y4 _3 C if (itemFrames.length > 0)* `1 H) l2 [$ B0 s6 D
{
% [+ w+ v; D+ ^ n1 M for (var i = 0 ; i< itemFrames.length ; i++)
% }2 d! t$ C' A$ X {' H3 V8 W6 d/ R" ?3 H# [+ k8 i1 }, e
frame = itemFrames.contentDocument;
3 W) @; `) ~1 C7 l2 L this.RemoveHide(frame,objname); 5 H# L7 U& @& \. n8 H% r" \
}
/ |3 f. e9 k8 W }3 Q' B9 c6 p2 ]3 x7 i
if (itemiFrames.length > 0)
3 d, L! j, y+ I# j1 N {
4 i5 c8 `- j6 p4 b* {0 Z for (var i = 0 ; i < itemiFrames.length ; i++)
7 B3 Y# d4 M% v w; v( R {2 K. v- x2 Z( q: v9 Q- O( ?0 C
iframe = itemiFrames.contentDocument;3 q+ g2 y& ]& @- `( z0 t
this.RemoveHide(iframe,objname); 4 J) d N- E: Y9 [; l; ]: [
}: x6 G4 ^3 H- ^) w0 |
}& g8 i! C7 q) U2 n/ W
}2 f8 i }1 G+ \2 z
catch(e)- `( @$ F! z7 t; Z' F
{0 p, Q( n1 x, k8 f
if(debug)
6 [; @6 f' Z& {# u( h- e3 y {
2 {/ L; X5 W- X alert(e.message);# X0 O X( W O2 e1 Q- J
}
6 p1 L6 L' K3 @; b2 y0 o# R }6 s& w- Z% R0 `- f+ `/ \" P
}: v4 O! k+ M8 O* a9 P) E! m+ |
' f+ r5 C- o1 x9 E: g/ {+ y7 h" a
}
0 y2 F- J) u3 t! N5 }$ A* ~: z; i9 R% L5 v/ x C4 q/ ^& G5 d
function getRGB(colorString)' r3 T! |4 c" f4 n/ L5 q s
{
/ m4 E1 @* ?; H' r9 F1 L var RGB = new Array;
3 j" Z( V) m$ H/ m2 h var tempSting=colorString.substring(4,colorString.length-1);
1 d0 G; `; S2 [( F4 n var tempArray=tempSting.split(",");0 ~1 z7 K N. A6 E! e M# [) V1 J
# [) v0 e) P' `* Y \3 r
RGB[0]=parseInt(tempArray[0]);$ K; }2 K1 G# U) L5 m, P5 V! |
RGB[1]=parseInt(tempArray[1]);
d$ J$ S6 f. o5 P* i9 [ ] RGB[2]=parseInt(tempArray[2]);" h7 I" ^6 q$ E O0 E! Z
3 D g$ e- F2 b; h* Y% M3 Z! h+ Q
return RGB;
( L {# }- N/ I9 P! k, B}
7 I* r. ], y+ j; e. x( C( [: afunction keys(evt)
* |' D, U# s8 f3 [6 { {
( r6 [! b8 z+ @' J if(evt.ctrlKey && evt.keyCode=="81") ) ?, I l$ O9 g9 o$ h0 i) v3 { N
{ - j8 A4 w0 e4 U g' L
CleanHideObj.on(0,1);
+ V/ k1 p {9 l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: `: x' L1 ^# F& ? 4 D4 m# H8 i; t, ]' A+ y) j) C
}
' Q& j+ H4 t7 H. k9 | } , p" J p" |# `1 Y* n* v9 _
document.addEventListener('keydown', keys, false); / _7 s+ q% W0 r4 l
GM_registerMenuCommand ('Clean Hide',/ U. W; M t1 x7 Y1 N
function(e){
9 z" q- B+ C/ u. I$ n3 bCleanHideObj.on(0,1)
" W3 j% ~1 h1 a! N) ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 e$ G L8 x; ?
});! z4 \. A( `6 x3 h
|
评分
-
查看全部评分
|