|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% S/ Q/ d( F' i+ K
: O: E9 T0 X, E" z5 `( t8 N. r火狐插件,用猴子& W$ }) b; C$ @4 A1 G2 f5 E3 V
: n4 B( Z8 l: E/ p9 A. [; W, Yvar debug=false; 1 \( n1 o7 p' p4 s6 _8 c$ V0 ^( Y
var CleanHideObj=new CleanHideClass();. {; H5 E. {% o* J( w
8 \' J h6 I* N! {$ W9 vfunction CleanHideClass()
( s' E, D+ l W& w' b3 G, Z7 V% D{ 3 [' g% k6 H! U: y/ T
& }% i4 L! |) P: b* U) H2 P this.on=function(id,bMZ)7 M& l: X. Z% p# \
{
( t0 C7 f9 t9 I/ A& ]8 K+ H1 t ) s) X* S/ A2 m5 v: o
if(id == 0)% U, ~+ L7 S( R1 f5 S1 T
{' u7 O' @: r9 Q7 q" K
var page=/* document.getElementById("content").contentDocument */document;
; g: v" M( y. _" O, Q2 |6 ], U& w this.RemoveHide(page,"span");2 ?- p4 |6 c" F% C- _: D0 x3 \+ ^2 n
this.RemoveHide(page,"font");. G1 T( E" S% u7 J+ k
this.RemoveHide(page,"div");$ |% K5 T& u: i% z, x6 G& F
this.RemoveHide(page,"p");
, j) v* c" k' y$ l/ Q % E* _' Y% N7 `& h0 k
}- N0 l5 l" R/ q5 a2 T
/ G9 _5 G6 x& E" g/ ?) z1 ` }# _6 Q9 v7 W9 ]. c
this.getobjstyle=function(node,prop)7 H3 J9 Q( h' T$ b8 B/ d
{3 D# Y) P. c4 D1 _9 L& b% k2 |
try7 n" H/ { k! {
{
4 I( R: M2 e1 ]) m1 W( o3 r5 E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" }5 @! K; F8 X* k" j
}, x5 L& {0 w) e1 O/ e1 r' F, n
catch(e)5 N1 q8 N3 S: s
{- Z3 ~; B* L/ f# x0 O
if(debug)
3 ~/ {& b5 I' c' B$ z3 O' x {8 E' W9 ~$ d. o, I) ~
alert(e.message);
2 Q! Z0 ]8 q* _% G, D" K( g$ o }4 d( j$ ^" U6 a4 D7 f9 d
9 G1 y* i( K; v' D return "200";& M, \1 e- U# C6 q W
}3 A; {1 e/ j* l
}* e( {# z8 M9 F3 D0 O: Z0 N- w, l
. m4 _! {8 u" ~/ q5 Y! z this.RemoveHide=function(page,objname)1 o1 ~1 `+ x+ H
{
6 o; `1 X+ b: A# a0 n try# N6 L5 j1 j1 C9 O: w. z2 Q* [
{
: i$ R" N6 v* \# w% |7 s# Q) l var minValue=15;
4 E# D K& S6 `# z* F0 g; S var objs=page.getElementsByTagName(objname); 5 X) Z; N" b: F) e H# \" y
$ R! u' Q7 {$ g( O; @* L) w9 j if(objs.length == 0)
^1 }! \+ \, i4 G5 m+ i# V {$ z" }( O( y7 {1 W
if(debug)6 U' j; Z' s: h# e
{
/ N% T) s0 Z8 q/ w alert("no object found!:"+objname);. @9 X3 v( m/ i8 c9 l( t( q; h& L
}
4 i& Q* c1 a& A) S# | }& ^5 X% A% t# W6 v; @6 y
else" C1 e) x3 i, ~# j& j9 u
{
; h+ t0 U( z( `1 ?
7 X7 V- g( V- ] for(var i=objs.length-1;i>=0;i--) 3 c# v9 X7 Y0 }
{
7 A5 j6 C9 V2 D+ |, e+ H+ s0 z var node=objs.item(i);
u4 v8 c s8 }6 A+ V e* E% t' f. N2 p% S1 ]+ r% f
: m" ^: ~1 l: d; s+ e, E: x if(this.getobjstyle(node,"display") == "none" ||( J. {* ]5 R- ]9 m
this.getobjstyle(node,"visibility") =="hidden" ||1 k8 y+ g5 C! y2 B* u& J V
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 N: U$ g/ ]5 W7 A+ }/ d {) _7 v2 _7 q! M0 y) _
if(debug)% n' o' N1 p0 C, K3 L
{
0 D$ S; w- t3 d) x alert("remove invisiable!");8 W# \( `3 ?0 |6 U0 y/ w
}/ N. G1 ^% A; ]8 }7 l R* K
node.parentNode.removeChild(node);0 C1 {! Z1 k# k( J; o
! R4 S# J3 H0 `) O+ E; J( H) o
}! k( o& ]0 C$ o2 l# \. r' w
else C3 p* F U) c& D* N
{
/ C; M. W6 H' T, X9 Z+ N if(node.parentNode) + F1 }+ ^1 q7 c6 D
{9 @2 r5 g/ H. A4 ~) o$ i
var orgNode=node;
! p" w$ _& l$ U' _2 }# C2 B var orgColor=this.getobjstyle(orgNode,"color")
2 L2 Y! Z0 L @1 ^4 B var orgRGB=getRGB(orgColor);
' {0 f% ?9 Z* Q3 D |( Z
: t( x8 S. A7 Q; Q: E4 }/ v& p l var parentNode=node.parentNode
: d4 h# X# z& f var parentBgColor=this.getobjstyle(parentNode,"background-color");. {) W+ o/ Z! O
& J1 t9 g) R) a2 ]9 n var isLast=false;, s, `. H3 k7 f$ S7 S0 w5 M
) j D5 P" C5 Z8 A while(parentBgColor == "transparent")
: u R6 t/ {9 v7 O {
5 I7 q5 ?6 J3 H
+ R8 g0 Z4 `0 h1 |7 h" I
: i [& E7 i* H/ N6 G if(parentNode.parentNode == null)9 H, B$ u, @# J1 t% b' h
{% M5 v' t7 I, C% }
isLast=true;6 l) L$ D2 e r$ k( S3 N
break;
' C1 \' m( Y' B- F3 m! s# ? }
' Y9 j2 C8 q( X0 [4 ]8 q8 ]4 ? parentNode=parentNode.parentNode;
* ]2 B/ n- o- I! o parentBgColor=this.getobjstyle(parentNode,"background-color");
+ S! v2 h% L! [/ D4 L6 X# U8 O7 }: a9 a# ^: x
if(parentBgColor != "transparent") " \# _3 B6 M! p/ Q$ I* A* W
{& H( l. Y& h4 Q3 J
break;
6 w3 V9 L1 j1 @* u1 ?" T( N }9 N. D/ `- @4 x0 s L
}
, E8 y- s0 ~" {- A' u if(isLast)
$ x3 S' e( L: X6 h {; O+ k. Z) S y. y
if(debug)6 i+ [ k' B# @, t" V9 Y
{ Z! c$ ]: X7 e
alert("last!!");
/ ~) ~, d1 o! B' g0 v/ Y6 I }7 u# a9 V+ Q7 ^- u* @: {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 D0 N; S! A; |
{8 ^# r$ A8 C* {
orgNode.parentNode.removeChild(orgNode); 7 S7 Y8 z5 f: d
}
3 \, l) N1 _1 X: v' q }
8 a, g$ |* {; Y4 c+ O" f1 T% Q else
6 M! h6 r" _) `+ q) p {; C7 P- {( T: N/ `7 K' E
if(debug)4 I' F9 ^% x; j' ^! {$ }
{
' a) m/ f' B* m, _7 Y2 @3 B alert("compare color and parent bgcolor!");
$ U) {9 c! Q, o' B }1 k" M. x+ A( W; ^# k
parentBgRGB=getRGB(parentBgColor);" ]& ]$ @) |+ B, V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% q0 G0 y( e) a {) W) O0 l$ Z- K8 K/ ]+ U
orgNode.parentNode.removeChild(orgNode);
. Y+ Q: z0 A; ?2 m; K }: _ a, ]3 R# E/ J$ f) \
}' A1 k) L1 U9 ]/ J% p: R8 p
}9 l4 f% l% @. C" k6 A5 R: P
}
; A9 B8 ^* {- B1 V( s5 T" S4 n }3 B6 Q7 s/ a. g. n" \+ m) h. r. I
}
9 p! J. }9 [. x3 B+ X- q( Z
( r" T' E3 v4 @# x2 ~ D" P 5 t- T# q2 A5 U2 z a, G4 C" E
var itemFrames = page.getElementsByTagName("frame");" [) Z6 |- D. Q5 [4 ~6 f
var itemiFrames = page.getElementsByTagName("iframe");
0 ?1 S; f% ^$ s/ k8 ^# ? e 5 g' ~- q% T2 C+ s0 K
var frame, iframe;" I! Q6 B# _$ g/ o/ S
if (itemFrames.length > 0)
5 h8 C& H- |, `6 D) h {9 r1 R/ \8 r0 a1 s- k
for (var i = 0 ; i< itemFrames.length ; i++) 6 X# r5 |+ @' P7 s
{
! G0 C; a0 @0 r; n* e# o frame = itemFrames.contentDocument;
* d$ w+ _* M4 A% q* t" S$ n this.RemoveHide(frame,objname);
! R! |9 u- }2 y5 I* _/ ~ }
0 n: @* a8 A8 l7 o5 `7 M* m6 R }3 j& u7 l% M( N' a6 b! r1 B& G
if (itemiFrames.length > 0)4 S) n5 A+ Z5 }( N) R
{0 O2 l- D% A0 P6 S- u
for (var i = 0 ; i < itemiFrames.length ; i++)
* ?2 c* P; b% F+ y8 B5 ^# C {
% G" R& K% E* x$ L0 k6 j iframe = itemiFrames.contentDocument;
( l5 r* f: b, M, d j, N this.RemoveHide(iframe,objname); # V& J) @2 {" f9 c. A0 w# U4 W; W
}# x; r" n# t1 y+ c
}6 s. d' e4 G& ?/ A- h- \6 U; `) V
}! D% O3 Z% n* y: k |7 L7 n* V
catch(e)
8 X5 R4 B- A3 l& I {
2 V" b) ~* I( q' |9 T5 j# T, M if(debug). G# l0 U7 R( F( K! [4 P
{
$ }8 {4 F' y: s0 ] alert(e.message);
1 _2 i- l0 x2 X4 d8 F( w* a1 N }! T6 F4 Z, N0 d( V5 B7 W2 y6 i& X* _
}1 ]- n# t( c, F1 p
}4 E0 d: O" w( N) }: k/ Y
8 |5 @2 O8 k5 e# L% X5 h8 ]( c
}
7 Q2 Q3 j/ W2 Z9 O( }+ n9 n& s! n- K4 z h3 D
function getRGB(colorString)+ z/ G$ \* w3 \; J* j) ?( j+ K
{8 O( b" J1 F- C" Z5 W5 F- u
var RGB = new Array;
/ A+ E, p7 A! K5 Y3 ~$ y+ v% } var tempSting=colorString.substring(4,colorString.length-1);
9 T% s: | o* L0 \, B var tempArray=tempSting.split(","); N, n+ w2 A8 ?; l
, W7 D) o& |! P' ~: W: o RGB[0]=parseInt(tempArray[0]);3 g# }1 p0 E0 L, E( J4 A% L+ q
RGB[1]=parseInt(tempArray[1]);1 [5 Q- i% T/ [6 r, u5 D; j3 b: J; C
RGB[2]=parseInt(tempArray[2]);8 a+ f; g6 i3 _. j+ C0 {
6 q4 X9 s; S4 C return RGB;/ A6 ~( F- u: C
}) p0 e! h( m, I8 p) _
function keys(evt) 3 v5 B) K/ l$ K7 _& G
{
7 d, V1 u- v* d. S! A9 P if(evt.ctrlKey && evt.keyCode=="81")
8 @: z2 |$ t2 m {
( B7 v" P' _/ O& Y$ l7 U CleanHideObj.on(0,1);
9 W E- l+ B/ d; @* r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- E( G6 ]5 d8 W! d
7 s* ^- Q* }2 n* v# T* D }
- y! K2 g) Q2 Z* j: R/ T }
7 _, D( h6 G9 J- bdocument.addEventListener('keydown', keys, false); $ u% g1 Q/ c0 U* F; V. L# x
GM_registerMenuCommand ('Clean Hide',
7 {; n& j+ F' K) ~7 p \9 r6 b' Y& ]function(e){& P# N* p- I/ w# _$ H* A3 V
CleanHideObj.on(0,1)
6 O; D% d2 n& r6 a/ ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 T* ]% Y0 X+ \# k});
+ m7 K/ `3 {9 o. W) L4 C4 V) W4 g |
评分
-
查看全部评分
|