|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! u7 A0 Q+ f' @3 K# o
- T1 k" Z7 P; c; m火狐插件,用猴子
1 w6 M) U7 ?& G4 M7 n" e; U6 z$ c/ B
var debug=false; 3 P8 [3 E& \* v$ d6 q {6 D
var CleanHideObj=new CleanHideClass();
' G( _7 p% ]* f. y8 b
! @/ N7 T- p! i3 wfunction CleanHideClass()
' D5 a m& U) j, h4 r! i{ ; _. D/ T& g7 M6 [/ w
6 J: h6 c$ u# A$ [7 ^/ n this.on=function(id,bMZ)7 j8 \: a, V! }
{
# s$ C) `+ m# ^& k1 ]* V
; K* @- A8 z) R, N8 |; m if(id == 0)
! }( ~6 E5 t: c0 G' A0 P) b5 t {
+ Q- m H4 P/ e# v2 A5 x. n var page=/* document.getElementById("content").contentDocument */document;
8 K3 Z' U! w! g$ _( l1 r1 Q this.RemoveHide(page,"span");
0 N" }* Z: H/ e; S! p% y: _$ m this.RemoveHide(page,"font");. s7 e- g- ]0 p8 N6 \8 t5 H; a
this.RemoveHide(page,"div");
9 U4 Y! E+ w* m1 ?0 A$ { this.RemoveHide(page,"p");3 g6 ]' I& l/ w) m/ |6 k5 N
3 ~/ K1 L( `7 w* Z
}
2 s3 _, x5 J% x" [
6 p" @ k3 u8 ^ M }
1 i, t: N4 i( I7 \) A this.getobjstyle=function(node,prop). a! z, Z8 x+ I/ r: f
{
, g& i) z8 W1 G) _9 @) H try
: B L! G: q6 m) F& h, Y4 [7 } {
8 p* N* d* o! Y! n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 _4 G& D* g# E$ e+ B# \0 K }# j$ t0 B' K% O! t) w0 S
catch(e)1 F/ U) ]* n( h, Z n2 G
{
5 a' w* X; W/ x0 l8 Z1 q if(debug)% d1 M' @5 |. ]5 a- F1 k% _, e6 {* O
{
$ l/ {4 t& a4 |4 i alert(e.message);
+ g3 c0 @1 U; [. r8 B }
Y2 v5 n1 _# \ t
7 H! N$ C- Z4 k) J8 ]7 { return "200";
, r& q1 \! P' H+ b5 T" T }9 | i; V6 t! b. _- W
}
( c" u) L( ~8 o: j' N
. V ?" f+ K& Y, J this.RemoveHide=function(page,objname)
' Z# _' S1 u- c$ S& A {) W+ {/ n- A6 g( k
try
/ ]- Z1 d8 f6 T {
4 s8 a( c' l$ Z* l2 b+ ~% H3 p" u var minValue=15;
( B. `4 ^1 e& K: E3 C0 v var objs=page.getElementsByTagName(objname);
7 o3 f4 K" z* x9 y
2 l# t5 n7 x( M- m if(objs.length == 0) & D# y Z8 L o8 w! \4 Q+ E6 y
{- b5 q6 Z: s/ J% h8 M
if(debug)
, ~+ u* t: Z+ Q9 z# a {
, l4 L5 Z/ @- k1 @ alert("no object found!:"+objname);
$ V# j% X2 W, d2 K8 O+ ` }
6 w! q6 q3 v# y; X0 ~1 t- W$ B }
) o6 W2 ]6 P3 n else
% `9 h# D- b# |! _) J3 I {2 l- G; S6 j( a- j' J/ P
8 v9 `; @% z6 L1 V# ?9 ^5 t
for(var i=objs.length-1;i>=0;i--) ' k, j N& h9 ~( T
{
; E6 S! Q6 H, N/ w9 n/ i& u* `# m var node=objs.item(i); 0 _ y, h6 ^+ Q$ N+ S ]
% L& `3 i6 i8 X. r& X8 A
/ N' m7 r! l8 H U: a7 O
if(this.getobjstyle(node,"display") == "none" ||* L$ z" b- W8 P G
this.getobjstyle(node,"visibility") =="hidden" ||3 F* z+ o! Q( `6 K% @
parseInt(this.getobjstyle(node,"font-size")) == 0) ! d9 _6 F: C" @6 d
{) c! `6 [' N) ^ c. L6 }2 s) C
if(debug)
+ J: d6 a& G+ |7 [7 H f {) X6 U6 Y* H% N: p$ Z& N( r' ?' x0 P
alert("remove invisiable!");4 I8 j/ X8 y0 d
}
' E. ]! D' N& Y z$ z; O9 _ node.parentNode.removeChild(node);
& C) W y0 B' L( P$ G 1 W" c, n6 C8 o( D/ {( ~
}
# c0 P; L/ W9 z" W5 h- j, D else 2 x1 w/ k* f& K% |2 E) u
{* x/ O9 u: ]! b' @ n* s$ @
if(node.parentNode)
( I: ?# G- N3 L& p {
" b( ^+ c& A) H' Y. G1 \: O var orgNode=node;
3 C2 |! @5 Z( r8 x6 c5 X var orgColor=this.getobjstyle(orgNode,"color")
0 `9 E7 U7 n. p- n1 G: k1 Q i var orgRGB=getRGB(orgColor); , ~% V2 `3 K+ q2 }( }' }/ U& }+ M
( @2 E" i d- a: d0 v$ F var parentNode=node.parentNode' o) U' _/ e/ U
var parentBgColor=this.getobjstyle(parentNode,"background-color"); b- `' q' [' d- d
7 B- r& G* n6 _7 S& M
var isLast=false;: x+ l0 E+ o1 H8 A
( x" ~9 f. h2 ^9 @. w$ ~8 c while(parentBgColor == "transparent") " G" B4 l5 D3 ]* P* l1 E/ W
{/ n5 H) |; ~1 M" `7 F- T
4 s4 L: S( F$ X1 x& _
1 S8 A, ~* A$ T0 a if(parentNode.parentNode == null)
) A! w* L8 V: l6 i; { {! P+ Y7 D6 @8 m$ ~* v: Z4 l- z- Y( u
isLast=true;
/ X5 D8 E% A( I% b- ~! U+ |2 V break;. f2 s3 I) V/ m$ l) r8 {+ E" [
}
, m8 E: [, i6 O4 J$ W: T0 } parentNode=parentNode.parentNode;6 q) y; m n' t2 C {3 @6 R
parentBgColor=this.getobjstyle(parentNode,"background-color"); Q# r( T/ e3 Y9 v6 ~( M* k
; R0 n7 J& o/ C* O. ~9 w8 H if(parentBgColor != "transparent") 8 E' M8 u9 v5 m) d
{& B; ]/ m) a+ f; Y
break;6 K; k1 w) ^/ r# H$ V
}. o, L, t: Z+ w e6 h
}
1 j; o" X6 {9 e if(isLast)
/ C' Z$ U* }0 l {
8 J# u2 \; V* _- J) B! r if(debug). G% L G) d" k# z# H& }% h1 v
{
( Q6 g) C* K3 ]' X M alert("last!!");5 L6 \/ t6 @% x, L) K" I6 x7 {
}
- C {0 ?" E6 v: L p' T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 F& R" T6 b" C H J: s8 H
{
4 F1 m' C% f( |1 S; A T orgNode.parentNode.removeChild(orgNode); , r) z3 \1 K2 k& c
}6 S0 W5 V6 F* U. i( q+ Y% J4 b2 ^+ m/ W
}
3 P' J: w {6 D4 Q) M7 t3 x- x3 j else! ^) O+ q: o7 s
{8 I% C4 o& U2 x6 g: _' v& I
if(debug)
- W$ }! U! e) N! m8 w; v5 u {; c0 e2 D" b4 q
alert("compare color and parent bgcolor!");1 W7 z. F5 e+ K. e9 R4 W3 D5 o
}9 P+ h# l' K0 p8 Y# l
parentBgRGB=getRGB(parentBgColor);
6 i5 _& d; h# ?3 S- y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% v; m: b4 `' p {9 Z- y- `" P0 W0 m) u
orgNode.parentNode.removeChild(orgNode); 9 k3 `$ l% l Y( H+ |7 x' h
}+ q* s9 P+ Y4 b0 K: L
}9 y, o Z$ {7 e: `6 v% Y# P
}2 k$ R+ v5 q0 Y( C. ^5 `
}
# M/ l: I! n8 z3 Z& }6 s1 j0 t0 c }
8 P0 q D {% C* k }" q/ K8 k4 L' k/ p9 g
~0 D2 ^1 ~3 ?2 `" u6 j J
' [3 W6 b$ W" H) O* i/ \6 I W' v( n- M var itemFrames = page.getElementsByTagName("frame");
( l4 L8 V! A+ c6 p1 s- f$ O6 Q$ x& U: y var itemiFrames = page.getElementsByTagName("iframe");) e! b$ [4 v, _; D6 o+ {2 R. ?- q9 i
& }; T$ X( ], o$ E9 U
var frame, iframe;3 R+ `: n. J. G& E: Y
if (itemFrames.length > 0)
! J5 s! [& W, |( H$ S {
6 M, `( O# r& `: j, C for (var i = 0 ; i< itemFrames.length ; i++)
6 A$ e: T5 J4 s* d8 J {
8 U8 F' l0 l) o/ Y frame = itemFrames.contentDocument;
, q# n) p& t6 M! G" L this.RemoveHide(frame,objname);
& y5 [: f1 A" z6 J& ^( L6 K }) }4 [' s, B6 m6 R" w; O% h
}/ g7 ^7 f- u3 J8 q. L! u) ?
if (itemiFrames.length > 0)
" ]& G; C5 V+ L" T* v2 V {
7 Z. w% p! j8 A$ H) Q& p for (var i = 0 ; i < itemiFrames.length ; i++) - X- D& A, S$ m% L5 V
{7 A) f4 r' }% e# i" O
iframe = itemiFrames.contentDocument;! t Y0 q% g) \4 [4 X# J4 h- c
this.RemoveHide(iframe,objname); 1 X( I7 A" o6 ^2 H4 }3 y
}
7 f# F" d/ q( K7 n5 `( e5 s }
3 V ~/ y4 Q4 r r U }# f- Z$ ?. v8 U# V+ t
catch(e)
2 m8 J7 T& ~/ C0 [2 l3 x- B {
; ]5 N( d; S9 {/ s% Z if(debug)
/ C a8 u1 R. m g& t& Z! J {
6 n! B: W* C3 `4 N$ n0 T alert(e.message);& l4 R2 i( ^9 l% s1 Y
}
& ^/ {) B% u q! _ }
; u$ @. x5 e: `9 F% H( @# G. q }
5 b; I) \% v# K3 T2 G 2 l1 z. h2 [6 Y$ E' ^# p
}) ^8 I* d$ a, l% Z2 j/ o# f8 W$ S
, x/ K% @6 |, Z0 ^( q
function getRGB(colorString)
7 H! \# c: F& l& r+ w7 ^5 Z{) P! |+ m, k2 ]4 G& R9 n
var RGB = new Array;
' A* F" n/ d9 M7 Q7 D6 }* | var tempSting=colorString.substring(4,colorString.length-1);
6 y8 l+ ` x4 [1 d' k7 i var tempArray=tempSting.split(",");
& p7 V7 ~7 N& ~2 r1 Y4 y1 j6 I& n+ B; B5 X0 c \5 \# x/ m- _
RGB[0]=parseInt(tempArray[0]);3 f: G4 ~) L) Z* H
RGB[1]=parseInt(tempArray[1]);
1 b' j1 E) i( F RGB[2]=parseInt(tempArray[2]);
3 @1 K6 Z7 k4 Y4 N/ V* @' [: ? # ~; l& s. Z( f
return RGB;
+ ^ |" g0 ?. ?}* L' Z4 I& R M o/ m2 a
function keys(evt) 4 X5 ]$ E) {# ]" x/ j
{
7 g0 E2 W: r# N7 O. u) W$ f if(evt.ctrlKey && evt.keyCode=="81")
: y9 s7 X) W0 }# U {
( y, z' z Y [: l! k$ l- h CleanHideObj.on(0,1);
, A# W: w! ?$ K$ I3 B6 @ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) l* | p6 R1 ^* r' P % C6 H* A; M; x
} & M$ U7 ~! i/ m8 Z3 s# P" l, W5 H
}
; ? V* n4 e( k6 w. u: Xdocument.addEventListener('keydown', keys, false);
`! P. p' K5 Q" {# P! }GM_registerMenuCommand ('Clean Hide',
~2 B* S6 ?8 Q8 {$ g, ?0 mfunction(e){* S0 X0 e6 N! |# H4 P: G, ?
CleanHideObj.on(0,1)
: n: D" H; u! g. o, g3 c$ Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* y4 S3 `1 \* s9 ^});
; E( Z8 W( Z( u4 I e |
评分
-
查看全部评分
|