|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) n. v! V5 ]& W% S. I
+ a" m" c# _( S# Y3 c0 ?2 i
火狐插件,用猴子
6 L) i' I1 |) g4 b
- w4 R1 m4 m5 v' }8 c# }var debug=false;
( d S3 v/ [7 ^- Z. m: n6 Kvar CleanHideObj=new CleanHideClass();
! O! ]7 E2 n. i" x5 x: A
) q# ?+ {! ]4 V2 Q5 D: m$ Afunction CleanHideClass() 1 i+ t2 V( F& u/ x' P
{
" I! N( p# x5 |6 N: v* Y& h K l( k; @6 F+ w( w
this.on=function(id,bMZ)( {- k1 x+ ~$ y) S& o' y/ I
{
. t8 A9 T# U, t) M7 t 8 ~5 P$ e; C7 B6 ~
if(id == 0)+ T( w) \3 }! b9 ^( r1 K& [( S
{
2 N( l3 y% Y) e! x- ?5 o var page=/* document.getElementById("content").contentDocument */document;
& y% |9 ~2 c( f0 u5 `9 t/ p" j this.RemoveHide(page,"span");
2 H' F9 O5 G2 M9 k; B: }1 [, l this.RemoveHide(page,"font");
- j0 J5 g" [8 K4 d4 ^ this.RemoveHide(page,"div");
* ?: |8 B3 h% O+ J' L' P$ F6 ^+ N0 [ this.RemoveHide(page,"p");
I, q, v0 x8 B
: b0 s5 r9 `& o2 U5 `4 g }
, S3 @* K7 S. \) t9 ~) Z7 x3 S2 i
N& w% J2 V6 D/ l }
! ?6 }$ m& B+ [- r* M, R. R this.getobjstyle=function(node,prop)9 S( q% }) M, A
{8 g! N* J+ X$ Z; M4 b; {
try! d3 N1 @) s% ^& G2 C; t- R1 s
{
5 h/ }' I# k! i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 v0 v ~6 D e, f5 b( z2 l- A+ m
}
H% `7 U' q/ X, P* q catch(e); C$ f# j( A9 [% E; ~1 J
{6 B7 A# h0 A; K' T {
if(debug)$ r3 N& a# C& s* ]3 k& c% d% [
{
0 v! Q9 `3 B W6 W: I, K alert(e.message);
$ ^3 r: J( q' O1 P% I. M$ m }( b) s1 o; h* j
5 n+ O7 e% f* y8 M0 X return "200";, R& y% H" b# p2 s5 P$ l
}
4 b& r! Y5 G* Y; }5 W: L' s r }) E1 K; b3 W$ M
0 p8 ^5 `1 K2 Q) [- L E
this.RemoveHide=function(page,objname)
V' e( ^4 j L" e d% |9 M {) U8 o4 Q! l( \- Z8 F4 x! f
try
5 V" y O9 P' t- f% s {: W0 A/ u' E! ` S* E
var minValue=15;
! c Y2 r" M* \- i var objs=page.getElementsByTagName(objname); 8 u' U# p) ]% T% z O' |
; l, H9 p2 x+ i! q% r if(objs.length == 0) 8 {+ J! o4 v9 f, L: v7 \+ \/ y0 i1 g
{
7 u( V/ x4 k( Y5 O$ k# G# _ if(debug)
Z3 {: N( U3 W5 w4 U {' q' o, h9 S( I* a) R$ [
alert("no object found!:"+objname);
. p- e) k* Q7 w, h' a0 \# J }6 R. n) C/ K7 N) q
}
6 [ ?1 o3 {" U- R+ }& z ? else
6 ]$ C% [. S W S) s3 B {
" g) y3 @7 e$ u& k' {. v& g
, X) ~. R. ^3 s6 |! S5 A for(var i=objs.length-1;i>=0;i--) & w+ Q9 \4 s/ ? k* c A1 U
{
: J% i" [5 u0 ~! L, d: P var node=objs.item(i); 1 H( I/ I( r& {' C+ [# a
5 H5 r' ]5 b; [3 I O( Z5 X7 ? - @' @# t. Z" z. E
if(this.getobjstyle(node,"display") == "none" ||* w& e2 V3 c# B6 U" F
this.getobjstyle(node,"visibility") =="hidden" ||& }6 \" d L# w2 G- Q, ^; o
parseInt(this.getobjstyle(node,"font-size")) == 0) ( N" @& ~( U1 ]" a1 k# p+ B1 W
{
% |5 n! ~0 J- ^$ m# P; J( m if(debug)6 C( H! T" m5 m O+ Y5 m! p% E, U
{
" ?; A% [6 _7 n: I/ @% @ alert("remove invisiable!");& {: Z# B n# i& n& m2 d5 o* _
}
- K+ P H% F' q* ?2 O# s1 j node.parentNode.removeChild(node);
9 O0 x+ `1 x$ {6 w * j6 a! b) E6 s' l; |. ^5 I" q
}$ o9 U9 x( |6 F4 n v& R, E. |
else o( `( N. q% i& [ e" k
{
! `; K# {9 w1 f$ P3 j& u if(node.parentNode)
8 j6 ^; O( G" P% B3 T" Q {
* E6 ?5 R1 [: }( ^ var orgNode=node;4 }1 e" E& c! W, u. o1 }. s
var orgColor=this.getobjstyle(orgNode,"color")$ \2 J1 W9 @& D/ w
var orgRGB=getRGB(orgColor); : t* j J5 I' \
1 Z$ F+ N8 a$ r4 y. g, Q- s1 S# G var parentNode=node.parentNode: C) R2 w8 K- h6 u, U
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 g3 }0 J, ~( _% E1 b! _. ?
t) G) a, \+ {/ y var isLast=false;
! ]8 Z7 T2 v6 V6 T 6 { I! A7 U# w* X1 g
while(parentBgColor == "transparent") 0 ?# I/ N. o2 X: I# c
{
8 r' E1 m- c5 m6 M- @( p/ \$ M
$ I$ Y' [4 T4 k+ i9 w 2 f1 q& q* B0 ~- V0 z0 P
if(parentNode.parentNode == null)7 [ V$ B# j9 w5 u3 Q4 N# k4 U
{
# G9 K: u9 V3 W, @) ^0 Y( E' h isLast=true;
' ]% {/ ~, Z/ o8 {( _+ n break;! J( O9 w2 C$ m/ Q& ?
}
; U" N( }# ?, @% m, W( a parentNode=parentNode.parentNode;! m. L- k# v/ e3 R1 @* Q
parentBgColor=this.getobjstyle(parentNode,"background-color");
- y* I0 O/ ?* ] u
4 |, v0 C6 G- }0 J+ V if(parentBgColor != "transparent")
1 y; `; x/ ^" N+ d5 J {' d- J) B7 f" _# T6 J
break;
' \6 y% b! B6 x+ E2 S }
, P/ p% Q/ H/ L1 s+ ?. v }
/ U2 [* z) z+ s9 H" k if(isLast) 8 [: l" q8 ~6 y/ u) W
{- Z, i2 o, ^4 f5 Z; A
if(debug)9 R4 Q1 ~1 Q" K. y: D0 m; k6 H, O
{
4 X, e, C0 D4 K2 X% i, D% \& X alert("last!!");; b$ k/ W2 i4 m8 e0 }; u7 J- f) ]& w
}/ ]6 T/ H- I' ]* f0 A6 H
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- q: g8 m) u3 M7 x4 X# ^/ G/ } {1 {: k* Y6 A& Q; P
orgNode.parentNode.removeChild(orgNode); 0 ?5 J% |( I- Y$ O! {
}9 ?, U" M% \& o
}9 I X8 w: g7 V* Z5 S
else
) d. Y" g. k' Q8 u {0 w9 r7 E/ b) o5 f& M' l3 ]' I9 u' ]6 d
if(debug)8 ]/ g, L& Z/ u6 S1 P) y, {3 F
{
1 Y8 Q8 |1 e9 i% n alert("compare color and parent bgcolor!");# P6 U* P7 J" X" n, s0 C2 f
}% k) Q/ A# j D- E; i# e, K0 Q/ |
parentBgRGB=getRGB(parentBgColor);
, p. C7 y3 [' a1 N- U if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# f) h# b5 w1 ]' V9 k
{( s1 q) R, r$ w: d4 [3 Q1 }
orgNode.parentNode.removeChild(orgNode); X& K/ K$ D2 w1 Y8 s% A
}8 t8 r( u0 S; M- i" @8 x! `
}
; y) w* f& v6 r, D8 x" Z }
) K; q# b" X3 R& u4 k5 A }3 X& M6 B. W/ p
}. ^2 H" J0 s# S3 j- `- N- B
}
u& G( D' Q$ r2 W" r
8 i8 Y+ D% B: I9 Q ( N$ J, T8 `" P/ N' R0 z- D$ _
var itemFrames = page.getElementsByTagName("frame");
2 O [# s8 _2 W9 } var itemiFrames = page.getElementsByTagName("iframe");; ]( _( {0 W. e' Y6 Y: z8 |
5 o. H |5 {% r2 G2 M7 e/ l1 H var frame, iframe;
+ L0 w4 A" V. o" p3 ? if (itemFrames.length > 0)
: r2 e: {, }# X8 ^) |. J* l {
! e# X( R& h$ v3 k- T for (var i = 0 ; i< itemFrames.length ; i++)
8 w- o4 ~1 r4 O/ v9 M {
& G! h0 w7 T. `! q2 u [3 t( T frame = itemFrames.contentDocument;
$ E7 L8 P: J4 ` w this.RemoveHide(frame,objname); 4 Z' T6 M1 U" D& L- a
}
! B& X# K7 R' ]5 e* V+ m+ v0 a }
3 v& X! ]4 }* b5 _3 f3 Z if (itemiFrames.length > 0)
7 x9 ~' j2 ^/ c7 h% m: R {
1 x$ `$ \$ s( p& e8 `1 Q( u, b# E for (var i = 0 ; i < itemiFrames.length ; i++)
& u9 B* E1 E; u! y' J {
" m/ z8 R4 Q% i$ E+ [0 q. [3 v- Q( } iframe = itemiFrames.contentDocument;) x& U- u6 S9 R+ b4 L# D
this.RemoveHide(iframe,objname); $ n, N2 s% q3 e" t$ y5 `
}# m( v Y+ v$ J$ Y
}3 U7 m$ E2 h3 c7 Y2 e* g0 m6 ?
}
& f8 N8 x7 x& A7 y `7 x9 s* z) t catch(e)7 `% Y/ |4 l0 J' ?6 C
{
/ a+ R4 d' V8 ^9 Y6 ^/ p4 X if(debug)! w9 z- A6 t6 U. ?
{
' ^4 e0 d5 q b- _; g' q alert(e.message);
4 T& U" d: H5 M4 z7 E! U }
5 P6 w' |3 X0 O! ^) A' s4 ^ }
2 C3 z1 b. h# I5 T5 @ }
6 ]0 l- ?, O4 O! _
9 \, x! d- I% K. K}
- c6 ], P4 @# _% }
/ S3 ]( c; O3 f5 ?& C4 vfunction getRGB(colorString)
) D* g) |5 T+ A' d1 F4 T{4 N8 N; D/ _) h% ]7 \$ _' n# g# P
var RGB = new Array;0 o- c5 K3 B1 {& s" Z- l# n
var tempSting=colorString.substring(4,colorString.length-1);. t/ t3 ]* L9 W/ f5 E
var tempArray=tempSting.split(",");
) N0 J; p, U- A3 v8 F! I
* D( ^7 w P- Q, C# |4 h RGB[0]=parseInt(tempArray[0]);/ l9 `2 b6 W* B" K
RGB[1]=parseInt(tempArray[1]);( j' \, e. ~4 p9 B f
RGB[2]=parseInt(tempArray[2]);# @. ]5 }- i6 Y6 i' i# K& u2 c
/ ~# n: n, Y) g return RGB;; a1 T% s& F6 s: G) h# x
}
) j, f2 y7 [/ B# Q- Vfunction keys(evt)
* N/ [! r7 G* E( o& g; { {
- M! Z1 Y1 z/ E, n& N if(evt.ctrlKey && evt.keyCode=="81") ' j l( A) J* T8 L$ X `
{ 7 V* Q% R5 ~" G$ H, P6 ~
CleanHideObj.on(0,1);
- E9 p' e/ o c+ t( W5 N7 A: h+ A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) h6 G2 b$ n( T# Q( h ! V, _3 x/ D( T; _6 x }- z( m
} 7 H8 F7 s: X% f9 `0 ^: ?0 N
}
1 U @) t- Q; U2 r9 b f* e9 kdocument.addEventListener('keydown', keys, false); % A4 u& M7 J1 @2 v4 w
GM_registerMenuCommand ('Clean Hide',
/ }+ g- H3 h( Bfunction(e){- `9 U& e; W2 P9 j& [, F
CleanHideObj.on(0,1)' z" r0 C v- G, W' x b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 Y, @8 _# v- U Q# G! C i1 }
});! w( s& d+ ?" { @8 W; F
|
评分
-
查看全部评分
|