|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! Y0 Z: a/ c5 ^9 h1 a3 s! e
- i* ~( a& X6 ]$ c9 n火狐插件,用猴子
1 ^+ G }7 Y# v8 i
# x0 O* ]! e# t- V8 Z* O* |# ivar debug=false; ' k1 a" P! ~0 e/ J: \9 q
var CleanHideObj=new CleanHideClass();" f& P9 o& u$ t% L, J: ?
. u5 f: p; p' B0 `) g# i% k L; _function CleanHideClass() - U0 B+ h4 o3 s' t2 K
{ % A T8 g4 ~4 Z# V3 g# p
, l9 H( G/ k: ~
this.on=function(id,bMZ)
" u( e7 S/ {1 K! j$ c {; g# {! K2 ]) j& K1 M
$ [* J) D* ?3 a8 x( E if(id == 0)
' }3 K( d) j- T' G {3 v) y2 y$ x4 d2 [+ Z0 H2 _
var page=/* document.getElementById("content").contentDocument */document; 8 }6 j4 a/ z; Y6 M
this.RemoveHide(page,"span");
3 |$ ^/ I$ }; \ R; z this.RemoveHide(page,"font");1 o; t3 H+ e: }) E' k, C- t+ q
this.RemoveHide(page,"div");1 {( e3 ?7 H! f+ |, S5 I
this.RemoveHide(page,"p");8 E4 ?/ k L' b# t" A, X
) b5 K: v/ }: T1 Q
}, [3 I# k4 T. Y! c. O( @2 Y: U
) ^( X0 B+ B, P3 e2 f, n
}! t" t3 T, s9 y' b0 `" j( X2 Z
this.getobjstyle=function(node,prop)2 {3 f+ C( o/ C v& R/ c! a
{- [) Z7 ~2 b+ P. s
try( P; h8 O1 ]# z* c
{
- i$ a9 H: ]8 s6 f9 u) U X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; n4 v% C: ^+ k/ Y6 k8 n# K
}1 |+ L; _" H9 l: [
catch(e)* X% H& F, L3 V- O% D7 Y$ b
{6 M% J, y+ g* v H, x! G
if(debug)4 s% B' l; D! B, q: ?% K
{
: G: g2 L! V- G# y alert(e.message);& I/ y& w/ q8 d& I$ Y+ J
}: }/ K+ @4 H) A5 k/ H
: ?: p5 l! P$ l3 m1 }
return "200";
, R5 A+ R( t( W2 `- ` }
8 g) S) T6 c9 H( x9 U% Z6 h }0 W' S; e+ b6 T2 I2 a' ~
; P/ c2 j# C) ~- ]: G this.RemoveHide=function(page,objname)
1 K- R0 Y" P% C- a {- N9 a/ E i% }( P7 d$ H
try
, u# c' O/ b8 T, f5 V5 ?/ r2 X2 j {9 d: U; a) H; _2 w
var minValue=15;
% ]1 Z2 R" r1 A2 a6 Q var objs=page.getElementsByTagName(objname);
2 Z+ l! N9 w( v6 c8 x
3 t7 \7 }2 w. L# Y% c1 U if(objs.length == 0)
+ D, W" H& T, d+ T: F {
& B1 }0 F% g1 t2 D7 g if(debug), H9 T& w; X8 y& ]
{
2 f% M' F( @: E. N& c% _ alert("no object found!:"+objname);
; K5 K" _+ ]) ?- Q( y }
' _" M9 C) b6 ^8 p }
7 C! ?( `7 p8 Q4 o S else9 T% \4 u5 E0 |
{
- i% g& F/ q, q2 j* {% { + h/ Z/ I0 E" L- }! }6 C
for(var i=objs.length-1;i>=0;i--)
+ i U0 K' x: g8 D% T8 ?0 Z { @$ V" ]" I. @' H4 l0 G8 c: P5 o$ ~
var node=objs.item(i);
3 r3 e- I2 Z3 X' }- l6 \: v- x1 n0 R# Y 5 i2 K/ W# f( S: {& } k
2 S! k n' k0 f" b4 X5 H3 n2 Q if(this.getobjstyle(node,"display") == "none" ||- k/ u- O& L( K9 N1 k- i9 W' H
this.getobjstyle(node,"visibility") =="hidden" ||5 J# b6 P5 W" {& a! z) a
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 \5 V! A9 A2 Y4 Q9 T& M
{0 G' b& _ P2 X2 ]
if(debug)
7 W, `' f X0 e5 Q" c! E {
' @* n, Q; G T3 { alert("remove invisiable!");2 \5 Z4 S! q- H3 g8 A& c9 f
}
& @8 l) x/ ~2 m1 m node.parentNode.removeChild(node);! t1 Z- s7 Z5 ~4 \
( t, I0 u& v' e& A% m5 X }
6 c0 c- \$ F$ o" E else
9 M8 D% `. ?% i3 Z {
: w" }( x h/ K+ k# C9 d' g$ D if(node.parentNode) : N& S6 @( w* B8 z/ J
{( g; u: P, v8 U" p" R
var orgNode=node; q, H1 x* l4 d# S
var orgColor=this.getobjstyle(orgNode,"color")
# ~# |; u3 y" L6 h var orgRGB=getRGB(orgColor); 2 a$ J; c2 s0 q4 u
8 a# \# w" r# B% B6 j var parentNode=node.parentNode
+ ^8 c2 K4 C7 m0 d/ S var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ o3 f/ G: f# d9 n
7 y" ]. r1 ^: X/ O( R9 }% ~) D var isLast=false;4 Y- d6 k7 k+ K7 q: T4 L8 k
: _1 d' P3 H4 f' X while(parentBgColor == "transparent")
- L7 X+ m# N' ?3 c {
/ E" h) D; {. z; D# e& A: q 4 R. k0 x; H/ J
F" |1 Q+ Y g0 g o
if(parentNode.parentNode == null)3 E! X6 X& _! H
{
5 _4 B, `3 r+ L# V1 Z% t* v isLast=true;: z2 l$ b& a* j: @- F0 i9 L, b
break;. U d, Z' B+ }. e4 J* j0 }6 K7 w
}$ N# A1 B' A" D; G( R
parentNode=parentNode.parentNode;
4 y9 {$ ?# x6 p4 I" Y+ K5 ? parentBgColor=this.getobjstyle(parentNode,"background-color");
]& f% k* y! E% b7 Z; W6 [$ S5 P X: N7 |2 Z
if(parentBgColor != "transparent")
* {; m: Q ^( f4 [* \ {
+ h5 V! Z; T- W$ t2 I4 b: i. R break;
: U) J T$ X; z- U" f) w b, b }
3 m5 x0 r1 v. _$ J }0 Q$ g) B2 r. _) }
if(isLast) 4 h( a# t4 m" t( Y' n; s3 i
{
2 I" ~: ^. M( K# |, [+ n1 G! _: o if(debug)" H) A$ v ?2 A5 {
{
`) B! X3 l: r1 l; K alert("last!!");
v" F! d# b# ~, V/ C- T- o }3 G5 V# w* v# D$ ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; A6 A) n9 ?$ U* @! ~ {+ f9 U9 F* q; j
orgNode.parentNode.removeChild(orgNode);
" T x9 n. s3 e' N }! q* C" B6 Z& s( }' q" J
}
( p, T- Q/ C2 c else( k/ ]7 K C* o' o ~
{" O2 ~: O6 Y" Z9 N
if(debug)
2 p3 M' S# A: X3 R5 y! K9 F6 n( ] {
1 B6 I& B5 I: `* Q5 f. G3 g/ |( w' M- [ alert("compare color and parent bgcolor!");5 k/ A f3 H; O- U
}; T) l( k3 ^* d* j' `0 a2 o( |
parentBgRGB=getRGB(parentBgColor);8 \( n( P: }8 ?
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- r, o+ M1 a! T& _" ]; c1 y& z {
2 {: g' U) |& D orgNode.parentNode.removeChild(orgNode); 8 @# ^+ m) c4 `
}1 W/ _7 s! a1 n; c6 [# n
}
1 l' ^4 y1 X4 A& a }
6 ]* Y+ ?% W7 H# d( l7 `9 B }" z# j2 T% J% {$ u! H
}1 S& U1 G$ d' g+ M! m
}0 k) H2 e/ e1 r5 P2 V# u6 y" W# }
0 k# o; S/ s) E
: k. D, U2 A1 k var itemFrames = page.getElementsByTagName("frame");+ Q: R- S, l5 ~7 G$ G
var itemiFrames = page.getElementsByTagName("iframe");
" W: K9 M, l9 R" J2 h
# C4 f; M, K8 E4 K2 d% K' K) m var frame, iframe;
( l8 t* ^, k" C if (itemFrames.length > 0)
: j; n( ~: n2 v$ {3 A6 U {
* F8 e! p* m G) a4 X for (var i = 0 ; i< itemFrames.length ; i++) + d) {& e+ {# v+ {* _/ d, u6 t
{) R' x a {1 H/ @6 i
frame = itemFrames.contentDocument;, q- L0 |3 Z$ z( b2 N
this.RemoveHide(frame,objname); + a Z/ q% S: x" s& S( m
}
" E; G$ q7 L: U }
8 l) I0 j8 a, V5 \+ [ if (itemiFrames.length > 0)
# R" u& c- l7 y6 t/ Y% Z {
5 j, s! ]$ s9 h for (var i = 0 ; i < itemiFrames.length ; i++) 0 J$ ?* j% |5 d+ O4 W P$ m
{/ }0 h7 ^% Q7 u; R* p$ l# p8 `4 e
iframe = itemiFrames.contentDocument;+ D. [3 _* N) ?0 l* K; ^ B
this.RemoveHide(iframe,objname);
8 G! `$ v! \7 t% J7 p- ^, y }' t2 z: O) o; C: k: t2 J
}
2 X" w, h% d* B. g/ k/ }; P }0 P$ R. R6 @; E) \$ z+ V
catch(e), l) E) t* f$ X' Y6 B0 a
{
6 G8 ?8 V/ _* E" {7 w- c8 D' s if(debug)1 h2 }0 d% I3 k: _3 J
{
5 X- g+ m& E1 r; ?* [( T( e5 ^ alert(e.message);
+ k4 l, v9 N# l5 `$ m- ~ }
6 k- P" j3 d0 F8 C }
- V0 O* R/ C3 V0 _ }
7 P; o6 F T3 J: }% [5 E- I) p/ E! G - _4 }" M* L) I
}4 T b3 l2 R& I S2 `
' t* _8 ^& n) c2 U/ ~& Q# Z4 wfunction getRGB(colorString)
4 v, e( j d, [3 Y$ o$ j" T{
# a% c- `) T+ n; z \- Z. k var RGB = new Array;
- N: o4 ?; _3 S6 Z" Q4 e var tempSting=colorString.substring(4,colorString.length-1);
D% n' o! r+ |& X+ V, U1 u var tempArray=tempSting.split(",");( Z& N7 _2 G9 Y( m3 t7 M
& Z3 O; C0 K. X* F9 N8 F
RGB[0]=parseInt(tempArray[0]);
2 r7 ]6 o! P& ^6 _! y& k4 K6 I RGB[1]=parseInt(tempArray[1]);/ a4 I2 G0 q" n1 Q7 B$ R: G
RGB[2]=parseInt(tempArray[2]);
- n/ u( M e$ J* P$ R6 n
; Y+ j# C) Y- V: z" q* R9 Y& j return RGB;
0 \# Q5 u E7 T* r- E}
3 q( y! A9 t/ E6 hfunction keys(evt)
8 q& h; n. j6 H7 w# b5 M, P" `. B E {
* F- j7 I& L, U) Z# q4 x. \$ u if(evt.ctrlKey && evt.keyCode=="81") ' M) J" f& N' e. b7 `
{ / @. ?2 g( `$ f) J
CleanHideObj.on(0,1);
1 e' R4 G" ?) P( x% z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % R. `+ k4 L- D
5 ^& p/ N$ y+ ~% @' z4 Z }
) K+ f& \% X" ? } 4 [( h7 w3 r) y9 \/ J
document.addEventListener('keydown', keys, false);
: I/ k" S+ V6 w( O2 d: VGM_registerMenuCommand ('Clean Hide',$ B# F ^1 T) @7 R
function(e){7 L. V: E" Q$ K9 M
CleanHideObj.on(0,1)% ^( X6 F* S1 e: I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- R6 f6 `6 t' o6 z
});! [8 A' Z7 L1 x
|
评分
-
查看全部评分
|