|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. y; V. \7 Y! v- R; O! v: M v; B% g* c9 @7 |
火狐插件,用猴子
% x+ R$ j' s0 d6 ^! H# J5 [+ n- _8 ?
var debug=false;
/ y5 E* _6 {9 W- ?. avar CleanHideObj=new CleanHideClass();9 _# c# S) y; ^3 g5 `* P/ e G* E* D
+ V5 i4 K! @4 k8 B! p% @function CleanHideClass() $ S6 Q& U) Y) ^5 x7 ? h
{
' k& o3 A7 z( P1 B( c- [ N
$ R G+ Z6 L S6 U this.on=function(id,bMZ)
5 H. s! [4 u9 ? {
, X% g2 D3 j; V
) S# F) S7 `4 ]+ G: e4 }' y v$ ~ if(id == 0)" ~! F0 y+ g7 n7 \
{" i; T/ M" ]/ Q1 v! X/ ?- H' d! C
var page=/* document.getElementById("content").contentDocument */document;
" A& S# k2 q A2 }: |' ] S, W+ p this.RemoveHide(page,"span");: Z. l _3 d2 K& q
this.RemoveHide(page,"font");& n! K4 E+ S5 l. o+ K# u
this.RemoveHide(page,"div");: s) C- k& `. o: g5 E2 A6 y
this.RemoveHide(page,"p");
' g; O' e4 w* t6 l0 Y
5 B3 D" e/ M, ?2 ? }
9 ^6 w, S G* |% J7 e# Z. h. R& k % n9 K, O. P4 y) K
}
1 l2 M! O0 R- k. w% p4 e this.getobjstyle=function(node,prop)
7 M. b$ C; s/ s; y+ t! n) e: l {
- ~6 R4 n5 d! p. @& }2 D try# m" x- M& @- ~0 Q# w* F, U$ P+ d8 k
{
4 Y8 O3 ^# y, H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ x% C ~9 R0 R0 d/ s
}
- j; y1 p$ r6 ]6 F& v2 W* n. l catch(e). f# }% m9 j$ g) u8 ]
{* x1 |4 B } v7 T8 B
if(debug)7 O" q! C* k) X& \
{, \& |8 ]; r4 p, q* l6 S# X3 \
alert(e.message);
) ]: T! n( V0 I0 f" _8 f5 n }* U2 T+ j& h# s1 S
0 @. n; s& H0 L; V0 f- W e return "200";
( \! Q7 G/ e. l1 f }
" w. z$ f3 N& I: @! N: u+ G9 \ }
7 {' c9 ^( K8 ?) H
- u$ T" B" N H7 Z. Y this.RemoveHide=function(page,objname)3 a x0 C* Q0 M1 \
{2 P4 D- \) _' P! O. @1 n3 _" K
try
: E! T7 v# Y7 T' G {( D ^$ f6 T% X3 n& W! E( Z- E
var minValue=15;
: y0 { ^( v. o' D9 ^2 q4 p. r var objs=page.getElementsByTagName(objname);
4 g Y1 F d$ n. _% t
7 h3 m. s2 T% N+ n% A if(objs.length == 0) : ~7 {% F9 d1 w6 R4 e( M
{
9 S% V! b. p7 g; [; N, _ if(debug). p/ o& `9 R' _3 S& L
{* ?3 b& x- e- N6 s: U7 ~$ ]
alert("no object found!:"+objname);: x1 r4 _; ]& d- R
}3 F" g( B- h: ]0 D
}
' D* G" E, @( T: G: b else7 M' H! U" B: }
{1 G8 ~& C7 f. l7 B- U
. Q7 @' Z3 K% n for(var i=objs.length-1;i>=0;i--)
( l: i, N/ K* j {
7 N' a" c# W9 q1 D& ?/ W. h var node=objs.item(i); / x6 g+ ]! V: p
/ s) T& f. w+ }& h+ X
' }& [+ u& b( d if(this.getobjstyle(node,"display") == "none" ||/ o/ x5 X8 G2 z" N/ C8 j' H
this.getobjstyle(node,"visibility") =="hidden" ||5 Q, ~. g% p w& b+ x
parseInt(this.getobjstyle(node,"font-size")) == 0)
' l3 T9 G5 W, a; A7 @# y6 M {
& H3 p1 X# J+ h( U' G: O if(debug)2 w) v, J/ d8 Y, d2 i, j3 Z
{
' Z0 Y. U+ T- a6 `- K6 J0 O alert("remove invisiable!");) y7 ~; H6 O# S, o, c
}4 k; S G6 k+ x( p" ~$ _
node.parentNode.removeChild(node);5 F d1 h1 y0 ?4 [9 u+ l0 P, h% S! c
" T. _, v+ z0 k+ w }; _( \' ?7 b1 R* e
else # T+ p) f5 P( \: f# N. Q
{* _& e; B6 ~6 o* x1 O
if(node.parentNode) 0 h X& W( p( ~7 J; q' |, u
{
! {2 y& O) l1 {' b9 M* N0 E var orgNode=node;
2 P- L2 T e% b, [ var orgColor=this.getobjstyle(orgNode,"color")
0 H5 `, d5 F) V var orgRGB=getRGB(orgColor); 8 C3 E! [; C3 d; o5 U
. o l0 ?* G* y3 z$ q& V
var parentNode=node.parentNode
6 ~0 c, |; ?2 a( n' c var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 n- f1 a# c$ M4 s. m. t
% Q' A2 B3 m. X7 i6 ? F( I, g var isLast=false;( ` [5 k6 z/ S2 F. a& S
3 t, N5 E o0 b3 I' l1 q while(parentBgColor == "transparent")
U( |& F. f) A, p' l3 Q {+ c( X( j9 R. k
- Y; @" i" D3 }2 A3 R
& U. s$ f0 ?6 K. \ if(parentNode.parentNode == null)8 [& F, a5 k2 h' m/ G. w0 _0 e& ^, ^
{3 C, k" f9 C8 o! S3 u) |# L
isLast=true;
8 b1 W4 e K) F; s L break;# j/ G$ _0 r1 K- _$ O& u! ^9 `
}
$ k: d& K( ?3 S4 _+ L- B parentNode=parentNode.parentNode;9 H' \5 L. p9 M& W) z! n
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 T. m- w; q2 e& a
0 W* \$ x) K( I1 U1 n if(parentBgColor != "transparent")
/ b" W. p" b C {
, M+ Y! F: D7 j/ t. p0 G break;
6 o4 w3 E% h- O/ s }
' T9 [, U. U& H, [& r0 ?( z }$ P; W4 |# H# |& O$ c @
if(isLast)
5 _; u% c7 |/ c6 }+ _! p7 i! z {* s! o9 m! o$ e# g4 C) a
if(debug): m3 W. Q2 ?- ~. {
{
( P6 N$ A' `0 M9 Y- D: `, `3 l4 s alert("last!!");7 C' Q2 }# ^# Q4 A
}
$ G2 m5 W1 m2 F- d+ k$ V8 ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 d+ I$ _# L4 c" l) j
{" e. f# }" j* M @7 a
orgNode.parentNode.removeChild(orgNode);
# \9 ]4 x6 R, H' g3 G1 Z }# z2 f v0 E5 Y- w3 ]
}4 r; P# v8 ^3 p% }% k- V
else- M, t% X0 \) `
{
1 t0 h! @, z0 o if(debug)
# `7 U- p- f& S; D* Z r {
6 }# H9 h6 E) j alert("compare color and parent bgcolor!");, [9 Y) a/ u9 q+ X; [
}: V8 [+ h3 H3 d3 M; Y; I2 ~
parentBgRGB=getRGB(parentBgColor);: M4 |2 i8 d& L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); x! \3 L! A$ _% a- j
{
7 F, ^$ h c/ ^8 {- D k* A! j+ z0 c orgNode.parentNode.removeChild(orgNode); : Y5 f4 ?' Z/ g$ r
}
$ A- w/ g; i2 ]# _7 h/ x- [ }
7 ]3 P+ ] C2 h- Z1 h/ S: E }" C5 A6 x5 U9 `* c7 Y; j1 }4 E9 n9 U
}( D& p' e: L- ^$ g2 k
}$ l l; l' E4 {
}
l( j/ t* x, d- `7 O6 O% j 2 @7 o* @: i- z
! m* ?% X8 f$ t4 f var itemFrames = page.getElementsByTagName("frame");* y. n' w! q6 c! C$ C+ W3 j; o! z
var itemiFrames = page.getElementsByTagName("iframe");% G1 E; S, R3 G1 C _
& B) T) X4 x' G) k7 c var frame, iframe;# M$ `2 ]4 T c# c$ Y1 d4 l
if (itemFrames.length > 0)
' R) j( t6 w# O {
; f, n( n2 C$ }" H2 s for (var i = 0 ; i< itemFrames.length ; i++) # h2 C ^8 L3 S
{2 `* R& k5 \' E* X& T
frame = itemFrames.contentDocument;
8 ]7 P3 e3 `5 ^, f3 q% T! X this.RemoveHide(frame,objname); 3 U3 v w; q9 X9 Y4 D* Y
}
" w6 T# v- ]3 S$ ]4 A }
0 ]# H" `/ ^* y% r5 o5 j if (itemiFrames.length > 0)
3 H! W( \' Q# M! \& V {1 _' T/ @/ p( g5 v/ p) P, m1 |
for (var i = 0 ; i < itemiFrames.length ; i++)
- m1 O7 l9 C) p# y {
; R2 O5 [6 o+ m# _ iframe = itemiFrames.contentDocument;! ?% d7 x* G8 ?' R) k1 |+ S+ t
this.RemoveHide(iframe,objname); ; d" P B4 |' M/ h" c; n/ z4 N
}2 b% {: W$ {" S7 k
}& o, G' P n" P9 d. m4 b
}
) i: i! i! g% y* m) _* d: q catch(e), F. Y8 j' f" p) E B) }
{" P: }0 a: c+ G. t2 z
if(debug)( W* E; [" d; `7 k7 @* i
{
7 U3 R% M; J- Q alert(e.message);
4 z) x* X5 Z* Y }
! ]: Y o7 x1 u, E) ~ }
) D& U2 h) [$ w w }
- V9 z' E: |; \* M9 [ ' P. r" T, M5 A' v1 Q
}
8 [0 o+ Q4 [+ {! l5 v( w, M: p/ q4 Q/ ~1 d( A- D8 n: u& e
function getRGB(colorString)6 O# z" X* j+ ~6 \6 ?
{* x7 M1 R7 }* ^
var RGB = new Array;
' r2 J8 `2 `3 {, ^( m var tempSting=colorString.substring(4,colorString.length-1);
! m6 K$ U) W$ A: c" j/ D var tempArray=tempSting.split(",");
2 N- }5 t% ~3 o& d' `7 A
, r9 m, m' P% M g) ? RGB[0]=parseInt(tempArray[0]);! A ]" v$ b v% X* M
RGB[1]=parseInt(tempArray[1]);
1 B1 `9 u+ A3 S% C2 q RGB[2]=parseInt(tempArray[2]);
( u9 l V# g" O' Y5 G3 H
6 n7 n; W& w z' N' S6 y# t3 Y) r return RGB;
* \4 n; g- X0 n/ E7 L}
7 W4 N+ f2 Q% g ufunction keys(evt)
. e8 ]" K8 Z: J8 X: Z+ A7 e { : U) m8 z: x/ G2 F& D
if(evt.ctrlKey && evt.keyCode=="81") ( Y- o6 J" }, `* u/ e3 F
{ 0 g! U- V8 l" f3 j
CleanHideObj.on(0,1);) Y* }; ^8 Z. h# V% z5 L5 }- a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # L8 \* w* i' P v( ~2 K
- P3 d2 w, z f% u* v
}
: ^8 }: x* p! b1 O }
2 T! Q9 h4 o# N: ydocument.addEventListener('keydown', keys, false); " O6 D/ h6 r: ^$ Q6 f* p Z
GM_registerMenuCommand ('Clean Hide',
- l1 N6 T0 m+ c" O" N- M/ ffunction(e){7 ^0 ~. c6 _& V4 Q3 {+ B) O$ K
CleanHideObj.on(0,1)
' K4 U7 t4 c$ `& V5 s& N# Ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* i0 L+ Z3 E7 g w; X- R});
! o/ R# b$ F/ m ?- P& m% X$ d1 Q |
评分
-
查看全部评分
|