|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 Q9 [: G3 M! X/ w( r2 O0 C U
0 K- a" }6 Y w+ X火狐插件,用猴子
& i, m& u1 Q9 r% a/ m( f6 q8 ~! x7 k
- F, K4 U4 v9 ovar debug=false; & S$ N$ n/ \; {: r& t/ e# Y4 W
var CleanHideObj=new CleanHideClass();5 a7 [" |6 L1 c8 A0 Z% N6 u
- d7 i0 @2 E6 T; R* @9 }7 x- T
function CleanHideClass()
# j7 `: j: |2 I3 v6 g& A{ % [/ n# U `4 L p! a1 Z
" b/ X" o; O$ Z, _7 h: y/ q
this.on=function(id,bMZ)6 g% ^8 W$ u5 D! ~; e8 n6 ~
{ y. }: z1 q# y2 P- _3 C$ Y' s
# \1 G8 u( X: L& D+ _% _. C% w
if(id == 0)- u( I% S; k% C- F1 q. i) ]% H
{+ l+ |2 m7 V8 t5 x! {
var page=/* document.getElementById("content").contentDocument */document;
, ~9 j% t% {% j' C, H4 v8 C# I% z this.RemoveHide(page,"span");) f' K3 a2 c+ U
this.RemoveHide(page,"font");$ ^8 V& U* m3 p+ L; O
this.RemoveHide(page,"div");; M! v& H1 L, m6 h0 n% R
this.RemoveHide(page,"p");6 X8 E/ B' z: k1 d! s% f
7 ^1 G8 I! I9 |2 z' f }
# }4 N& o- K: u" @4 r 5 Q4 k R0 o; d9 @, e
}: ]+ d* N3 l& B+ D: p
this.getobjstyle=function(node,prop)- }' C: f6 M( a5 N& U& f
{# w5 O" q8 C' e. H+ b3 D e$ p: o
try
5 D/ T& g: Q% h {. o N4 E7 m5 h; S2 `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 G& S9 T6 M) l
}
( F$ @1 I- J4 o catch(e)3 f3 }+ P4 ?& S
{
6 N$ D' O" I/ R! R! e q2 z0 { if(debug)
_# _8 x( t" i$ H {0 ], w @, W7 i( M- q
alert(e.message);
8 L1 c# |, ^- {5 {. Z }
! C' {$ S& ^$ u' F 1 m% t) t1 ]0 Y) J4 u/ T6 U
return "200"; K3 n- k. o! e
}
, x( _4 B' s$ |' M% v0 |) x) z) N I' { }5 `! j! t. Z" H7 I( n
) c! |1 L" v* }$ @9 d, [" @
this.RemoveHide=function(page,objname)% i- y) S7 ]9 l2 `8 T
{, R/ f) b8 m$ W8 C7 z
try
/ s$ y; P# c1 v6 n' D; T5 l {
2 p0 R+ y O0 E var minValue=15;( J, a9 ^5 Q1 G" E* f
var objs=page.getElementsByTagName(objname); ' | p0 A* E1 F4 t( I. Z
. w8 ?; M% z. k
if(objs.length == 0)
8 h9 z- X6 \% _& l& d {
7 w' Y! O. h! F9 I5 n6 Z* J if(debug)6 B# J- N; K) q. `0 m8 u+ T
{6 ^0 Q) \; @1 E- c
alert("no object found!:"+objname);6 m4 m% Z1 F$ c* S& g& O' d
}, E6 t: b5 Z& p$ H1 g
}
' A9 z5 Q, P3 F else
' G y: O% @1 _ {
2 s5 W/ K! `3 |5 H
! z% y- B" N; Y" P1 Y9 x for(var i=objs.length-1;i>=0;i--)
/ w" t9 \, w, [: P5 c( {8 E# ? {
; G$ i9 ]- p: v7 x var node=objs.item(i);
$ X# d9 B9 a" `" T' ?# L) i+ L
6 _. u ~. A. X* H1 h6 M2 ?
* H0 H% Y+ {0 y0 Z if(this.getobjstyle(node,"display") == "none" ||
' R# Y, D5 H) X$ b this.getobjstyle(node,"visibility") =="hidden" ||9 ]1 |4 x# f' f6 H8 |% X5 ?
parseInt(this.getobjstyle(node,"font-size")) == 0)
! r# m9 b6 [6 F8 y, p3 G% s {
& w5 E z& _% G, T9 ` if(debug)) V$ i' `! v8 {; I5 C- V
{' i) O8 q/ O/ T
alert("remove invisiable!");
2 c5 N( S6 R3 m, [' k }
7 \ b" @" n- o' a [7 Q node.parentNode.removeChild(node);% g' U; X9 x9 N2 c1 W& }' a
) D" ~( Q6 D5 j. [
}
& R$ s; ?; L% Q1 b% b else
- J$ f" V8 g9 ?4 E2 Q! O {- H0 k+ |# i% \, R
if(node.parentNode) : ~& j, B% l+ s/ E* H$ A
{
# f$ u8 J! X# k. G# M* V var orgNode=node;. H N6 S4 }2 w9 p
var orgColor=this.getobjstyle(orgNode,"color")! N8 Y4 v; m1 @% ]; {5 v
var orgRGB=getRGB(orgColor); 6 t) J% b9 N- o0 q4 [
/ }9 i6 U' S7 I" H& K' H6 h( _4 A
var parentNode=node.parentNode' c' R/ I& Z1 D' H
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 d* d+ m* f9 i* W0 K" q! g* B6 B
4 X4 L- \% B, U/ A# B. k5 j/ i: ~
var isLast=false;! X; _ }, K3 R1 ^. m' @+ O
- e |+ f& j/ c" K* x while(parentBgColor == "transparent") * }1 J: ? q0 g
{
+ u' W1 ^! ^0 ^
5 O5 L! S* p% E* C
; i6 D- @: m1 {6 D if(parentNode.parentNode == null)
, j; w" J, B! B* i {' d: f- X3 ]& c' H
isLast=true;7 C f( p& D. _: o. F2 }& A
break;
. t" C# R$ l4 B& J0 u }3 N$ g$ g5 ~& Q9 E+ Y% G6 Q: L
parentNode=parentNode.parentNode;
6 l& r6 K0 F* G4 } parentBgColor=this.getobjstyle(parentNode,"background-color");
3 ?/ {' I! k. d$ d' \2 d5 b2 W. v0 @3 j- _" m
if(parentBgColor != "transparent") 9 N" M0 _: W% O' I6 t% N
{0 } K" A4 {% b* j: ?. e* V' c- z
break;1 f5 f4 X' T% a" m# g! |" i$ @# [
}
* @/ c) T# w l. f }
1 K; X- a5 N6 n# P if(isLast) : b. z& ^3 Y3 l/ p5 A' f; {
{/ u+ J7 d- c7 S
if(debug)
6 e- Y" r; u/ C& f {
" n$ s' x% C6 h4 n9 L& v alert("last!!");
8 |6 u. H: j7 `8 l }
; o* B( K. I; t& T, s) o8 s7 c' p' S4 U if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 ~( T( c. u9 T. v3 @ {/ M6 H" B: H& A% a4 l2 d3 X- D
orgNode.parentNode.removeChild(orgNode);
" R' s: j5 s: D+ E& y4 x }
* k( `7 S2 y2 q O' M6 y }
/ @ e u/ A7 e else
' m k( k6 V- U$ X; [8 b( H {6 p! N) F) I5 X, _
if(debug)
7 j6 l1 | G# U. L5 v {
: [# [9 z7 E3 R$ H! H' L alert("compare color and parent bgcolor!");& b$ m" F3 q! U2 {% R6 V1 o
}
8 v1 }2 m1 Q% y/ }; U8 l parentBgRGB=getRGB(parentBgColor);
9 S! @' F m* r0 F4 X5 M( _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); T; K' k: G9 M( e! F1 o- a
{! R4 ~& h9 \6 J( O* ^ }1 X- J( U
orgNode.parentNode.removeChild(orgNode);
! `/ t& T6 Y$ p- p+ O }
+ ] a {+ Y- G) S) R }
, o: ]% b% R. _' u: Y3 H }
- g; t* J v1 L }6 Z- b$ F9 N8 C* j5 W$ j6 P9 v
}
6 O/ Z; Z& \7 z9 E0 ?% j }
5 Y: {6 ?: h# c. y2 n$ q+ P * N# [4 X7 d+ V# a, k& i$ X, }
7 d4 F6 X# |3 w" L* K
var itemFrames = page.getElementsByTagName("frame"); }9 N% C4 N! a- J+ T9 W4 q. B
var itemiFrames = page.getElementsByTagName("iframe"); ]7 M6 {" ?4 u5 d
e+ o, u! v8 S. I& R var frame, iframe;
+ K2 ?! A# W! w/ X if (itemFrames.length > 0)
9 l) z# |$ n( {+ x# u0 e4 f {
0 j5 O9 f1 Y$ G% U5 H8 W for (var i = 0 ; i< itemFrames.length ; i++)
: g8 Y7 Z0 d( k, q {
$ H% e3 E) c$ c7 X e" ` frame = itemFrames.contentDocument;
% H) `" p R9 y9 x. S( w4 S8 }8 x this.RemoveHide(frame,objname);
9 C. Q- W- i3 P, Z2 o& o$ Z }: P; n9 o) n9 v1 S5 p2 {) s
}/ \0 o& h7 s: X! z" d. q# \
if (itemiFrames.length > 0)# P% |+ w) w4 i6 q. A# p2 P
{
( J3 E: p4 A3 P5 w; X1 K) n for (var i = 0 ; i < itemiFrames.length ; i++) , ?4 f, a( ~0 G U; Y
{+ N7 D H7 \$ \
iframe = itemiFrames.contentDocument;
8 j* }8 O2 i) r5 U. w- V6 y- P this.RemoveHide(iframe,objname);
# L, { s/ `+ [$ b+ O. F; E: U }
7 g- a( r" n9 ^7 X a1 M. q" `9 j }
4 {3 O6 @1 R P( a {* }* k( s }5 T3 L n$ { ~1 Y- v
catch(e)% B: A' v( d4 m J
{5 n" g2 V" m& E- \
if(debug)
+ b# Y S+ O! W, e8 |' ^0 W {
! X$ s& A' V/ g: \: s9 ] alert(e.message);
0 n/ O+ O% y5 J9 L% ?2 x; ]. e2 N }
- g/ \, E" r2 V+ Z! F0 T2 D }
& T8 n8 W* M* Q4 I3 R* c }' Y4 b* G) s _9 h
( X: L! r4 U7 j6 O7 l# f' C
}3 h8 L6 i4 p' G% O8 T" r* V6 j
" Y n3 k, z# j4 C5 b7 _7 u: `
function getRGB(colorString)
$ i1 R* S& K% O) `0 n0 `{
8 @9 w( h5 V2 R( e2 x var RGB = new Array;
7 U4 ^) c+ g- R$ q/ `. c2 _9 b var tempSting=colorString.substring(4,colorString.length-1);4 H5 v3 F" a4 v |- f
var tempArray=tempSting.split(",");
8 u ` F% q G) e) j
+ x+ B# ~5 \2 w% ?; h* _* E6 q" U RGB[0]=parseInt(tempArray[0]);
5 q' o! {3 K: F6 p& q1 x RGB[1]=parseInt(tempArray[1]);8 {0 }# m z8 d7 A# l5 t) P4 C
RGB[2]=parseInt(tempArray[2]);% ?- Y* x, ` ] |8 _/ E3 `
) r1 |$ Y/ G# R
return RGB;+ L$ T: \# X B3 w5 }$ K/ \+ N
}4 C0 [4 n) T( P- B, s! J, G A
function keys(evt) 3 A a! H/ \/ q# ^3 |/ Y
{
6 k8 O# F! r# c# L: b3 l if(evt.ctrlKey && evt.keyCode=="81")
# \ L1 B. G9 P8 c { + G0 M5 x% G5 G1 y7 e1 X
CleanHideObj.on(0,1);+ w9 K! N2 u: m1 [$ U2 P6 @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . [" l! D) ?9 b
$ M" @6 ~8 X. B% R- s3 ~, G- ~ } " S1 d( z0 h( z
}
: J0 V q. g! t9 c# r# Ndocument.addEventListener('keydown', keys, false); 2 \* \9 ?: B4 a
GM_registerMenuCommand ('Clean Hide',
& e9 b" q* a( r: u& I6 wfunction(e){+ M2 N* I. @8 J6 [9 X' S
CleanHideObj.on(0,1)
- z4 m8 ^% K2 D* J, y; |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, U( u* ]: j& N
});
4 Y& E2 V) G) c! P |
评分
-
查看全部评分
|