|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 r6 w3 S9 \4 j4 t
. C# d* W9 }9 Y0 B" I7 H- B& b% Q火狐插件,用猴子 N9 N; V- }6 t5 S
# ?9 [8 o2 e' o+ A
var debug=false;
# l) _0 V# R' d- Ivar CleanHideObj=new CleanHideClass();
! X: Q/ }8 i5 k( d2 u9 P
/ e- a$ B, q! c! n# F& w# Xfunction CleanHideClass() 4 u% Y i# w" L9 h
{ 6 F: x- o+ i! r+ S
% a' E2 y/ r- p. [' {) R% u
this.on=function(id,bMZ)( {( M) N4 }% j
{
2 z7 A) e; |6 y F! p , Q/ u: q8 N J% g2 P
if(id == 0)1 o w( }$ K# L6 H9 g4 T4 A7 K
{
9 c" w: \. O( F4 \9 v% @* | var page=/* document.getElementById("content").contentDocument */document;
2 T" k. U8 j* _. N this.RemoveHide(page,"span");
) N1 Q: ~/ q2 r this.RemoveHide(page,"font");- D3 }" m7 [/ ?2 X, g8 K4 ]4 H0 [! z
this.RemoveHide(page,"div");- |! a) A b. {: b7 ]4 b
this.RemoveHide(page,"p");
9 z4 ^, O {1 y9 S; U, l / G v& }. m5 f: F' ~. r$ K! ?4 Y, |
}% k" X( G7 C" V9 Z U$ D0 d
- V: \7 L0 w. n& m& q }8 F' {# @% X& J) \; e! n n
this.getobjstyle=function(node,prop)
, C* y3 `! i( m8 W {
, C8 | q( H+ S% C2 K8 o try
! |$ S9 `. b, I {
9 a4 }5 q1 U7 Q0 d9 k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! R4 y# V& n5 v3 H7 H }7 w' r: N8 F- x8 e" w( [" G& o0 Q
catch(e)
0 P7 ` U: J) I$ x2 h {9 N. ]3 l2 G% V% |% W! S
if(debug)
. x! ]: e( z" ~' s% U( k {, Y# e1 i' [. f) j$ U
alert(e.message);! h* _/ `0 p% y9 ?& b: G
}& r/ u# t* Y: X5 }
/ J1 y( R3 l- n4 v }4 v9 ^& W) d
return "200";
" S' j- L" V, R% V A. y }
' }9 r) U$ u3 z* E Z2 q }
; T _6 m7 B9 a
! \1 @- l, z# L0 t4 ~ this.RemoveHide=function(page,objname)
! V$ ?1 o. J! E' M# m S- _ {! E; M* f& m3 K8 t' K
try) Y. a) U" v/ I: k3 v
{
W! Z' k9 x* Q3 p9 i7 k var minValue=15;* `2 T% ]( l1 m$ V
var objs=page.getElementsByTagName(objname); # o+ r+ M' H7 {2 @% t* o4 t
: _9 ` x3 I8 F% {! U5 _9 O8 Y6 W7 k
if(objs.length == 0) * M- \/ N9 {0 i* X! }
{
) U3 J1 F3 p" \$ c if(debug)' m% h" G+ X" t8 ?( T( @
{0 Z0 Z& l. l% b3 s
alert("no object found!:"+objname);
. d L1 u; Y0 E+ G }
0 I: C9 f8 Y- m6 W% B }& k1 l8 ~- H; ^7 Q; o; M; v
else
6 k# s4 l7 G( J% M. w" ]2 n {3 D& V* K, ?' W
/ C/ V$ g, R) U: j1 i% ^& {" P6 Z
for(var i=objs.length-1;i>=0;i--) 1 t( Z5 G1 ^& x# y
{
0 O, }6 B* ~; w& q" P) f' W7 G( ? var node=objs.item(i); 7 s; U! B6 W( G1 a4 j- \4 X7 d
, B, j2 C& i, _; r4 L1 e6 Z
v. M+ \4 e% P. S8 p" Y
if(this.getobjstyle(node,"display") == "none" ||- h% y7 D8 v6 g7 r& e
this.getobjstyle(node,"visibility") =="hidden" ||7 u }- v, ]/ p. U+ u
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ n" b& D& D. R* {* Y0 `9 J {$ \# b( n' m2 |9 _) q1 R! P: G
if(debug)
6 p; A. N/ W3 N! O+ u- N {
% N3 W. T {8 t* @$ g6 J% q alert("remove invisiable!");
/ j7 l) d) s! G }
# \* p5 _- x0 c8 z1 Z; a" v! @+ b2 P, q node.parentNode.removeChild(node);7 v# Y& c u" }4 V% |
2 t0 A! s' _/ C% \4 {7 R
}
$ M7 K9 V _: G else 7 M, ] ^& W% q
{
: E' j/ K) d5 `' D% ~ if(node.parentNode) 6 T- x, C% v1 z$ P1 e! I
{
1 ~% X. u1 { o var orgNode=node;* t+ {% ]/ f) T
var orgColor=this.getobjstyle(orgNode,"color") M$ O. w! w) i( w# W( H
var orgRGB=getRGB(orgColor);
5 K' ^0 z" Y" w$ w) g
# T( m( _6 a# s, G2 v I$ u var parentNode=node.parentNode# f: Q+ R# S r/ @6 @
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ s2 w, B9 ]' ? ; X$ |9 K9 @3 h
var isLast=false;
/ u2 n) A- t5 j& J* t
4 g: q7 G6 {& b% ?1 z, z, @4 s M while(parentBgColor == "transparent") / F% Z& }" K. ~
{
+ x; L7 ]7 D8 d+ F
7 c& J6 s* i% Q, ^; U+ t& [ " R7 g0 |4 D8 q8 Y9 H
if(parentNode.parentNode == null)
$ ~3 j6 p. B2 O {
. A4 r8 B$ [$ ^# m J% [- `; v6 ` isLast=true;3 _9 Y0 S O1 T. c
break;
. |) o- F$ C3 R# @/ u }% d u2 `. U4 W0 F: V: b1 p" h+ v; Z
parentNode=parentNode.parentNode;, V: q1 [( s7 x
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 ~3 g$ f5 \. ?& s, w4 P
# t6 p! [( i- P; A0 u if(parentBgColor != "transparent")
% V7 P9 I1 h2 _/ R {& M- ?' `7 q; d& s( O u
break;
* r+ g- A/ ?5 U( P }+ C/ t" x, r7 w& v$ ^; }# j
}
0 v* q s' I: U8 f# }) |& w if(isLast)
) b/ l, n6 t* e1 J6 z {5 x. W7 o5 N. [
if(debug)( T' z2 z2 Z$ o
{
+ i5 H8 v+ \0 d" |0 M2 K alert("last!!");1 z+ W; f2 \. n2 h$ N x0 H0 o
}( u1 L4 O1 b; y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' J' Z4 A. i5 ?/ Z8 s' U6 _
{/ {- q% j5 c5 x) |7 _8 i
orgNode.parentNode.removeChild(orgNode); 6 q) l+ M: ? q5 e, _
}
# L4 }9 ^) k, i }: K8 {' ^! Y `+ Z( i6 D: Z/ k
else
1 C( f3 l& z* h {* @7 |" ^) A! a% C8 n( A
if(debug)
8 @$ l0 p2 h' \, M3 @+ F+ z {
) F7 d9 e0 [/ W3 F6 L9 V' w alert("compare color and parent bgcolor!");# K& y1 i# @' N" [/ `, \
}+ j( C$ z8 ], k" q @" D% b* ?
parentBgRGB=getRGB(parentBgColor);* [" A$ w* K$ t& u/ m+ b( {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) F6 n, s& h" v, f& O {
( |* @0 R6 W; g$ N% L orgNode.parentNode.removeChild(orgNode); 1 o; R3 K7 K9 }; t% f9 `
}
$ g2 p) t8 {: Q" [, U }9 S( k W; x @5 b- A
}; [' R7 t0 i6 B! ]9 U6 L. k L2 z% `! L
}
# C& K) D4 J* Q/ S- y) s* [ }0 B B7 X' T- I! u- E- @% a* z
}
- U. ~2 u/ O5 D6 Y3 u' P
/ W" {0 g) ?+ {; ^$ M; Z& X
" ~8 B" b* R7 ^8 ~ var itemFrames = page.getElementsByTagName("frame");
4 v# b2 `1 b. Y" A var itemiFrames = page.getElementsByTagName("iframe");* s- O) C& e9 p$ Z1 N
# W: d {" P' z1 p5 h0 Y
var frame, iframe;
9 d: ?9 l, {/ E! g if (itemFrames.length > 0)
- o4 n* v) n, U) O {1 O: f1 T5 K% g. z
for (var i = 0 ; i< itemFrames.length ; i++)
8 O- M. \% E. z; B6 | {
8 H3 B9 B& v1 n; F ?6 k/ r frame = itemFrames.contentDocument;
7 G3 E2 K8 ~* E% U) V this.RemoveHide(frame,objname);
5 m8 I# U$ n" ]" o }
# `1 ~! z- N* _2 ~+ \& f+ Y6 a) G }
V% N0 q9 U5 U! a- `- i if (itemiFrames.length > 0)6 i3 ~- R0 R$ P$ r q
{
. n3 r5 W+ V2 m9 P# T4 p; Y for (var i = 0 ; i < itemiFrames.length ; i++) 7 | t+ U0 ~2 G
{$ E! J; r7 d# T0 E) }
iframe = itemiFrames.contentDocument;8 ]8 @% |+ t& |- ?$ I" W" }$ Q
this.RemoveHide(iframe,objname); 0 c% }) i1 i$ ^& N: E) ]) v( o& @
}; b6 M# v) J( m r: h: v* {
}
6 w5 x, I; g& q }6 Y ]6 s: c* ~+ ]4 l
catch(e)
( H% k3 G2 h2 d( I7 j, r6 T {9 x2 @: t& K% ~* {) |
if(debug)5 R4 x, A# u) X" ?
{
, G. e3 ]" T: }' k- ~" d alert(e.message);
7 Q8 K% K! j6 ?! u( h9 ^ }
* J- h4 u' @/ _7 k }! f7 {$ ]3 ], e6 }6 L
}* b2 y1 u# J1 g) a. O5 a/ v y
: w3 H/ p0 n* M, a. {9 S}) j% ~+ Y6 \5 |8 B
" p8 ]7 c; p; M) D) B3 q# M; O
function getRGB(colorString)* c0 d& |; E0 I2 ^6 d: E5 {$ V0 z
{
+ N# E3 _8 M0 N4 z0 | var RGB = new Array;4 z" r* s& F$ ^
var tempSting=colorString.substring(4,colorString.length-1);; X) M: V G. T" U; `% m
var tempArray=tempSting.split(",");
, _; Q/ f) Y) t- Q. Q$ f
$ h u2 Y2 G4 ~0 _ RGB[0]=parseInt(tempArray[0]);
" S ~* T- ^$ x& g/ ^* X( N/ A, Q6 [5 o RGB[1]=parseInt(tempArray[1]);
! ]+ Q( G- }& \ RGB[2]=parseInt(tempArray[2]);
2 {% J- m3 S1 f% C2 K0 a4 \
8 X5 W, B, X, Q, X( x. w return RGB;
9 y) g$ g9 P$ y. P5 d}' v7 b# j/ X* k& Z; b
function keys(evt)
; }8 @# r' D2 E# ? { 6 b1 z3 k6 [. L, t% C' {6 c, o7 u
if(evt.ctrlKey && evt.keyCode=="81") ! j: @/ a/ P$ ], G7 H
{ $ W; J/ I O1 E; Y. v3 G, Y/ T2 ]
CleanHideObj.on(0,1); C5 j7 {) [6 b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: k* Y- g Y) p8 m2 w9 C 6 ^6 H! J9 u; X; W0 u- q3 e; o
} + ~: g, r0 y ^
}
; O1 d$ }- @- n2 H* r& \document.addEventListener('keydown', keys, false); - d( l2 b5 v" M1 j% E
GM_registerMenuCommand ('Clean Hide',0 @! `7 M* Y9 T* d( ~% U3 I
function(e){
2 K" o2 ]5 D" |/ _' l; A: ACleanHideObj.on(0,1)" x1 m# r$ b6 e- ?2 L3 G
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! Z- u" A, F4 `4 D2 A9 L7 k6 ~
});
- W$ P' p7 `. \" g( X2 b( h |
评分
-
查看全部评分
|