|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 M- T+ J% ^2 o+ [
) p- B% B: J5 g' d# {) o
火狐插件,用猴子
% Y4 v) @! w. d8 Z3 q |" O$ o' d: D) b
var debug=false; 8 ]" _* @* Z6 r9 f0 Z0 ~
var CleanHideObj=new CleanHideClass();
% J% @) |- A6 E5 r8 m' x1 E
2 v+ q$ ]" V; L; {9 Lfunction CleanHideClass() ) C9 h: @/ s- E% i% v' k( Q, z9 \
{
7 Q' N- T+ b( v! _4 a4 X& _% O & f5 u3 Y# w' o: a" _
this.on=function(id,bMZ)2 y) g0 j. m% o0 h+ a; `
{
2 K Q8 X3 r0 |7 k
- S- B* i; b' U+ B* q if(id == 0)
8 s6 O8 w6 L% T, F {6 F- v t, [, A: h. e/ J6 A* p2 ^
var page=/* document.getElementById("content").contentDocument */document; 4 I6 D) a; s L
this.RemoveHide(page,"span");
* @( u- _/ v2 [ this.RemoveHide(page,"font");
s3 H- {/ G3 N8 j) d* F! w this.RemoveHide(page,"div");& x7 Z# C/ x9 f* [) G
this.RemoveHide(page,"p");
2 ?, ^4 F7 {/ r; N& }; E ! f0 Q3 e( b+ a7 s$ | }/ _
}/ a8 z9 O+ e/ H3 R
" _" |' u u5 ]6 t' ]
}
( |- T. W; X9 \% T3 ?* W this.getobjstyle=function(node,prop)) N# \7 S: R, t- U) Y
{& D( d' a# Z, m
try& r3 T6 }" C5 g# J
{
3 t4 f8 l m) c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ T) D& E: {, E6 f1 r2 W
}
" T2 w0 e) H3 k) T$ A catch(e)
3 h6 Z5 o ~6 I {2 ~7 K: B. e3 T. y @" z2 Z+ o
if(debug): C9 q) L1 p& u$ U. G( J- G
{9 S9 A8 t: c( r$ Z7 k4 u
alert(e.message);
1 n' d2 W, L: C4 W/ z: w" A- H }
* y$ Y: E# t6 r' ~1 Z ' z/ B5 L+ ~; b7 F6 _" v* _5 `8 l' Q
return "200";, ~: A& e9 c0 o0 N: q0 Z
}
' {# s3 V$ ?8 g! Q* [- S& ^ }7 d0 ^' B; y w2 c, i* X% |! u2 P0 l
8 W$ Y' M% o" ]
this.RemoveHide=function(page,objname)
) \5 r4 y5 C# V. g" W% ]1 W8 W/ A7 I$ I2 w {
* [( Q' m H+ i3 K4 t/ Q: n& j try
$ F; q7 l+ f5 h$ X0 K {# R; M s B _3 B8 H
var minValue=15;
! ~6 y1 e" l2 V& O/ f7 G var objs=page.getElementsByTagName(objname);
9 h* ] W+ K6 S: {/ i" [
* F/ v; E2 U5 a- z% e- e if(objs.length == 0)
" s( V; w, K' T3 j2 z {
7 B! M4 P5 m8 p' O9 ~ if(debug)3 K- [" \. ?/ V- ~# y7 b
{
2 P9 v6 D9 j9 _% R9 \' E alert("no object found!:"+objname);0 Z* |, \6 N2 F) s3 I( n5 {
}
: _0 R1 D6 m P1 r7 w! c6 D( u5 J }
9 c' ~( j3 g. U* I$ @; \$ e else
" J' f0 m1 n; ]1 i N {
/ ?1 H2 ]' S. r ?. R9 ^
7 X; ~& X- S. V& E for(var i=objs.length-1;i>=0;i--) : ^: F! P1 b$ i; g; U
{
9 Z# r3 S# \2 B1 D! \& E7 I var node=objs.item(i); 0 S! @: L; w* Y+ Z+ ]
6 [6 y. R) m2 B P
+ s: D3 R% K! j$ q8 J
if(this.getobjstyle(node,"display") == "none" ||
6 {4 t; c; I7 V this.getobjstyle(node,"visibility") =="hidden" ||
& j' }9 H: Q) m9 R' t, ^ parseInt(this.getobjstyle(node,"font-size")) == 0)
J1 W, S+ O( y8 E {7 D$ r$ d' j3 }& N/ ~/ R
if(debug)
+ m6 {& b! ]+ w2 v. H' c {& D& d0 q% u$ w- H. S+ b+ D0 W
alert("remove invisiable!");$ l8 }: U6 l# v- |& U, _4 ~
}
7 o8 A* ?4 _) T7 [: r node.parentNode.removeChild(node);4 c* s9 n* L7 ~4 f
3 u8 N6 p5 W1 _) C4 Z6 \ }
# x+ N2 B! [+ F K8 y else
& q- u8 W6 ]2 t% g" |( `+ [1 P; j {
$ K+ Z4 c, a+ t6 o7 q9 y4 V if(node.parentNode) 0 j. x# g' H2 E% z: O# d5 b7 L: F
{
# o" F$ y$ X( a& G# B$ c' C3 E var orgNode=node;
" F2 ~, M3 n& i3 V var orgColor=this.getobjstyle(orgNode,"color"); H# ~8 ]& c/ q" _9 e
var orgRGB=getRGB(orgColor);
- A' J) L' m& |5 ?$ f8 ?, s / D; o% g" R# n8 S5 { Q, l0 m
var parentNode=node.parentNode' ? b. P, b7 c6 j9 t
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 q' w, b# a6 M+ y1 m) j
1 J* C& @+ U. M* j
var isLast=false;8 a! V2 w. J+ U: b3 k
) M9 d- S% H& F3 Q1 b
while(parentBgColor == "transparent")
9 f9 f8 s+ V& Z& y1 u' x {4 n9 y* e6 u8 s! T) i
- n+ Q! R& i" y, h
' _9 u1 N, z' L/ B
if(parentNode.parentNode == null)9 f+ v1 `+ j4 o1 G3 _9 ^. @
{8 O# n' j+ z: y, S+ F4 L0 N0 e
isLast=true;
9 C3 w5 X4 A3 a' c8 I! c break;
5 {; e& q" x( R7 f+ q' B0 B$ \ }; b' h- x, r |, S0 X
parentNode=parentNode.parentNode;
9 x" S, v' d0 C4 ^! X parentBgColor=this.getobjstyle(parentNode,"background-color");
& Y% |. R) W' N1 f7 \2 u8 ^- \3 c) a, Z% z
if(parentBgColor != "transparent") / ^) x+ Z# r& ^
{
/ d: ]! I0 p6 Y6 h3 r1 O. r. f break;% ]* j' G, E; T* b; S9 E& \1 x% B! s
}1 |2 b- U \6 n n: x/ a% h0 b" r0 {
}
% z# `( ^1 p; m a0 a% b if(isLast) 3 H! O2 Q; m3 T, ?3 j
{0 N3 w4 {& N1 G/ H3 b4 z5 c; Z
if(debug)) w5 G. A7 p4 D* q) r: ?
{- e+ k t: S, I- p
alert("last!!");
3 z( e$ P9 `' X" z7 ~ }9 b; Q5 z( Z' R( G$ b2 i. D
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ M V1 }% G C4 e {
. P4 x r5 Q& a orgNode.parentNode.removeChild(orgNode);
& v# Q9 i3 Q$ w+ w( H }
5 X% i/ u( @" Q0 H }- Q1 ^# z Y/ h2 [8 k7 J# f; Y0 e
else
9 R' m" E* P$ ?, W( }% G {6 L6 u& V+ J y, `# f! `4 [ [
if(debug)+ e1 B+ v+ ~; Q! b# W
{
* S3 A- J! C: \" { alert("compare color and parent bgcolor!");9 N4 ?7 Z: [# X3 I1 y( v
}: P, j- K: x$ _6 T. G1 l
parentBgRGB=getRGB(parentBgColor);( x/ d4 g( p C8 S( P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 H: r J2 c1 O- C7 ~% w! @' e {1 |8 R$ w2 y2 f
orgNode.parentNode.removeChild(orgNode); R) x6 {8 W' Q/ m2 E& g
}
+ U% w ^" K0 C- @+ S7 m) C }; a) ]( V% n( w1 j+ |( O
}1 a9 B% F' C- ~" Q7 v
}
, \: N( V, b9 P) r! q8 T$ N: m }
+ C V4 x) f$ w c8 V }' F' D3 ?# k! E
! y' ~( A0 P! R3 s5 [ ' o- S# L, ?# ~- z& `7 z2 M
var itemFrames = page.getElementsByTagName("frame");
2 @- ?4 ]* h1 J4 U A var itemiFrames = page.getElementsByTagName("iframe");
$ O+ Z, j+ A" c, `. I: u
5 \* o4 b$ G1 a0 z! M var frame, iframe;
: B) W w; H6 b+ y k if (itemFrames.length > 0)9 j. _! B; C* y- C
{
1 `$ s9 O' ?- W for (var i = 0 ; i< itemFrames.length ; i++) # K/ ? p& E: `
{) E0 D' z8 `7 v. q" b
frame = itemFrames.contentDocument;
0 T8 n# b& p3 l, Z" {, ~ this.RemoveHide(frame,objname);
0 f7 t5 s) K2 }3 l& Z }6 u* f4 d- A0 _6 S
}0 b0 a9 R# n: }1 M7 b- E
if (itemiFrames.length > 0)$ I, K( j& u2 I' K1 I" S% s8 i
{5 t* U* ]1 H, q4 u
for (var i = 0 ; i < itemiFrames.length ; i++)
% q5 A. h x& ~* w' J {, ?7 S# Q) L- b& E5 h+ t% `1 \
iframe = itemiFrames.contentDocument;8 D! o: ~- K. T, i
this.RemoveHide(iframe,objname);
* J0 |3 t6 q6 J) u! o0 y }
* I9 J1 |% S& g% o4 t' K# j }
" e# T2 l5 Q2 K( \' J }3 r! K$ ?! x0 Z2 ^- F! k
catch(e)' h4 {8 a; e1 A }( w' h
{
9 v5 e5 _# P: A; p if(debug)0 L# b5 ? v% z2 x
{
$ u* s, D6 ^; l2 d9 A; g alert(e.message);
3 z4 Z r6 N7 C( N }
) M; G: O5 I8 Q1 O }
6 ^8 p/ o- V, b5 `' d- P# k) R) s }6 S0 V5 r" I) n, A$ Y
7 d8 A1 P4 ?2 H) S* {, e$ H7 m; r' @! J P}+ n/ j9 y% \: @. J
g$ X' s, x9 \: d; s2 m% t( |7 Efunction getRGB(colorString)
9 k \3 d5 d$ G$ E1 c: H{' t% \- _6 i) v2 h$ a8 X
var RGB = new Array;5 m3 y% V* n2 o# e9 W4 m3 o' m
var tempSting=colorString.substring(4,colorString.length-1);
% o$ \ K2 G/ \" R6 q var tempArray=tempSting.split(",");
+ s l* x" l2 Z+ X% O3 T2 A& J& u( R% k
RGB[0]=parseInt(tempArray[0]);- v8 o7 W% v, z; Q6 H
RGB[1]=parseInt(tempArray[1]);
+ H, T8 @ N$ Z RGB[2]=parseInt(tempArray[2]);
. j) I& n! T5 P1 E% A8 c, ?; p1 ? 7 V! M/ v1 a# ^! @/ L
return RGB;6 P A* F( c$ E T
}9 W, W+ _ C4 n5 F7 ], g# `
function keys(evt)
1 S" a* n/ |7 s, r i9 T% ] I { 9 z; f! {0 O8 R/ F) x
if(evt.ctrlKey && evt.keyCode=="81") 4 @( R6 L9 `' N$ M, O+ v; k
{ 4 C! E; ^. y) _: r
CleanHideObj.on(0,1);4 ]" N7 k% T1 k8 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # @. }6 |- Z/ ]* F
( I: y6 P4 ~8 y' Q
} 1 S3 \5 U1 h& e" H
} 8 k f* ^9 N0 V% H1 u
document.addEventListener('keydown', keys, false);
, o& P& `% Z$ J' VGM_registerMenuCommand ('Clean Hide',: { l0 L3 [: W
function(e){3 m; b# v6 p" n
CleanHideObj.on(0,1)
2 H" E2 B. p! ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' n) S! J1 ^' ~3 s8 Q4 L- P});: Y: a" ?3 D2 Q; q
|
评分
-
查看全部评分
|