|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 g$ h) C1 F& I) `5 l6 L6 ^* O o% Z3 Z% U
火狐插件,用猴子$ a0 x2 v: V" a3 @( t) u5 f( Z
# Q: `* r9 l3 B; n' |: P
var debug=false; 8 D, g) b2 z& L0 M( C
var CleanHideObj=new CleanHideClass();+ X8 F6 G) |7 x, b' w$ `
( c" c- H K+ I3 c
function CleanHideClass()
$ g3 ]* l3 ~/ ?0 K6 }! f. E{ 2 U# L# A; S e. c6 D ?
* i) x3 s% r7 \+ a5 T" n- A0 B
this.on=function(id,bMZ)" l% z/ e* ^0 h8 @( l7 k
{9 T4 ?2 M! F: l& S
+ h; c Q% l7 r! K7 T if(id == 0)
% G7 f6 [& x: t3 G' L" T {: x4 u, ?" t: ^, s' }
var page=/* document.getElementById("content").contentDocument */document; " G+ M: I# u! J" F: b% ^! A
this.RemoveHide(page,"span");. F6 P1 N3 j) w) q5 W1 s
this.RemoveHide(page,"font");" n' I7 E' i0 [9 G/ D
this.RemoveHide(page,"div");
. M% j# Y" ~$ o' s this.RemoveHide(page,"p");0 O- F4 @2 v' L" ^5 S' H. L: H
9 H2 y# C4 M2 E2 B; @( o5 S } B: ]) I* m6 f: `; { ?' n% x
9 [; v% o ~$ e9 T. D
}
- F7 D# m: o. p: e9 B' t0 o% b this.getobjstyle=function(node,prop)
* ^/ Z( c9 m. U4 C8 Q- [; G {
9 U3 G a+ z/ h$ o try
0 L5 a* `6 ^$ e6 {6 q {; |1 C& j! Y2 F; o$ Y) l1 n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 B( W7 t3 k3 d) i }
! q) y, @+ {' _ catch(e)
~# D. z# H/ J2 E1 p) \ {
8 E" F$ t' x$ p+ U$ ]6 Z4 X if(debug)
% Q1 A# X$ {5 Y5 S0 y {/ D s7 J& U% Z
alert(e.message);2 O& v; r+ ~; d+ w
}) P$ D1 G7 _6 [+ v
1 g: E; w9 ^1 x6 ~6 ?5 C0 P+ j return "200";, [1 Q+ d! `$ a% c o
}! I8 _9 a3 i1 `# Q5 I8 T* ~
}
5 I9 F$ t% c6 s ( A+ U1 Z5 g% Q) ?/ ~5 G7 K6 F
this.RemoveHide=function(page,objname)+ X5 M0 s0 }$ H g
{
) Q$ K; b5 N6 \2 \ try
9 M5 f+ k4 T2 h& X+ L* E {# t3 ]# o- S: q+ N% W$ l
var minValue=15;
4 r0 Z& B) e) ` var objs=page.getElementsByTagName(objname); ! `( o: r4 u( `4 c+ s( X$ ^# T5 G
! p' ]4 v* V) Z* X0 A if(objs.length == 0) / X4 B0 `0 f1 C0 Q( W3 V
{ F4 T$ A* Q. u' J5 }
if(debug)7 j* L9 ?6 S" Z2 X
{. ~, l6 x. F( s' ? u
alert("no object found!:"+objname);
( `. P2 u% h: X3 G# E6 h) q }
N3 T3 Z3 R- b3 d/ E }
9 j1 i* m' E" ?+ L n+ ? else
3 {6 K) K" w% | |0 r {5 [. e6 j1 ~9 {# A1 | f: R+ K" n
% r0 B! T. U+ ` for(var i=objs.length-1;i>=0;i--) ! R+ B7 t( y" U$ P; h% ]; Q. |. P* a
{, D4 A( t- ^% T' G
var node=objs.item(i); , Z: ^* i3 R3 \* c! X, v
* U0 Q6 Z/ g1 L1 s8 k
- v& a3 f/ [# o! {# o if(this.getobjstyle(node,"display") == "none" ||; N t* @- X8 k9 w' W, n
this.getobjstyle(node,"visibility") =="hidden" ||; X9 N0 y6 \# `- X) E) z0 I; c! s
parseInt(this.getobjstyle(node,"font-size")) == 0)
7 p# p% ]5 z0 @( P8 L# S" O {
# m0 {; a/ ^9 c. T* h7 l+ o9 v# P if(debug)
& }7 t& T1 `' T, E* L {" ^8 n* p3 W9 C- G% c
alert("remove invisiable!");
9 W7 r1 X. F/ o G }2 b( W' \# q' d+ d$ ?5 r
node.parentNode.removeChild(node);
6 H) @* ?" F: C 6 A6 i# T$ [; _5 V% |
}% ]4 i* \: J% f I8 Y
else ; ?8 l1 d* x6 _" @8 t" T
{3 C% x( u8 k- v0 R% I1 u' `
if(node.parentNode)
2 }" N9 J) x3 F7 K! \ {0 S, r3 p- [9 n+ v; g* R
var orgNode=node;
* j& P( w9 T7 P) b3 u& C var orgColor=this.getobjstyle(orgNode,"color")' J; m0 D, D) ^+ Q4 ?0 O
var orgRGB=getRGB(orgColor);
[- y' s/ Q* `0 j7 W
# ^3 I$ W1 A& H# B) { var parentNode=node.parentNode
% h! P8 f1 Z! d4 g5 S: y# P var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ m1 c: L! O" G/ ]4 Q0 r
1 l5 y% M: C3 ]) F3 H1 S1 w var isLast=false;
8 n' v1 H9 j. w
6 b( c- _: W# Q4 d2 U4 r4 A while(parentBgColor == "transparent") 4 ?0 N1 w- I( T" u9 z1 x, F
{) O4 v2 o1 K% p+ s# R
( n, `3 B! _# U+ U $ [& ^& r5 q( j8 [/ f! y1 Q1 g
if(parentNode.parentNode == null)3 r( p4 S: b8 I) c
{8 U4 t7 @- L0 @2 G4 k
isLast=true;
- V% I" {. x8 _ break;
/ X! M* k ^& w6 G! u3 j# r* u }
J' C8 |$ i. [; f+ t6 B- T1 u" p parentNode=parentNode.parentNode;3 _( N5 V8 J! E! J& e
parentBgColor=this.getobjstyle(parentNode,"background-color");2 e' v2 U! I; A2 o5 H+ T; [+ |. F2 y: y
+ y8 m5 p% W Z# z if(parentBgColor != "transparent") 8 b* f1 V7 ]5 F g) p" t+ v
{6 u& b7 W; b3 h) o
break;3 A) c" ]9 }9 w
}' ]$ |% H) v+ @/ `) K
}
; E1 I; `/ {9 P% ~; H1 w if(isLast) ! h3 R3 ^4 [' X. C* |; r5 B
{
$ ?# w- C" k% [ if(debug)
. `5 z6 [4 L6 ^2 h/ Y: o {
( O A0 d6 Y$ w# s$ j# q! g alert("last!!");
$ M' _# I& p- u) ~ }
% C7 x- t$ M# X; O; K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 F+ i) O& O0 G! d {
" @& c8 `& _9 o/ w* w9 e orgNode.parentNode.removeChild(orgNode); 4 q; K3 U1 L' ]& B2 `) |$ S) t
}
+ X! y: i! t9 y }
3 M% {! N' ^2 i* v* _ else
# J7 T3 z3 i+ i$ ^5 ~1 E1 h {6 ~% ~- J+ y7 Q% \* T& I
if(debug)* U# @4 S L- s% M* L. t
{
3 X4 |, ~* V- d# b% E alert("compare color and parent bgcolor!");/ c+ D* g2 a1 R" @- I, S9 ^) m
}
5 }/ R0 z0 Z( O' V parentBgRGB=getRGB(parentBgColor);- d" g( {( O( q2 k: t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 D4 N* Z& J" Q8 N {4 @. N/ I' `0 ?, u0 @" f
orgNode.parentNode.removeChild(orgNode); . S; w( n/ c i J3 ^
}8 W; u* r4 W# `6 j6 }- x
}
9 K9 m, a+ T# `7 H4 `% l: ^1 ` }
: C; F S4 J2 r& A/ u/ _" R }
2 p b. {- G! N7 g- d' r0 m }
- x9 W6 K3 ` Z6 e" X( l }* G4 F' }+ [% J& [! m; P1 C
" {5 W, |- E8 k0 ~9 D0 \3 |% `
* L% ^, a- h8 Z) I) H, t: ]/ t var itemFrames = page.getElementsByTagName("frame");
- N6 X1 Y& P7 c( O# T var itemiFrames = page.getElementsByTagName("iframe");
& S4 j! ]9 p, D; l- l2 y ; M3 s1 i% Z( H1 T* o1 `
var frame, iframe;: c, x$ x2 n( J7 Y8 a$ `% ^
if (itemFrames.length > 0)
/ I- L3 O8 s0 s {6 W$ ]4 D2 w; O4 T
for (var i = 0 ; i< itemFrames.length ; i++) 2 v) A- a% e) K' Z% w! O/ c8 r
{
4 c8 M7 F* v$ u2 v6 |* t/ j frame = itemFrames.contentDocument;
' u: k, H# n+ ~1 ] this.RemoveHide(frame,objname); / C" J w, n8 T4 |. H1 d, @
}1 A8 a$ s K: A6 K8 r! l
}9 t ~) b" g; P: T
if (itemiFrames.length > 0)0 I% n. w E, C5 Y P
{! h9 O" S. b: r( q* h7 x" L6 t [
for (var i = 0 ; i < itemiFrames.length ; i++)
( ^% `8 O4 _1 e# K$ B' E {0 R+ ?+ h) @" {5 o# E
iframe = itemiFrames.contentDocument;4 O1 g; `) k @# a& j7 [
this.RemoveHide(iframe,objname); : Q4 ^" I' j: S2 ]. A4 A" {
}
" L( k0 @) ]2 l( Q. ]8 C }9 K% S9 J1 d8 X, z
}) a" B1 P. [1 a. s9 @+ H8 }
catch(e)
5 W8 ]' u* K a! } {% G+ z3 P; ~0 u1 ~" N
if(debug)
% V4 M9 E4 b% J1 a {9 i n9 C a. U1 v5 ~0 M3 t
alert(e.message);
% V$ y& F8 ]3 G* y6 N; j }# x w* d- W7 N# N
}7 e+ L. Z3 s. R& l; H; M
}, i$ x# C# L" v# j2 P0 D0 r
. H# `0 y! f0 [( E! R9 e6 K}3 O2 E! [* H9 a5 W* }/ E! |
6 y# O' O4 M' W5 I6 u8 J/ }function getRGB(colorString)
1 i% Z: ^/ j, b: q% I( x{
, V7 K9 U! S& O var RGB = new Array;
* h3 M( _4 c8 x var tempSting=colorString.substring(4,colorString.length-1);
/ v0 j# `5 ]4 w! {$ Y% m$ } var tempArray=tempSting.split(",");
, Q; X$ q$ m! `8 \- u/ y
* r0 O7 ?0 `% p( v0 p0 Y3 I RGB[0]=parseInt(tempArray[0]);
& `/ z2 C8 N8 `! j% s RGB[1]=parseInt(tempArray[1]);
% { p% X9 b8 f; |7 \' q- o RGB[2]=parseInt(tempArray[2]);5 O: [/ l; f7 Z) x$ w
2 Z5 P1 ] [0 K0 i0 ~' ^( B/ \0 w
return RGB; a- W% R: ?, w D5 O
}
% ]* c9 e3 ?; A) y' q8 Lfunction keys(evt) 0 v" k1 \9 D0 t# Y1 O( h2 V2 B [
{
+ T' F- b2 r& r3 W4 n5 D# b2 S$ w5 m if(evt.ctrlKey && evt.keyCode=="81")
3 \0 l6 d) d+ t$ [, L3 _- ^ { 5 I; w$ r% Y2 C* s( R2 x# T
CleanHideObj.on(0,1);
0 Z# V% a: g4 R# m2 U5 a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 t8 v$ |- K! [5 x5 i0 | 1 S1 d1 V! z: T
} 4 F0 ?7 d0 r1 T* U1 W
}
2 X! @ u2 I0 B4 t9 B9 Pdocument.addEventListener('keydown', keys, false);
x: |) \6 ]) X' X( D0 n" l/ G( |GM_registerMenuCommand ('Clean Hide',
: ~# p! s+ L- H' z) v' a: R; m, kfunction(e){
) q) b V6 m9 BCleanHideObj.on(0,1): _* a2 s# S2 s( s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 e+ l# _' w8 t3 D1 ~; P, w});
& r2 F/ b8 I2 J7 G [3 s8 {7 U |
评分
-
查看全部评分
|