|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( d, X, @$ G+ m o
1 a0 a) W6 |! } m火狐插件,用猴子
1 N4 ]" t. R& R5 Z6 R" T8 f' f1 U$ W" A6 @ B
var debug=false; % k9 Q6 [0 }: h
var CleanHideObj=new CleanHideClass();
$ ]5 V7 [: G* v' ]% U+ t
- _1 S' U7 R7 `3 ufunction CleanHideClass() & u6 {' X; Z/ p
{
2 x0 ?9 W2 f B# k 2 l% Y6 `) x. g0 y) Q% m G' X, |4 ~( H
this.on=function(id,bMZ)# a( O3 P0 ?$ O" z: c) c$ D
{
& F4 Z4 Q! h- n( T9 E% a& H1 S # ^ w; }! a( L1 P
if(id == 0)
4 G5 ?4 o M' N- V$ T/ M {9 A. H2 O. D$ _1 D$ ]
var page=/* document.getElementById("content").contentDocument */document;
' l0 m: w) z$ C2 ^% H1 v) \3 V this.RemoveHide(page,"span");$ E z- ?% G3 n4 z# E" n
this.RemoveHide(page,"font");' f* m7 b3 n+ Z9 n
this.RemoveHide(page,"div");0 c) v8 O$ \) \+ s
this.RemoveHide(page,"p");
2 o" `% ~" V8 o; f1 U$ l" F * C; p0 t; U. E- |
}
8 V% q; @/ t3 z- m9 Y( R1 K& L
( d# I: S5 }) S" h }
6 b3 c8 K- S6 o9 C3 {- h: ] this.getobjstyle=function(node,prop)
% y0 Z, ]" Q) ?" @4 Y {
! h% X( n! }8 }4 h' q try6 R) i) d) R) t2 P$ o/ d( J6 `6 C- e
{. R0 k' ~0 g3 O: E) D9 t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ p: j3 ~! S+ [ O3 f) k& H0 C7 f
}
# R J& Q, h/ i( D catch(e)' \" B$ J% H( Z. l6 q- ^
{
K- n" h) S+ F( V if(debug)
, j! z# h" c0 {( N {
3 |, Z% D0 u% E3 G5 F alert(e.message);
0 b# ^, m) M! U9 D' b }
6 o' j$ j. r( A* \# K5 r
5 O% {6 { [* p' V return "200";( r {! B5 Q. T7 V8 x0 E) y
}" j0 v/ R9 B2 I4 r% _3 q
}8 m$ H1 y* e- ^7 x/ K- U
9 B5 x4 O, c( F$ [' G
this.RemoveHide=function(page,objname). W. y$ E+ n+ I
{
! J/ Y. \+ R3 X try( r' @+ O! {& y1 `
{
. y8 Z) a/ u# v& @ var minValue=15;. t4 S* z7 Y& n4 ]6 g
var objs=page.getElementsByTagName(objname); # V0 ~. E0 y/ i9 X
: n' S* B2 o0 ]
if(objs.length == 0)
0 y+ K, c7 [9 l. f/ p {# p- \; z; |% \; H' \ y
if(debug). M1 Y/ X$ e* ~
{
+ V B" D* V- X. u; e alert("no object found!:"+objname);
1 Q7 r$ N. B. C/ {6 \! q0 z }: W) u& K8 ?5 P+ N; }+ Q0 T
}
1 ]$ w; D M. u, S else
9 \8 V7 ~5 M) U- G5 k( [$ I {
2 q4 a/ o! W; t& ^6 {) B+ [% \
3 ?) d9 R: G% T; U3 R for(var i=objs.length-1;i>=0;i--)
/ R+ n+ O3 P* v* M9 l$ i {
+ I' z% L! I1 z( X, S! y9 [ var node=objs.item(i); ! @$ h2 d1 ]4 V5 t" P0 F1 I
: W* _" r" W/ d& X$ | ( k# g7 D( S7 ~$ T; H. G6 c- ~& }
if(this.getobjstyle(node,"display") == "none" ||8 w; e) F8 Y; g
this.getobjstyle(node,"visibility") =="hidden" ||
- v7 }, X) F. ?0 ~ parseInt(this.getobjstyle(node,"font-size")) == 0) 8 j2 D P( N+ R! g2 y6 x
{6 Q( r2 H D$ A8 u: u8 a4 D, ?
if(debug)$ u) n$ z1 l2 V: R
{0 {. ]0 u" B$ j3 O. Q
alert("remove invisiable!");1 f+ O5 D: s$ b5 t2 B& z) _
}
) b/ [0 k5 p6 J; T9 _+ k node.parentNode.removeChild(node);
5 q% \# i- n) v9 g! u8 o; s0 Y* [
~; S7 u; q" ?: \/ p6 }/ t" K }
$ K. R9 a* w. r* q& D else
1 n. q) c, ]8 t, Z* R {; ^- B1 T& X3 e r; p, {3 A' f
if(node.parentNode)
) K% X+ q4 Y0 W) x6 T {
1 y+ w, k4 b% N) L, `1 | var orgNode=node;
# p, f8 m/ c. |: y# K var orgColor=this.getobjstyle(orgNode,"color")8 u% Y; V5 ~) L
var orgRGB=getRGB(orgColor); 4 p$ H# c. B* X
( \; I" Q- H9 g- M9 d
var parentNode=node.parentNode6 s$ |9 H! ?# m) S) s
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( f$ k7 G) C, e! s
5 k( e( |! B" r var isLast=false;$ b* S4 v6 a2 H1 s5 H7 D
2 J) y) {- ~! m+ Z
while(parentBgColor == "transparent") 0 Y' z; R% y4 ^/ j0 B8 Y
{0 [7 \% v4 Y. i0 {
7 s; V1 G* C \* I/ U( @+ V4 Q
9 w& r- x: e; O8 r9 c! j _
if(parentNode.parentNode == null)2 b+ l9 Q" I9 M, p
{" e% s$ r) H: n0 |$ {% p/ r- N
isLast=true;
: Z D8 `5 s, l* x- K' p break;+ K* ^! \) g# S+ w
}
8 ~, H6 O7 D- J parentNode=parentNode.parentNode;- t- D$ y& z N0 x
parentBgColor=this.getobjstyle(parentNode,"background-color");2 Y- l* p. {# T
3 ?/ a! u3 y# B4 l$ S' H" d if(parentBgColor != "transparent") ) u, l' S0 v% P' B" r4 O
{
5 O8 p! w: Z1 H3 |( S break;4 _/ O0 J8 g1 J5 K: {
}0 s% O+ r& s* L/ Y
}# b* r$ A) n% m, t6 A' V
if(isLast)
9 n: | k5 e9 y) B4 b6 S' t {. G" M4 G' `, F7 o3 X
if(debug)
! a$ n& q1 V9 G- Z( R0 Q# C/ F {5 J& a8 q6 Y0 u' u( `
alert("last!!");
8 N# e, B Z; n b }
' @4 u c) j( {! [% ]: ~ R2 O if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: `' N/ u ~/ \" r% F9 y# a4 c {
" w0 [; f/ x" z! l! Z orgNode.parentNode.removeChild(orgNode); ( C9 n4 t$ Q8 l: u( K
}7 a) D8 e' D, s, c! D; ^( F- u
}' q+ F( M( {. }) ]5 y& e# m
else7 ^* [7 i7 y* O& V7 v0 `1 h; k
{
E- n1 o& j" f( x% d. f if(debug)
J* \0 _4 }/ Y- S5 O {
5 @* ]1 }& {: ]) h+ ~/ N7 W8 p alert("compare color and parent bgcolor!");. a7 b) ?! T# C; z% y Q
}
: `4 `& g8 E. l0 ^ parentBgRGB=getRGB(parentBgColor);& I( ]7 G0 o# S' g9 F) o: q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 c( G ?# C0 _% N0 P% {2 E
{4 Z* b2 [" ^+ \; S0 ~' w1 j
orgNode.parentNode.removeChild(orgNode);
, D2 c) `. b% e8 ^ }
8 d! T' Z# `. n/ D/ N' I+ X6 d }
) E" e4 {9 _- {; s3 W }
; S5 z2 |0 S$ ] }9 c9 r6 M5 b2 W6 o3 H
}
, c x8 `% u$ H7 a }9 m; u( o: p+ \/ p& l% c
( g! c1 P8 v' Y7 K$ S
( i3 v6 ?0 `) J var itemFrames = page.getElementsByTagName("frame");3 T( n( `. q- x! Z, N# W( _$ O0 u
var itemiFrames = page.getElementsByTagName("iframe");
5 {: R6 q S J4 l $ _* n9 `0 A S6 Z2 {$ }
var frame, iframe;
# Y! ~% W/ S. E. C* S if (itemFrames.length > 0)( H L2 e$ \! C0 s7 E) F* |
{; D0 u$ Z( ^2 ~6 R4 @8 S
for (var i = 0 ; i< itemFrames.length ; i++)
+ I+ @, t# ~; U; L6 I {
2 K! q5 \" _! n/ M' ]1 U3 c frame = itemFrames.contentDocument;
8 S% k& z" h2 d" n7 n this.RemoveHide(frame,objname); 2 b9 D( c' }" i# e1 x+ O4 e) _4 e
}/ o& P: O: l/ y" a5 q% z
}
; _$ v! h- g" ^% {4 e4 w6 u! Q if (itemiFrames.length > 0)
2 l* H- s" y* J {: ~# @# f& F% J
for (var i = 0 ; i < itemiFrames.length ; i++) 4 ?2 R1 o2 q4 i/ W: L) r: \( u
{
( l4 Y9 E% E' s4 e! x iframe = itemiFrames.contentDocument;( m9 T( e. X( D6 \
this.RemoveHide(iframe,objname);
+ E, ?* [ Y# c8 | }
8 X( y9 a! G7 k2 Y }
! d% b) ^8 ]8 G7 X8 ]. g4 p, ` }/ Q* O6 g2 B( ^+ n3 G8 P) U
catch(e), P: o' n( N# l5 F+ B$ m, \& C
{. \ H0 H8 R3 r) }0 }+ }1 B
if(debug)
/ K" c# u- g0 i! c {
4 b' r& w* A: K) l$ Z alert(e.message);
2 N* I+ R. Z( I, p7 k. M. T3 K }. L8 ~" z3 l, e0 O( u
}
# n( {( K8 |5 i: Z/ \. b6 v }% Y" x7 a. s- ?7 @, L. _, {+ h8 w
! S) \& i& \" w2 c) B n6 k}
. H5 b% ?! a/ B, D% k' D' T) L! p9 f7 c! X9 Y8 u! l% _- u U
function getRGB(colorString)
& @' ]8 Z+ M# z1 ^) W/ U{
' \; z4 }1 H2 J. `6 { var RGB = new Array;
J# |$ b2 l. L v$ ^ var tempSting=colorString.substring(4,colorString.length-1);
+ n, F$ |4 K$ B' `2 H var tempArray=tempSting.split(",");$ e ~1 M- O+ q9 C
: C( P: T6 A' b' j" r* J/ v RGB[0]=parseInt(tempArray[0]);
# U, Z: W2 Q% v9 r RGB[1]=parseInt(tempArray[1]);$ u a* [; j9 R1 @+ C: l Z
RGB[2]=parseInt(tempArray[2]);$ Y* `' e! L; Z, ^* r( {; C) g
) C5 J4 ^, A4 z6 O6 Z
return RGB;
1 T9 R' P( r8 U9 }1 b}$ X% t% X4 K C" X# b
function keys(evt)
. d& ~7 O* {6 p' J { 9 j/ Q8 ~$ D4 H1 s
if(evt.ctrlKey && evt.keyCode=="81") 6 y! ~/ `. l" T
{
- H6 W5 c, {, S4 R- j CleanHideObj.on(0,1);9 W( f+ k1 x3 S, s2 F4 j. N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 | a1 L; x- ] N: h7 x
: X0 e8 D, N: A7 ? } # @* ^ ~, G$ L; n
}
+ V; S' h( D5 w3 K/ t& h' X! Bdocument.addEventListener('keydown', keys, false); 8 C1 K" }% t2 y' z" u+ [: u
GM_registerMenuCommand ('Clean Hide',
c2 `* Q) Y! rfunction(e){
4 L6 T( N3 U, R+ w h2 T) nCleanHideObj.on(0,1)
, g `: Y- W0 I, Y, ?. [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- ~8 I# q+ Y! k0 h C
});1 N( G+ I: ]# q( l# U7 Z
|
评分
-
查看全部评分
|