|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 w" e8 P6 Q3 U( E
. ^9 ~# p X* m" ~. X9 a2 {0 Q
火狐插件,用猴子7 e: G! Z2 {: e! F; o3 c
* Z: M7 a# p& q$ ]1 i( O) z3 dvar debug=false;
' E; J4 N# H# ?% Q0 c) o$ lvar CleanHideObj=new CleanHideClass();# H2 j; S4 z( g8 e
Q# ^1 o5 g3 L: `. yfunction CleanHideClass() % d" y( e4 o* R5 \
{ : t0 F4 O& G% t2 f5 J, t
# Q, X4 R% H2 _" G0 d
this.on=function(id,bMZ)
) I' `% ^# [8 h) m {
* |% a& d/ r, Y9 k' A+ [+ t
! ^2 O4 l4 ]* U$ m6 B6 n4 R# y* E if(id == 0)
- R* d8 K- Q8 t0 o& q! |5 s {
$ p: @ e5 y) k4 T' @1 F5 o" D var page=/* document.getElementById("content").contentDocument */document;
+ v" r$ z7 V0 W* d! D this.RemoveHide(page,"span");
8 A# s! e& F, `5 r this.RemoveHide(page,"font");
; l1 z/ z8 a- E+ I this.RemoveHide(page,"div");8 K& a$ |8 B* ~. f+ j# O& ?& ?' k, R
this.RemoveHide(page,"p");
" q- X; _# h; i# b" {
* P' R- Q* \6 E H! _# F( Z1 W }$ w& D% e* P& y* O" B
6 @' n, ~, ~& L" U, j' L/ v: s
} Q' M) e' {3 o" y2 m- p
this.getobjstyle=function(node,prop)
" S, H8 Q( l9 h* E9 ~, ] {0 k$ p/ ~. ^. X" p
try
; {- u* M; b6 W* F0 C1 d {" j7 N& g. E8 Q5 ^- o2 {1 v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: T J0 l4 J! y' O) p. p1 G
}
$ z9 `. _; f4 A# x0 W# b catch(e)
# Q8 [ B+ P% ]0 Q x t9 G {
Z" S+ L2 U) X4 c) W if(debug)
; B# ^4 L7 {: w+ P" S {# S! g7 O2 [( a8 g: M2 x
alert(e.message);5 {( P! x$ g1 E& ]; n' c5 h# H
}& o0 F+ ]$ @* Y, M
: F1 Z1 [- A1 f5 t% j return "200";1 u" x, K- F5 R! }' Y4 E) C
}7 \0 e2 I/ ~' Z) h. S
}
8 w" [1 W, A9 F2 F) V: v" q- b
% x- n s( q1 c3 h" V' N# V this.RemoveHide=function(page,objname)
* u" Q4 R* a0 X" l3 P {# X! H) h8 y+ } ^* A+ a
try. ?$ N6 t. y9 C) W1 c( {! C
{8 B0 c4 Y' F! @# p8 z4 H
var minValue=15;4 }# a0 ~$ z1 C6 d0 o1 i/ B0 b
var objs=page.getElementsByTagName(objname); / v1 m" k0 ^7 f/ f% h) x
0 O8 R0 w# |4 y( e
if(objs.length == 0) 5 t S. a/ v* p1 E% G# ~/ g+ C
{$ F8 @: J$ h- |( e' A4 P( M& ^+ h
if(debug)# N$ f# L+ R6 p
{
" S3 m) n/ @6 c* S* ] alert("no object found!:"+objname);
; n+ E1 }8 ]+ x1 } }8 E2 p1 I- x9 V+ J; [
}% }8 z( I m" P4 l' X) X3 p
else
1 e6 n& l( _+ E4 s4 g" ~ {
8 R/ M& C8 I* N. k1 J% V
8 p. `% i2 Y8 i: b4 O- c for(var i=objs.length-1;i>=0;i--)
' r# z* v- Z8 \: v4 G9 v e+ c+ G* Q {% h, `5 J; V, ^* G$ ^: L# {
var node=objs.item(i); 7 b3 O; h: i1 T$ _/ C3 L
5 e0 z3 p. c/ e9 [/ X* v
+ t5 Y, p# c/ ~( ^ E' H2 S) w if(this.getobjstyle(node,"display") == "none" ||. T9 S1 i, y2 p7 n3 g" k, a# d1 \8 w. h
this.getobjstyle(node,"visibility") =="hidden" ||
6 E$ i" j, h, H. [ parseInt(this.getobjstyle(node,"font-size")) == 0) 6 z0 r/ N" G" I6 ]
{0 g$ d* N+ x6 R" e! o! T R
if(debug)6 m# J" [+ S& k
{
- Q3 Z$ w5 C ^% H# t alert("remove invisiable!");
$ m% E! X$ O: O9 U }
3 [2 ~- u7 S6 h( {7 d8 j3 P2 v node.parentNode.removeChild(node);, o3 u% N& E; j; O6 X q' W
8 R( C6 T4 S/ f$ _ }
5 O8 i! y+ Z0 Q else 4 Y" T; n4 T! ?+ J: ~% ~+ |& H# h& c: M
{
3 \/ w+ o! d- N/ Q0 Y& D* H* r if(node.parentNode)
% R, |8 } Z% |9 i {
' M2 [8 T& |+ u var orgNode=node;7 p; E- b2 x$ `! \$ z) e# ]
var orgColor=this.getobjstyle(orgNode,"color")
4 f0 `' p% E* Z4 [6 a; @& ~ var orgRGB=getRGB(orgColor);
$ @( o* O0 D) Q1 `* F ) C, V0 [6 [6 N# k& `5 G
var parentNode=node.parentNode
! }) c( V1 b! B& y2 C var parentBgColor=this.getobjstyle(parentNode,"background-color");
' f& h* j1 @ K) I& y
1 h! Q& W2 D! G2 i3 b0 I var isLast=false;. t6 N7 {- o: z; F6 B- h
6 g6 B- [+ u- j8 g7 }( ]4 J" m while(parentBgColor == "transparent")
/ S$ c% N1 T1 e" ~) W {+ l4 v/ Z; T& R. l& @- ?
5 |' n6 w6 S! V : l/ U) e" C* ]3 a! K# f: U
if(parentNode.parentNode == null)
2 ~" T9 n: S5 x3 `: @( s& Y2 A {
$ s$ t4 ^) _& i P1 F% m/ N8 I isLast=true;. ^0 }) `- c: |6 k3 s
break;
& l, s1 \+ c. e( l }
. ~! f6 m* ^& G4 H Q9 F' V5 v: F parentNode=parentNode.parentNode;
* d; ?$ a }% J# n2 [4 w. R! f parentBgColor=this.getobjstyle(parentNode,"background-color");
- k3 H! H: h/ w( Z! b( i3 T+ ~, U
. F! c; J5 W1 z$ C- a) M if(parentBgColor != "transparent")
: a. o$ J; _/ R {
0 o5 k# B% t( {6 d! h7 C break;
' E% N: _5 t8 N }& D: a0 @" r# x }& l4 J+ T: J9 j9 Q
} B: ], ?4 ] w0 D' |& m
if(isLast) " X" a8 T5 M _, e, x2 K
{
" a/ a! M% {3 C5 | if(debug)
) p. \4 G2 w1 s, a! G& G {2 `. v, c# i: r, H
alert("last!!");$ J$ @7 r1 F2 j. Z3 w/ c) S
}5 ^2 u% W2 o9 b$ M; y& P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 n0 O# A& R4 q0 h5 v0 Q. ^ B, R: j
{. z0 ]4 ?! S/ k
orgNode.parentNode.removeChild(orgNode); , D5 u) r% N! y( Q, _
}4 l" ~$ B0 _2 r- b6 H
}
8 M. W: X- `: d) t! Z6 K' S else
; K" Z' n- x. w& G {
; r, T5 d: f( j* P' G- _ if(debug)- H. G" l$ I1 y
{
/ ?4 M% X6 O' j4 l" \) J$ C5 O alert("compare color and parent bgcolor!");0 Y+ ~3 {+ w" L# \) H% l/ T$ N
}" D3 O% L, V& }
parentBgRGB=getRGB(parentBgColor);
, ?: r& v, L4 I4 w# \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. M1 y! P1 }. m O# S/ b8 Y( J {
+ z. m; f) z7 G: n# S+ ? orgNode.parentNode.removeChild(orgNode);
: I" q z' f+ J }4 ~: ~6 H! a' I/ B
}' c3 q) I% ^0 I3 S' _
}
& C' B# ~* [0 Y6 D }# |$ i- q9 A; i0 f O0 G/ J
}+ E8 [! h) o1 A; z3 y5 z$ o
}! ? i8 t- |! ]7 K& |
9 p+ Q, U% P; |5 i/ S# s
5 ]8 X% t5 L# f' x1 X; d
var itemFrames = page.getElementsByTagName("frame");, C6 D& ?/ E8 X9 z8 a/ l' ^
var itemiFrames = page.getElementsByTagName("iframe");
4 l, F/ h/ H3 Z. u 0 P. d F) V1 w/ n: `
var frame, iframe;
8 g& y# x$ b& z$ Z if (itemFrames.length > 0)0 ]" |; i. m) ?; X+ K
{ R& _2 L3 P% x6 f4 o- k
for (var i = 0 ; i< itemFrames.length ; i++) , U9 x) ^$ t H
{
" x+ E9 m0 Z3 y) k frame = itemFrames.contentDocument;- n- P1 K2 F# P$ G+ z
this.RemoveHide(frame,objname);
8 H6 z2 [3 l+ O. Q }
* S; T, t& X) ^/ E, N1 y( q2 o }
0 m/ ?, F8 T2 y" V: n' b b8 [ if (itemiFrames.length > 0)
3 m3 Y* I. o9 } n& t9 ` {( P* T6 C. R7 {6 X* ]
for (var i = 0 ; i < itemiFrames.length ; i++) ; m7 B1 Y1 R8 h/ h$ v! K4 w
{
/ ] v2 B% J# C iframe = itemiFrames.contentDocument;
- ~7 O% `: r. E" l! q4 h this.RemoveHide(iframe,objname); j4 } x9 d" ^
}
9 S2 l- W, t4 H6 b1 M }' v. ~# M5 s3 D0 k7 h
}
, @/ s% P. c; p catch(e)/ t8 m0 B+ S& A& u6 v# P$ B, x8 H
{
$ M" {! w: w6 W+ o) L1 h if(debug)7 Z7 A7 C9 x1 U# O
{
5 a% K# Q+ N4 z: c5 X& J Z$ T alert(e.message);
: I. ?: ~" P) ?5 B( a5 Q }# d- X' N6 d2 g6 y) G7 P
}; a# H s8 y# z+ |
}
# C" A5 H: \6 |- Z1 ~' v# h# A5 j* ?
% i) M* B- v: _1 q+ ?4 q; L, [- o}- U3 q0 `: B G
$ {% l0 J3 M$ R
function getRGB(colorString)
" n: i ^* H% v e8 @{
8 ^% s. l- X% b/ P var RGB = new Array;
3 G% e w. |) s' d) l var tempSting=colorString.substring(4,colorString.length-1);0 e! ~$ P; d) ]1 o7 Y6 ]
var tempArray=tempSting.split(",");; g/ o/ i+ G4 }# b- T
4 ?8 {' q% g! o, H$ c; y. T- [1 f
RGB[0]=parseInt(tempArray[0]);5 W5 w8 L0 ~) N: R$ [
RGB[1]=parseInt(tempArray[1]);3 Z* P% n( y6 a1 R6 O
RGB[2]=parseInt(tempArray[2]);
6 F9 [) j" R$ O, [
8 ?, i8 V6 { |" G return RGB;
/ O8 S9 l/ _/ q}
) s# ~1 h# h: `' }) V6 W" I) S! Zfunction keys(evt)
" W2 Y& K/ s& w {
8 ^1 h9 h+ e$ m! w) }# _ if(evt.ctrlKey && evt.keyCode=="81")
: u+ e3 h: ?; h+ Q# U! { { . I7 F J/ A. G
CleanHideObj.on(0,1);$ C4 p* v k- d& p" q( {; H4 [* B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 B( `) m% _& q
, p" ~. R% {1 `/ _$ p' i }
1 x: H: }" S8 i# m: P& j } # y5 y5 V& K- D P1 E" E. h
document.addEventListener('keydown', keys, false); 9 _( }/ I2 ? y6 W, @) L- D
GM_registerMenuCommand ('Clean Hide',$ V: m. J: q4 E6 X) V) ?5 `
function(e){$ }, j2 ~- z" u' p, I
CleanHideObj.on(0,1)1 M5 S# b' w2 o( N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 _# Z! f2 b+ w' \) \});
9 q. b! {5 r* z \0 d |
评分
-
查看全部评分
|