|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) W0 o0 Q9 ?0 t& G4 s# m9 E
1 B: F w9 a9 N火狐插件,用猴子# E3 M3 }% r$ `& L) U6 Q$ q
c" o! ^! m0 v" I
var debug=false; / `& J7 s9 A& c% t4 n8 L3 v1 H
var CleanHideObj=new CleanHideClass();, o8 ?4 C6 r+ Z; p1 _
- f. U' f& y# l4 [function CleanHideClass() . M2 S. L, J: J7 O+ m
{
5 U- l( }: l1 O0 P# ^( P' L2 T
0 ]$ |9 e5 S$ Z' R; E( b, D this.on=function(id,bMZ)0 b8 B: c! y4 A$ ^, z
{( X4 N; x( {7 V+ V& C! `6 ^1 Q) A
4 D2 d* Q; i! ^: i
if(id == 0)
7 ^. G7 h! R; |0 i {* P6 M' g+ W' J. i! g* q( L! W
var page=/* document.getElementById("content").contentDocument */document; ) a6 i/ [" t4 F/ w& c, J3 F' {
this.RemoveHide(page,"span");/ N5 u; b: j4 q1 e
this.RemoveHide(page,"font");5 I) E2 C+ v& V) e( N# C$ T
this.RemoveHide(page,"div");) }# H( [ P; b9 {& ]5 U9 z( ?
this.RemoveHide(page,"p");
: B$ o: s' u% c # J) _- V% @5 P+ e" x
}) X- c [2 K# _+ n# {
5 y; ]2 u, e2 Y
}
1 E: o; }/ n5 N9 |$ I* j- I, g7 S* } this.getobjstyle=function(node,prop)
. I" f) k6 c( L3 K$ \. Y {3 q, m3 s# R6 s+ M( i
try
0 P" F& m4 T9 g( i# a {
! \6 g4 ^' t$ j1 v# m% \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ x1 O( ~! A6 E6 P% U7 ^8 k
}/ c8 M, m# F% G( ~
catch(e)6 p# |/ q( |5 P" f9 M8 K
{
! ^# Y/ c% \4 Y( G+ d if(debug)7 s) }+ j- u2 F* k
{* E7 p8 O# E' k( {5 W- Z- Q9 @
alert(e.message);
8 w) x5 F& ?4 q# A& ` }4 L9 x% U" u0 ^! E8 N" ?- Y3 T
. I2 L4 ]7 r" \2 T7 k/ k. F return "200";
b9 |) s" J. D- @9 F }( k( @) o0 z( ?9 c n$ x, u
}$ t0 J' [# u, ~# G
: ` i/ c3 O, X* { this.RemoveHide=function(page,objname)
2 B4 g" G6 i/ {& m' V+ S5 @/ { {
/ H0 |0 |4 X' _ try
; z( w3 Y- m% B: F$ N7 C* d8 X A' v {, |# E) r5 Y9 K" V; G( E2 c
var minValue=15;
+ }! i: S) J+ G6 e$ m var objs=page.getElementsByTagName(objname);
3 [3 C4 W% D7 j' _- M! ^4 t0 ~# i5 N/ O/ M5 {: X& t. M6 f. H
if(objs.length == 0) 9 I% I: m* E& c1 k. c" J
{) m; j& M& V7 Q6 B
if(debug)
6 c2 Q3 r8 e( \, ~ {: u! g: X6 f Q# f: ~- ~5 B
alert("no object found!:"+objname);/ S B b, Q7 [
}
1 P8 v: q: ~1 V0 G }& D( \. r- h0 c" @" r1 }
else& \6 F7 j+ I; x& j+ Z1 d
{! Q; U- I: P# \/ ]5 M
& s j5 y: K$ R& g8 m7 \( d$ g6 x
for(var i=objs.length-1;i>=0;i--) , I( f6 X1 v( v8 d
{
' _9 F0 @* `( K; [: x: N, x var node=objs.item(i); * V! p q7 l7 x5 @* j
, d2 |$ }3 K7 E+ S! m$ L3 Z) l6 T
* b& P" a6 I7 M! L5 G- V
if(this.getobjstyle(node,"display") == "none" ||" v# a6 L2 w/ h z* ?
this.getobjstyle(node,"visibility") =="hidden" ||+ w5 A! u$ x% w+ p" G* T3 a4 `
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 K1 T" \7 U8 S2 R, N; _5 o
{
- l0 I$ c. K0 { j8 I, Z' \) q+ R if(debug)
1 o1 _$ a$ u6 m- w, a4 m {2 z2 i' R! f! {3 r
alert("remove invisiable!");
6 K* j# \3 S' h: X2 o4 q }5 K. j. q0 d6 q
node.parentNode.removeChild(node);
4 z3 H- l) U9 x0 j4 L+ h ( N# ~8 h: [5 B4 [/ E+ y
}& ], D6 ~) D' Y
else
! C( W7 b0 |% `* t {
$ X" j: ^9 e6 T. @. r7 h4 g$ @ if(node.parentNode)
8 F/ H1 ~5 O8 x, }5 }- D1 j {& u- C, f5 W5 g- d) a
var orgNode=node;1 }. W/ ], a% o0 r8 N; s
var orgColor=this.getobjstyle(orgNode,"color")
; J$ ^0 K! A$ Y4 m, l& H5 I var orgRGB=getRGB(orgColor);
6 u) w: u x/ {) B ! d! A2 j& j1 w9 B6 S! d
var parentNode=node.parentNode
7 q+ K2 O; O9 C var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 T* W; V) l8 B3 \ * W. d- l+ { C4 }8 T0 F/ ~: c4 p' d# k
var isLast=false;
$ |! Z& _ {2 U* e4 z4 f; L# M
2 r* L' `7 I( T$ J' _ while(parentBgColor == "transparent") @- B+ r: f. Y1 |( E
{
7 b o3 v" y6 h) e
0 |0 d, M* f, b- r) \ 7 N6 _% h0 ]0 b; D
if(parentNode.parentNode == null)2 w. x" n: {# S! L# N2 f
{
3 n% p7 J3 k" O( [1 y$ u isLast=true;
* V$ ~& \! p% ] break;4 F. M9 @, r' C1 u1 P. g" d
}5 I# ?6 ]1 H k b2 P
parentNode=parentNode.parentNode;
" s5 B9 k5 ]/ S6 l* q parentBgColor=this.getobjstyle(parentNode,"background-color");
8 C' N" }+ x/ ~& Q* E/ d: Y' E2 j# [$ T$ X) S$ @
if(parentBgColor != "transparent") ( f ?- r' m( q# J- L
{
3 `: G% h# [' r1 r0 Q break;
3 |, O* l5 v" a* Z }1 k6 Y% Z: B- |! R1 J) E8 S% s4 l; y
}
& _4 t" x! w8 F- M# V8 N if(isLast) , X+ I2 c) m2 J! X. w
{- w" j# A. y" E" k3 f8 p( W
if(debug)& g4 M% K7 t% ]4 ]6 J4 ~+ V
{
6 A( p, F: e1 B) y0 l( C alert("last!!");/ [4 q. W8 b' g
}
3 p2 Z( r1 k( p D, w: j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 d. B* d* p# ?0 _2 d
{
* s& \, g8 ~+ S; h, w orgNode.parentNode.removeChild(orgNode);
# Q0 E7 N& P! O6 t: E3 _ }; O) G3 q( n7 |- _5 Y
}* `# h9 j: N3 z9 u* U
else6 I6 F6 w6 L; `9 A% `& I
{! |: B- n" U. H0 B: `
if(debug) { p. G4 k( Z' z8 N0 ^" `
{
4 E0 }% m& g) d0 V1 l; v alert("compare color and parent bgcolor!");1 A9 j" P6 [# W4 g. g" M; i: A
}, Q% v r7 O# }6 t. g2 X) G
parentBgRGB=getRGB(parentBgColor);+ @/ Z# E: x7 d% Y) Z, J
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! M+ n* b% ]- X8 T0 R7 Q/ h, t
{0 R. i4 I% l- w/ }
orgNode.parentNode.removeChild(orgNode);
) i9 N5 x+ ], w9 [" w6 i- V; K/ t }, p, T, x# U7 S, `
}% ~, c4 P2 H8 ~+ ^' H2 D
}
9 B, r$ H+ P! {$ }( i# x }
% d* `9 F# s3 y5 m! U ] Z4 [% Q; U }; q+ v$ ] ?" t4 y
}( e1 r- a) a8 m( E8 Z) k2 T, P
! h- D3 @& e2 q6 I/ z: ?% {
4 S! c, a) m) O var itemFrames = page.getElementsByTagName("frame"); V4 p" t( d+ R2 h6 n0 O
var itemiFrames = page.getElementsByTagName("iframe");7 x& J o" m: U s( s. r: W$ o) Y
, A& G$ F3 ], K9 O* M
var frame, iframe;
! N/ S3 \4 S( G) F) T( P if (itemFrames.length > 0)
+ C3 n+ v7 @. y2 o {
7 M8 n3 E+ F* B for (var i = 0 ; i< itemFrames.length ; i++)
& o/ f" F+ ~: H" ~8 N. v' A {, _' y3 t7 L# }
frame = itemFrames.contentDocument;; U* m7 @; l! y7 b V) A; s3 p
this.RemoveHide(frame,objname);
7 Z1 G+ k/ A) F' Y. v6 O' a }, @% @- Q& a6 \( w: w
}
- B5 x% B) \9 ^4 ]: l% s: G if (itemiFrames.length > 0)* ]+ L7 i' w: A8 E6 ]" @1 _. F/ `# M
{' @' J( e/ v/ Q$ A2 Q7 C6 G+ I
for (var i = 0 ; i < itemiFrames.length ; i++)
. @3 h9 K, q: O {
: q1 T& s) N) ^ [, J9 l iframe = itemiFrames.contentDocument;, R2 Z( c) ?8 `) E- r7 w$ |
this.RemoveHide(iframe,objname);
% c; l# k5 K d! M, h7 N8 N" D9 E }2 G) M9 o' v, K: L
}
" b7 V, B7 k$ ?# j. K1 { }' a O4 B# ]7 e) ?
catch(e)+ l+ ] {( Z# V0 @" I2 E
{* S! _) U* ` l/ _6 r* @
if(debug)7 x- i; m. R' L* e( x' [+ |
{
+ Z8 _/ V# M- ^& p alert(e.message);
* K6 f% ~$ }5 p5 i; W* ]6 G8 T }+ m h" ?. _ ]/ t
}3 z! C' i/ W( i2 J0 y3 n
}! L" \* g* ?8 l) O1 N2 Q" i# R# d
% [' i. d0 n4 y' A6 R
}
- B! a( K }' ~$ F0 t( t* p. g' c+ z5 q! _2 r9 h! C; {
function getRGB(colorString)$ J2 F& r2 o: _4 \5 F
{
- d: k( O$ b9 G1 L' H" Y var RGB = new Array;* q. J7 [* C* s2 b. s! [1 T
var tempSting=colorString.substring(4,colorString.length-1);
( K+ }: }, q y var tempArray=tempSting.split(",");
( d/ E/ E7 `# U: l' s4 ^2 R }3 w+ c' ?; w
RGB[0]=parseInt(tempArray[0]);, S$ L: _0 D7 H2 F: n( Y+ v
RGB[1]=parseInt(tempArray[1]);) }) M1 t# t, s: ^
RGB[2]=parseInt(tempArray[2]);6 m' O0 [: o' i4 q2 }
* J, | Z3 b3 K0 h1 z return RGB;) ~+ W$ T1 {+ {( M, K% |5 P
}: x% x. N2 \' g* F. n
function keys(evt)
+ ^+ M' V) c% B0 e+ T# W0 c { . n4 L' I) o* l" ?9 N/ @6 i0 e
if(evt.ctrlKey && evt.keyCode=="81")
6 m( P) u( z- f' r p- d7 e {
! A P( O% K! Q CleanHideObj.on(0,1);
, V2 a, i; S) @. Z4 k5 k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& D' K. `6 \. I8 U8 q: u 3 r/ p8 K r$ R1 D9 h v' ?* j- a
}
$ T4 Y5 T' S2 q$ X- {$ U } 8 `' O6 g' U; y# d, B) F5 {
document.addEventListener('keydown', keys, false); 7 y* [+ e n0 P' L( k/ Y ^
GM_registerMenuCommand ('Clean Hide',+ H, c, @9 t0 H9 |) K
function(e){
. w# Y, Y/ J4 a# tCleanHideObj.on(0,1)
9 `4 |4 u" V. ?: Z# D7 walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ y1 P; F4 U; Q. h. s' S
});- c( L3 S, _3 o+ T
|
评分
-
查看全部评分
|