|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 I. [; L/ x. w" u& x4 E1 s, r
' Y& B% \, |6 Q$ K, j) T$ H
火狐插件,用猴子1 v# _! l0 z9 C" c# f: z' P9 r
# I! e- H' Y$ O9 w" Y
var debug=false; 9 M8 u" _8 Y' O/ `
var CleanHideObj=new CleanHideClass();: i+ |$ a( O; {5 r4 A* o9 G
8 e# p' S& Z5 F* ?function CleanHideClass()
0 f7 @0 j' H( F8 P{ $ w9 B$ B/ A, ? }2 x- B- Z
+ j0 H6 m' {- A9 d3 u$ H+ [
this.on=function(id,bMZ)) |9 @3 H$ B7 k+ l
{
1 S- ~( X O' ] 6 P, A4 a+ I# Q" s, y0 l( B
if(id == 0)
; Y9 e8 B1 l- d$ y {" D7 x1 B8 R" ^) j0 N' z
var page=/* document.getElementById("content").contentDocument */document;
$ i* i1 g2 O/ T4 W) M( |) ? this.RemoveHide(page,"span");
" }5 p: n$ u% A9 P" q! g8 Z0 F this.RemoveHide(page,"font");* l; R" v" J9 j5 j M& n( |, F. p
this.RemoveHide(page,"div");
' @4 ^/ e2 J) j this.RemoveHide(page,"p");
k8 B' M2 \2 C; i
$ I. T# C1 |7 X& e% U }$ Q* E2 V }
, W! M1 [, w& M# h2 c
; W4 l9 E/ \+ b3 F/ | }
b P. o% b8 K this.getobjstyle=function(node,prop)
; f3 C# h; k1 ]# o6 [. P! p6 x2 f2 l" W {( ^ S8 R+ O2 A% ?) z: J
try
" Y- O9 T% T3 I$ U2 Z8 L8 V {
7 V. Y: L8 `1 i# n; e1 J' X& U return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 ?; c) k! c& J, E, J) O
}3 ]2 x! s5 Q. | v. _
catch(e)0 N ]2 x/ w2 u) _3 k( x
{7 I& y9 N6 _, z: {' I6 y7 ~3 s
if(debug)
6 b! x$ T$ Y I( v: I- i5 K& R {
8 Z2 S* n* ^) X: g; d3 A3 u/ M alert(e.message);* U& d8 b. m7 @
}
6 s: A: D! N* H" z1 c . C3 t8 r9 ^: k3 e5 j& {8 [; L
return "200";( S) c3 D* ?2 j. W
}
$ p2 [2 ?" x7 S% v& g }! E& I$ Q i3 b# e9 Q
" M' H! }9 P& J" C5 R) g0 o; x6 _
this.RemoveHide=function(page,objname)
S& v9 `4 x: J* ^' u; K {" o. k2 ? s6 H* E+ P0 V
try! G% ]( X: K! ~
{
0 I" N/ C D; V3 d4 o1 I var minValue=15;
1 b; o7 g# Y2 u1 V& g var objs=page.getElementsByTagName(objname); # }, l4 ]9 T8 N( @5 W, c$ ]# O9 F
/ \/ |& u- T- K( q, l! D
if(objs.length == 0)
' [2 ^8 r1 k6 m$ p {$ P: D3 h/ ^& M* E
if(debug), ~* ^' i1 ~0 t3 C8 h) z
{7 C3 b U5 h3 P$ r
alert("no object found!:"+objname);
$ |8 D* t+ I/ R( S$ q' n0 i6 M }# y: s4 X0 h3 m
}
3 Q1 p+ I) Z3 ]4 Y. }% `. t else
* O4 K& H3 W; p0 ~' p! g {
- l D2 P- {& ~1 A R: i( Q
, d( f0 L0 t1 u9 t1 {: t% c4 ? for(var i=objs.length-1;i>=0;i--) 5 ~2 } j+ B8 ]# Y- q+ R
{
- L) v4 a R6 @" G/ O0 t5 T$ c var node=objs.item(i); % T7 q9 H; [3 T( p! |
/ X" q1 c3 W' N6 k8 L- M! j
! s# p5 o* ~. }% e- L+ r3 S9 K; y
if(this.getobjstyle(node,"display") == "none" ||7 u8 ?6 _9 e/ E& L; q: w( _
this.getobjstyle(node,"visibility") =="hidden" ||4 ~& ^6 U, c) v' ]& ~
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 G' o B5 P+ ~& a! ^, d4 h
{
8 {% |) z1 H. g" |+ ~) W9 g if(debug), E9 V2 m5 g p# ?: K4 H+ x3 f
{! ~# [6 I! |% ^, b5 U
alert("remove invisiable!");9 ^) [8 d# @! D5 ]5 @4 Y; m
}
+ o$ N# O8 w: a' k2 L% l node.parentNode.removeChild(node);
3 I6 F$ O( O1 O
n+ c% l! {! |- r5 ?" o }# f# p8 s5 }6 w# ]4 S& A' c }
else
/ z4 ^/ w+ G5 a/ G; C+ V! Z {
7 ~' I# i, l# l' U# Z% U/ k& R2 j if(node.parentNode) 4 ^! {8 ?: j8 E" C/ s
{, m* R& }' [2 x7 m! L+ R' ~6 n
var orgNode=node;
7 j/ H! [9 L+ l) p$ \ var orgColor=this.getobjstyle(orgNode,"color")
# A/ n+ U* l1 U" M( h var orgRGB=getRGB(orgColor);
& [" s: ]9 P0 ^6 g& d7 y * U* E5 {% n' N
var parentNode=node.parentNode% M( }! Q% t% O4 x
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ ?7 f8 i- }3 \0 S! K
: d/ N8 I' K* E$ `5 I x4 }
var isLast=false;
7 m. D4 a8 s I; b B5 C
9 L m Q6 V: D2 v while(parentBgColor == "transparent")
$ T" D1 X. ~. Q) V5 g) u7 g- s {- |) S7 v8 r( Z- o) q8 l
9 |& p; S9 s; F3 ?! m 3 i# L3 z5 _) e( N q8 u/ d5 R
if(parentNode.parentNode == null)7 D' _. P3 b; Q+ Y
{8 V9 \5 n* P" r7 `6 S0 E: B& d
isLast=true;- f7 b5 v& l! R# P3 O8 `
break;5 L# J9 h0 e" r
}9 d& R1 ?, L; C* ?3 X5 t. |! C) M
parentNode=parentNode.parentNode;, |+ g: H B% f! E( q# v
parentBgColor=this.getobjstyle(parentNode,"background-color");
y; g, f- ~& u; E: w8 R
5 l4 |$ C# n. Z! \2 b if(parentBgColor != "transparent")
" y% z- f& D ?8 ] ] {
2 x. m* N+ V% R! b% } break;& L+ Z* u( i0 C7 `1 w( }" R' ]3 Z
}
! n: B6 s0 J$ B& ^% g }: e6 v9 z: ^+ \7 q2 N
if(isLast) 8 ~: ?/ F7 r" Z
{
5 Y: x: Q1 ^( r s8 M if(debug)- C9 N: F- o4 h5 ?
{
! T2 Q# m6 S4 n. y) \ alert("last!!");
! G; Z: n7 c* f) } }# y" _3 ]; L' R7 M% j4 ]
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- b5 N) M# L+ f; C0 B {
) m' x1 O6 K) t- }# V+ D1 t orgNode.parentNode.removeChild(orgNode); : K! _1 q# P3 M1 L9 ?# h
}
" y7 \* h% h$ I5 x/ ~6 ? }! Y, x8 `, k, S$ U4 B5 b( U/ g
else& x: \& ]7 w0 C: X: J9 x
{
4 S* [+ I4 }* ^. A& I! H% ^2 d if(debug)
- W$ O7 p: S# |6 R y3 P; J" H, B. c {
# x# [# K" `( d$ i& H1 ]) j# ^ alert("compare color and parent bgcolor!");9 Z5 ^( c$ _. T6 \
}
' T. o! |9 f0 U9 i- ` parentBgRGB=getRGB(parentBgColor);
( G/ I( a4 `- J2 K5 J1 [+ q2 E: ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ `6 _0 V6 U) X4 U* B0 n+ R# ?
{
1 F3 o) V5 i% t1 s. z- G orgNode.parentNode.removeChild(orgNode); N5 Y! R# h7 U4 U# j H: l
}
2 m" \) `5 `2 w1 [5 s& c* F& _4 x }+ b; E2 @* ]- E$ [7 \
}
) T. E% h" l7 S2 t. R }3 N# F- n* N: U1 k
}
, F5 G2 O; I2 { }& f$ _: q) b/ P
3 \% k) g# m4 A6 d8 k$ R
. b! b8 ]6 @9 P! Q var itemFrames = page.getElementsByTagName("frame");
1 s, l# J. K! {3 f f var itemiFrames = page.getElementsByTagName("iframe");
2 I8 ~% R) D' b8 w; _( w9 c$ r- [
2 w4 B! z0 A- f6 d" W var frame, iframe;- {3 s1 W5 `% [+ J$ }! a
if (itemFrames.length > 0)
. ?6 @4 r* Z- E$ ?; X- N7 V1 j { p3 R, p$ ~( H1 W# P
for (var i = 0 ; i< itemFrames.length ; i++) 5 }3 |4 H6 `2 |% j
{
$ u2 r) n- c; u6 F0 t frame = itemFrames.contentDocument;* d8 V/ Z: o, Z/ n
this.RemoveHide(frame,objname);
; O/ V6 O# A) {; }2 \+ i }
( }* S7 [# m* c4 w! C+ A; D3 H }# m, Z% W9 J0 l6 ?- u+ o! b
if (itemiFrames.length > 0)
( U" g0 F+ b& F, } {+ w" z9 g1 s$ e# U& Y9 g& g; m! E
for (var i = 0 ; i < itemiFrames.length ; i++)
. l! {" L0 B7 S, r% |3 m8 D3 ` E @* p {
( q! K+ O; I2 J iframe = itemiFrames.contentDocument;& a- Y2 k6 O8 h- ~5 r: D; \
this.RemoveHide(iframe,objname); + v* G: q- L( m7 F" i
}/ p& a- r1 C) ?5 K% H, n
}3 m4 }, K2 E* O+ i3 `$ p. S
}# U, {; B1 G+ C5 w) H
catch(e)
* i2 b$ i: \, K" M( L {/ f& V! j6 F( l9 g
if(debug)
, ]+ `8 N) p/ K2 e8 ^ {
$ j3 y( R7 D2 _# y* l. L7 k, [; m alert(e.message);9 W( b/ `9 w9 `: z+ q$ I( W' u
}5 N# j5 j2 V0 T7 s A8 W
}' }, d; z" T m6 K
}
Z: A5 `7 _' l2 y/ y8 u I- ]+ U" Y. h x+ s& `
}2 E$ g0 C: |* S O o
X2 Y9 L0 ^8 o4 \8 V
function getRGB(colorString)5 o+ O( e0 Y0 P6 \# H# t2 `
{
! [! Q& D/ G( h, r) h) \/ W4 y" D var RGB = new Array;# G* D7 T+ |# J$ _7 ^
var tempSting=colorString.substring(4,colorString.length-1);* _& `9 } m! i$ r1 ^/ v0 n' _
var tempArray=tempSting.split(",");
9 a) ^ k& j2 h2 C
Z$ b( a( p/ G. J RGB[0]=parseInt(tempArray[0]);
7 h% s* v P, x, ?( g RGB[1]=parseInt(tempArray[1]);
3 K* ~1 o0 v9 r; P RGB[2]=parseInt(tempArray[2]);
$ x, H: j) k& F% [2 y8 \ 4 r& T. }- \2 M4 C$ K% ]0 ~3 y
return RGB;* W V8 s0 C' e( W8 q; b
}
* [4 s7 a! {8 O, [7 x9 }6 \function keys(evt) . }8 p3 ?/ X7 I
{
: L5 V5 G6 U0 K& Z/ D! E" I if(evt.ctrlKey && evt.keyCode=="81") * m5 |# p6 B+ t1 f
{
! t- O2 T' n* Y- E! c/ k CleanHideObj.on(0,1);
" Y' m6 i0 m3 H5 V4 h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 S$ w+ k H3 T1 w* E' k
. l5 j; q% v) e6 s0 w/ j1 _( Q } ! i v: l+ O8 _6 }1 J
} , s: ^% Q1 D: H
document.addEventListener('keydown', keys, false); ( D* g, O! f: S8 T; c9 g' A
GM_registerMenuCommand ('Clean Hide',. g' b$ r7 q3 `! @
function(e){
& ^: O7 S7 ^# u: ?8 v, RCleanHideObj.on(0,1)' w3 Y# e( R0 {& t6 f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- J! c$ P/ D9 y+ l7 ^+ K});
$ r1 N' h' @9 j5 ?4 p8 o! H |
评分
-
查看全部评分
|