|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) {( K7 v- D# K, P# k, q$ J) O K7 `' s
火狐插件,用猴子
: F- o/ o1 P5 T: K7 h- E
' r5 x$ g) i# x3 ?' S Fvar debug=false;
& _# T; I2 D Bvar CleanHideObj=new CleanHideClass();
9 V5 L) B8 i6 ]* p! W+ Y# ~5 D# E% D. ~
function CleanHideClass()
% Z$ r9 @# y7 m{ 5 d4 t! P8 ?9 P
# N& W+ U! S) ]. V4 w6 a. \# m7 A# [! b3 Q this.on=function(id,bMZ)
3 _5 V' z3 A" t: q8 O3 e# N% c {
# W2 ?. V; w: r2 D7 d. s4 m * k8 T! [4 K2 W* s
if(id == 0)5 k; v/ h0 h' c% f' O3 @# h) r
{
3 m6 {" s1 p5 \- Z, } var page=/* document.getElementById("content").contentDocument */document; - v K) C- F8 I9 b3 L: g
this.RemoveHide(page,"span");
! o1 o8 q$ w9 l( F' G/ l" X' ? this.RemoveHide(page,"font");
! R2 {7 E- c" ` this.RemoveHide(page,"div");
. q7 n0 a6 R7 x& ^) @8 p( k this.RemoveHide(page,"p");+ `: R: V6 g, b* @+ p
3 { T3 ^' s, U' n9 ?! ~
}7 Q5 {" x% f- F2 e$ e
& F4 b! z: p6 X
}7 e( \7 w" H# k; [
this.getobjstyle=function(node,prop)
& G" U) S7 _: F3 X& ~ {
3 x6 l, g" U/ \1 t! a5 n% m try. t3 M( l5 M) ^
{# m' x0 K, p/ u# s2 \* [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 d q* c+ M- @6 F) v }: t) A, ^' O$ J9 ~
catch(e)
4 c% \9 Y, k3 V8 _ {
' K% p: R9 v1 b$ S if(debug). s( q/ D5 y7 ?* P; R. g2 c4 k
{' ~, v& L! v: D
alert(e.message);
) G) E8 G: U; U2 K }2 V8 f6 h5 T* |
6 k) j" h. }- |! S3 ^
return "200";: g3 \5 k& h2 g' ?, N$ ^
}( |& m) l# j% A0 L' B. ?4 g
}
1 {4 V( {* n2 I M4 @9 v; }
% s5 w7 F5 t1 ]/ d/ T& K. m this.RemoveHide=function(page,objname)
g! a: g+ n) a) y. Y* w; J7 y {3 }: f+ `/ ~/ ?( z% t2 V
try: W4 h9 r, Z7 ~
{
2 y/ W! u6 C `0 q/ b, ^& S$ F# v var minValue=15;; y0 t8 c" P+ V- ]! q1 c( x+ G% E+ ]
var objs=page.getElementsByTagName(objname); - S; P ?4 f) D( s. Q! q4 i- L
6 P9 G5 V2 n4 ^+ d( l, g
if(objs.length == 0) , f: p P4 W- @; Z% q4 d1 H
{2 a8 l6 M. P, m% y
if(debug)5 g# p, ^6 z# d
{: z2 Y" F6 U/ g9 S
alert("no object found!:"+objname);3 t- h" i7 Q' X s
}
: P$ }% h% C- @# b0 N+ I f3 \ }# e& W; ]; w; P* a1 m1 v8 Y4 u2 ^* b
else
" u! [8 v* {0 K {8 m) x0 g- o( A. L) y* m
$ I, Z ^3 y9 j0 E( b
for(var i=objs.length-1;i>=0;i--) # a1 q' V. Q$ e9 e
{
* F- {; P ^4 i var node=objs.item(i); ( W. n9 n, \7 q$ ~0 x
: `; v7 \; ]" x# L. m: s
; C( c6 q0 p; r1 r. q0 z) g* K7 M0 Z
if(this.getobjstyle(node,"display") == "none" ||
) ^0 T) P `+ F. O& L4 y; ] this.getobjstyle(node,"visibility") =="hidden" ||$ r2 u2 @! I. s. u5 h
parseInt(this.getobjstyle(node,"font-size")) == 0) # G" \- u7 t, v4 a+ [& p7 F
{, }2 _5 m6 \( |* ^% O& k
if(debug) w2 b [0 K! ?; }& [5 N0 V
{/ {: H/ N) N7 `8 v2 u
alert("remove invisiable!");
2 [7 x4 D2 R5 x0 x$ @6 q- Y+ l } B6 o; r) o# S7 P: k; u
node.parentNode.removeChild(node);
! N( H5 {3 }3 ^* r' X5 O * A+ j; j% z& \! A: n
}6 o1 m6 x4 F" H5 c" [6 M
else 9 \5 y5 d5 L+ \ o4 G
{
7 Z l0 v! }5 }* Q8 J( T if(node.parentNode) + |$ @& }' s, a( o
{
I% d3 N3 }+ h1 H- {0 i' x var orgNode=node;
3 W* `5 W$ z3 g/ M& W+ Z5 ` var orgColor=this.getobjstyle(orgNode,"color")
, W# `! P$ ]' w7 Z1 t9 ?; R7 p var orgRGB=getRGB(orgColor);
8 O0 q8 W% w1 g3 U0 }: M # u$ u" @. P. a: M
var parentNode=node.parentNode0 \1 K' r5 R7 k9 l) L) Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; m+ R2 s9 ^/ D7 f* I( y$ C : G3 H' A* o* q( l, R2 Y
var isLast=false;4 s4 \( w) }" \& T+ n. P
V' } T+ g6 x# G: I while(parentBgColor == "transparent")
: q. S1 |* g+ p' p2 b {
! R2 @' o/ D/ a) Z/ ~# ^
3 X& s: i) ?) ?) i8 p 4 D! @3 V: A* d$ Q( W. j; ?
if(parentNode.parentNode == null)3 ~7 N3 E) Q' s+ [; A. p
{7 A: A6 e5 a; e$ ?. h
isLast=true;
) t/ r5 O8 w2 X: b' y break;/ @6 z/ \% t) U' o
}2 @8 f1 d# Q8 S- {' T; o
parentNode=parentNode.parentNode;# E0 l; k# i$ p; K
parentBgColor=this.getobjstyle(parentNode,"background-color");9 @9 b; U" _ v+ z
1 m9 G$ T; q0 a/ j! C% Z% ~
if(parentBgColor != "transparent") * K8 j6 I' }5 m- d/ y
{
- i( A4 v9 }1 n: j4 J/ `: _/ G break;% }$ j6 Z- K. Y$ M H
}1 e% i' ]* N. G/ L5 m* V
}
0 V' ]5 ~; K& ~& i) i if(isLast)
( M) C1 w. U9 m6 K9 P+ m" a {3 E9 q* D0 z' H- r0 T
if(debug)
: C! g- N- R4 d- m$ t {% ^. p& Z6 D+ i: j! x0 x4 k
alert("last!!");# L, } ]% F! |2 Z/ e
}" c# K$ k; Y, q& K" o( U
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 n- h4 _; ]0 F2 T8 z
{
/ U; [+ A; [7 L. j! K3 ` orgNode.parentNode.removeChild(orgNode);
6 A$ p) c* x9 A: K }: p/ h( ], U. e# q t0 A
}
6 ~* h# @7 C5 o' P4 ], H3 n4 Z2 F else7 |* C& Y* T3 i% K- e# `7 s" G3 }
{
" t! i! |% A/ L9 J$ K- r/ b J if(debug) j; Z5 H5 {' g' h1 i' G
{
! O+ H4 W: J. E: j1 x" ^! O: `2 D alert("compare color and parent bgcolor!");) q" }( d8 l ]; G7 ?# Y
}
C$ [, Q& X* U5 o& k parentBgRGB=getRGB(parentBgColor);
$ P' v) ?# b7 Y0 T( K if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
N# N+ ^! D W. I {
" e- D& ]: p* G( S orgNode.parentNode.removeChild(orgNode); . {; s7 ~; r) p) J. w
}+ Z1 O: y, H9 e( J" [ R
}( K& W% J: v5 M/ n9 L
}
" F" b3 b3 ?+ i9 O0 W }' k- o6 `8 U5 A
}
$ ~: T: i+ O+ m, I1 ? J }
+ l5 m: F6 F: G7 H& i & a$ f; e+ N' z
+ w! D6 B9 V; }* G var itemFrames = page.getElementsByTagName("frame");
' V4 e! C5 K9 c: J2 D/ t var itemiFrames = page.getElementsByTagName("iframe");
% o9 _9 A$ S0 d
$ l- \/ ?, @) H var frame, iframe;8 V p& a1 o1 D% t8 h9 w$ f9 f2 r
if (itemFrames.length > 0)
" R+ v Z* s% ? {, B6 q+ {$ M5 ?2 d0 Y4 \
for (var i = 0 ; i< itemFrames.length ; i++)
/ M' K1 ~7 w/ D {
6 e( q9 f- K4 |# T5 V frame = itemFrames.contentDocument;0 c) |: N- T9 k
this.RemoveHide(frame,objname); ?, }- B6 i+ a g# Q& z& f
}' B! M" I" Q3 D8 @5 ?: w
}- r1 h- H3 E: X3 `; P1 j
if (itemiFrames.length > 0)% w6 [# N+ t* o" f+ ?
{
* X4 A) ?: X4 J9 v C* @1 @ for (var i = 0 ; i < itemiFrames.length ; i++)
+ k- i/ v# I* ~+ N! i9 |7 U3 p* T {
, T6 _" `( _) V' }5 i. J- ^1 m iframe = itemiFrames.contentDocument;5 D; T; h9 L, T; e$ E% f
this.RemoveHide(iframe,objname); ( K! B1 W) v2 v1 H+ m# ~
}
7 |/ H i7 @9 ~) `' q+ [ }
$ M% |/ a/ [% o: d }
( O0 u5 A6 D; j7 u8 n catch(e)
" ^& }$ }3 R2 m/ a0 G) }3 L8 n {1 D9 Y$ U! c1 s6 _7 P3 o
if(debug)
; e9 E8 s! C: h1 p% b {
# i2 t& w- Q p$ K! q alert(e.message);3 N; X5 \9 F) H
}
6 K6 P5 E2 w1 [0 H# w4 n }
* |* |& u7 w! j( _ }
" P. u4 u$ o# z4 Z* t/ l
( G4 L7 ~% N) V! p3 x, A- J5 R}
6 J5 \- V: w0 I0 T- U
6 E# C0 R6 Y, a" G7 ^& ?* T+ nfunction getRGB(colorString)4 U- s" T* ]. m2 B+ r/ z. f& u' Y% R0 }
{" I8 I3 @3 A3 \) i, c
var RGB = new Array;! F. W' v! Y( N2 q' O$ a
var tempSting=colorString.substring(4,colorString.length-1);
* L- ?4 B2 D# X u G var tempArray=tempSting.split(",");% \5 e, o5 E. j/ n
% W/ E6 B/ `( \& S. o1 R$ Q" d) D RGB[0]=parseInt(tempArray[0]);
- ?9 H2 I' q0 g8 o" Q# p RGB[1]=parseInt(tempArray[1]);/ k1 w% `; N' L* b9 X5 Q
RGB[2]=parseInt(tempArray[2]);% _: U4 C! ?, s2 _, `/ s/ X7 p
% y* c) @, l" o A7 c return RGB;
0 P7 b4 d& B6 r3 \$ r}+ W2 m* _& B0 D Q: h$ h8 {- V
function keys(evt) 4 o1 A) y3 u. L; g% `
{
! d0 r" V( U6 h, p if(evt.ctrlKey && evt.keyCode=="81")
) E; r, N' s; F) F { + _8 v, i! _6 B& s3 |6 P
CleanHideObj.on(0,1);( ?% Q3 u+ s1 D% N, E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : x6 H. D2 B, H$ X
5 D9 R- B8 {+ |/ |0 U0 i( l }
* N* N: H% A1 J9 |* c }
; c2 A4 P; w4 U% zdocument.addEventListener('keydown', keys, false);
& p5 A$ w9 g _8 Z' XGM_registerMenuCommand ('Clean Hide',
. E" @2 v0 E, I$ B. Jfunction(e){, m2 o2 x) O! r0 e
CleanHideObj.on(0,1)7 l; B/ k5 R8 N; A1 h8 f' P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" x2 G) k- z4 m9 K+ S3 l! q});; H9 Z3 q: }+ W6 }6 M
|
评分
-
查看全部评分
|