|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ z' q) g4 M, w. p* l
, H0 b, u9 A6 z+ C1 Z火狐插件,用猴子 y# c6 w7 f" A& ~: N/ o
# u1 U; B$ V& K+ q/ Y' x' k8 M+ m L
var debug=false;
: F) \9 }9 z, qvar CleanHideObj=new CleanHideClass();0 V5 v9 n- l) i4 v9 T ?
7 u9 j) ^% v' N3 o) d! pfunction CleanHideClass() D- K7 [: ~# A- ] ]
{
) T5 e- F- F$ m8 j % e- M# Q! |0 U7 j* m3 _
this.on=function(id,bMZ)
+ A$ E/ T2 h' v& `" k {/ e* D* G# c+ u" m; C8 E0 {3 W/ O0 t3 }
5 E0 }0 S2 [4 J! w
if(id == 0)
9 Z/ V7 f3 X5 ]( M3 ]0 Z" C1 ]- q' } {
" S6 h3 c9 P" A1 A var page=/* document.getElementById("content").contentDocument */document;
( {( o0 G2 U0 G7 h& s8 A* S; Y2 D4 E! |8 U this.RemoveHide(page,"span");
9 B/ H) Z1 m7 W/ Q5 T% R this.RemoveHide(page,"font");" p3 C0 x. O: w# C1 @3 {3 ~
this.RemoveHide(page,"div");4 E! u/ @, q6 z& u& d
this.RemoveHide(page,"p");
# F) p' R: y4 ~! R ?1 L
) x. `- c9 c% i3 V" w+ c+ m }) K; [6 h+ D. Z( _2 W
; i1 e8 E3 Z5 m- S7 d }
4 l1 V: P# H& b+ ?+ Y: e* @ this.getobjstyle=function(node,prop)5 M7 c* F0 G8 |- k" J% R
{0 c( H& @" u8 x, N* x! @; K+ [
try
W& m; M$ e- w+ k# _ {. n) h9 Q* a1 P$ M i# l, }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# r, V/ V4 C$ l) ?
}
& J4 u+ J( i: t1 }- k catch(e)1 U9 f' J8 X& n4 I* f+ [
{
! z% d7 }) o7 i9 { if(debug)$ F$ B7 x) |1 A- f; M
{2 L) @: B" l9 W! J1 \* h
alert(e.message);) p4 u3 I- W; g0 r/ t1 Q% p3 Q3 f8 s
}. D; U, Y" y2 C! S$ Q8 s
2 k6 f8 }2 H" p0 t return "200";
' e' y8 M1 ]$ ~; l9 I) \2 W }1 P$ Z2 Y; K! f+ c, M" K
}
9 M6 p& [" E0 ~2 ~
2 W4 e. C: i, D! a4 @ this.RemoveHide=function(page,objname)
$ ]7 S _ K" j! f; } {
: \. |% X% P2 K# Y try
% f. S* v3 C5 L) \ {; d6 i. A/ R* G- P4 M& i# F9 N0 @
var minValue=15;
6 G; ~( \+ p2 U" C4 B3 v& g6 j var objs=page.getElementsByTagName(objname); 9 T& X) _1 f0 E. }4 N1 j2 G- e
7 O1 w8 v6 R' m, V if(objs.length == 0)
9 j: `& h* E' o9 h) I% j {
u( ^7 J6 z( r: f& [: D+ n: O if(debug)
5 Y1 w2 H) A7 ~. a4 x! T {
+ o' R8 h/ y8 P2 Z- H- d alert("no object found!:"+objname);: z! E2 r4 N, n! w
}' N! x+ J- z& y7 F; }
}
0 ]6 P0 L F$ z% |, j" R# E else. }) Y$ y) p" `
{, }4 @, C' p/ Q: D
: \; N# A% D. J; H4 u; x6 \
for(var i=objs.length-1;i>=0;i--) ' g; P7 I. y* A ^
{
9 @+ F5 R4 p4 t0 s" h6 ~2 f; P var node=objs.item(i);
7 ~# h2 U4 C" @3 k # p1 ~* p' w+ q$ ?
8 j0 A5 ?- E- A% L: M/ j4 j if(this.getobjstyle(node,"display") == "none" ||: t# O+ x2 u" S" C
this.getobjstyle(node,"visibility") =="hidden" ||
/ e: j: M7 [7 t# g; f parseInt(this.getobjstyle(node,"font-size")) == 0) 5 x2 W% G- f$ f% z- {
{! F( ?; P- Y' h1 l6 n- _# F
if(debug)
+ [) {5 C$ b7 ^$ Q1 Q" m- z* m {
5 n+ i* n; c* t; K alert("remove invisiable!");6 b7 h6 ]- m' `) t2 P! l& q7 q
}$ \) I# z! R" p
node.parentNode.removeChild(node);
% Z3 f# S# e% o1 R5 M5 M% s
/ t! E# |! v4 j; m }
! E7 d& E- t5 i/ m0 w else
. `& a* ^( e2 \* V {2 b& r& p1 C# \
if(node.parentNode) # U$ L/ H) o. `" k- v6 d5 J( V
{4 E/ w/ z' I+ g( a
var orgNode=node;
6 e4 }/ E/ b9 F0 J; k( }$ M) N8 [ var orgColor=this.getobjstyle(orgNode,"color")5 j6 L+ @4 A( y9 d2 T* Y9 r6 \+ a
var orgRGB=getRGB(orgColor);
* a: X9 R! k, u8 _ 2 N4 ~; F: C* x, {/ s+ G% m
var parentNode=node.parentNode
& ]& H, u; q8 I5 h& o var parentBgColor=this.getobjstyle(parentNode,"background-color");; e1 L1 W. {' u r/ c. h/ J
0 D! E$ C8 L0 ], d
var isLast=false;7 h' d* a: q! H
' @. O X5 {$ b7 G8 ]0 i: I
while(parentBgColor == "transparent") 6 g1 H' C: ^* B* [9 x
{
" T* `; p! F6 p& B9 w
, a9 h. k! E$ _$ x' w 0 w0 i6 }4 X3 {# M5 t
if(parentNode.parentNode == null)+ G( m9 f- w* O F. m
{
: N1 [$ u1 y/ d5 q isLast=true;4 h5 o) [1 m A: N9 Z$ `
break;
3 S; s @0 l2 W0 n' O/ v9 S2 S }
9 [# x9 @9 F4 S5 O. R parentNode=parentNode.parentNode;* d& Z& c0 u( G y' O6 ~0 d7 W
parentBgColor=this.getobjstyle(parentNode,"background-color");7 W. a. Z8 q8 C, e; ?
- m% T3 l( s( A" E+ ?, v @ if(parentBgColor != "transparent") - d3 X8 s1 o2 f7 y
{
1 Q9 [) v4 D; Z5 r4 H break;
+ Z' V: S. s2 Q# P% z' x1 D9 d }
& c! u9 d* a0 ]: _ }3 S! j; E: |7 f
if(isLast) - G- \6 ^# _; u; u& g$ d( O: S
{% T9 d( n$ }' v) i# I
if(debug)4 I/ Y! P- ^8 L' f) @) c& t/ q7 \, ]# O
{
. b* s4 H; q L, _- h( i" r alert("last!!");2 ~3 b) z7 L5 N1 H
}! q; a5 |9 n# ~5 Q) }
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" @; f+ J5 t8 {0 w( M% O {
+ P: F4 K/ D/ |, K9 R orgNode.parentNode.removeChild(orgNode); & {" L+ l9 v# |+ s0 l/ c; Y7 a
}
. M' h) H+ } h. t$ T }9 d4 Z5 ]( A$ }6 b3 k$ F5 q
else
7 n$ `7 z8 g) w! X {: t, X9 h) v; @+ e1 i
if(debug)
/ |3 _! g l/ c {+ z8 v5 v V8 U4 V5 z1 O3 _! o
alert("compare color and parent bgcolor!");% _7 x+ p% j5 e7 z; F3 Z% h
}
& ]( M- P7 \ w R9 Z( @ parentBgRGB=getRGB(parentBgColor);
! [0 I" [3 e+ X G' _7 M& d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 W% x$ ^5 W9 ?. n! L
{
! f. V h5 k. \8 K orgNode.parentNode.removeChild(orgNode);
# {* t" @% Z7 ]& w |8 j/ M }9 h' J+ _% y9 K) r# R" [. _) p
}
. N$ K8 Z9 d/ g! D6 N! ~2 m }6 B5 t/ S' H/ V% V
}
I; f+ T, ]5 O/ { }
. o7 d* O8 J$ v5 p6 J6 ^6 B }/ {: Y" N/ l' x& Q
$ c/ a [( Z1 {2 Q: H) m
+ k3 t! c* H) a. L6 l
var itemFrames = page.getElementsByTagName("frame");' N4 t$ s! }! f- X# E
var itemiFrames = page.getElementsByTagName("iframe");3 S6 d0 b6 r( M- S& b: T5 f
$ y, k0 {# v5 r* y- n3 U: @( N
var frame, iframe;
9 Q5 Y/ V& F- o* D7 B if (itemFrames.length > 0)
) V$ A9 k; G* A6 S { z6 U% D1 w) d
for (var i = 0 ; i< itemFrames.length ; i++) $ H1 x; k1 ]- s+ O/ ^& Z
{
: t$ B% t$ C/ m2 P5 w frame = itemFrames.contentDocument;
* ]* A$ U! I/ T% C this.RemoveHide(frame,objname); ) j: D8 q/ `+ o5 W
}5 z# V0 o; d% y' z
}1 a; A& U) t w& r: `! W
if (itemiFrames.length > 0)1 S+ L/ B3 A. ^: K
{
. b' U+ S. ~6 b for (var i = 0 ; i < itemiFrames.length ; i++) ' ?; X: A! ^! d3 d
{ s1 Q7 a# o. F: b. i3 P
iframe = itemiFrames.contentDocument;
5 t' r) F1 i5 q. C this.RemoveHide(iframe,objname);
' z5 s, p& X0 h7 W+ H% t }8 `1 i+ S3 @7 s) Y) Z: Y
}9 b- `4 y) u8 U, M( x6 |
}- [+ W. |! u$ Q7 K- |7 g
catch(e)) f5 s- ]: U3 D" d0 I$ z
{* @% s( J+ z$ H) ]/ M2 |* t7 Q
if(debug)
4 }( c( }8 b1 ]; o5 } {
% [, e& M+ \. K& F" R9 z- W alert(e.message);
* w" h5 }+ `, q) H6 m% I; J }3 H6 t* ~9 E$ P) }7 t9 f9 l! P
}# M5 [0 f- X) L ?: b4 C ^. ^1 c
}/ l% u1 M ]! x8 g
) d+ P2 q4 e( I2 g! z; e5 Y}$ Y8 B4 t2 ~' |+ i
; }6 K- G$ r: e2 z) r7 F& ?function getRGB(colorString)! {" {. f) J3 D! B5 |; i2 Q4 O" b$ l
{5 D$ d# }: h0 N5 l! A$ ~0 b+ g' R4 G
var RGB = new Array;! [9 M+ H" t& d9 S0 c2 y
var tempSting=colorString.substring(4,colorString.length-1);
( v. T' Q( Y( E' ^* N1 P7 A$ r var tempArray=tempSting.split(",");+ o1 Q5 h/ G- Z& Y
& k v; c9 N) G6 b- u- C: c/ `
RGB[0]=parseInt(tempArray[0]);
+ B9 K2 T; C R& |% T- B) Y; Y RGB[1]=parseInt(tempArray[1]);
6 e# o; J# @8 W8 M% [& G8 ~ RGB[2]=parseInt(tempArray[2]);
: F0 ^6 `& }' S 7 \. s7 V' j/ h3 ~3 G$ T
return RGB;
& s) N4 N% w+ ?+ H3 A}
# w5 h% C0 Y" w! [0 kfunction keys(evt) _9 `+ J) j$ H" N7 a
{
) F( C8 W/ q9 b9 J if(evt.ctrlKey && evt.keyCode=="81") 2 U: r3 R' @6 [0 m" c0 K& A
{
?3 J) ]" d I* f CleanHideObj.on(0,1);
: @% f3 w. }) x8 `$ N0 u7 q) y) A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ f% I/ A" i3 b# c- @7 l% C 1 {1 O& X) ^. @$ C% G3 k) T' `
}
- V* ?8 a: O/ C. a } + E; e5 U1 `+ V$ D
document.addEventListener('keydown', keys, false);
7 ^, D+ [) } ?' r+ d2 dGM_registerMenuCommand ('Clean Hide',
7 q1 k3 \( Y4 u& I* _+ tfunction(e){4 o, ]4 R, D' h" Q* q' Z% [
CleanHideObj.on(0,1)! N; e0 U' W( @- T! r* r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 w+ _! D9 X0 n& z1 w. W: u& L2 O});
" ]; J; v0 @6 E |
评分
-
查看全部评分
|