|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 g* F0 R! [$ r$ Y& V6 |
8 K; `* X4 U3 V火狐插件,用猴子
( b$ o F! Y! t+ x8 }2 E9 c( B; V- I- ]& {: e% l W1 f
var debug=false;
( k4 Z4 i8 M4 y" O$ X7 Bvar CleanHideObj=new CleanHideClass();
+ i, @% \. A4 Q# O
1 @2 r- D) X3 ? v y) Efunction CleanHideClass()
/ \7 f- H; x9 r' `{ " e+ i5 V8 h+ V/ X
$ T$ x' T, ~, A* Z1 T this.on=function(id,bMZ)3 q4 a+ i6 s Y, L, Y% d: O) k7 `
{9 u9 g7 I/ R9 y( P: q# m4 }3 L
0 T: O9 ]2 P1 c/ h9 b
if(id == 0)
4 ~3 S5 W* O7 H& V& y* {- `2 Q& e {+ w0 w# s- i. V: g5 H2 C$ u' _
var page=/* document.getElementById("content").contentDocument */document; 7 v( L$ }' t5 `" B% V, q
this.RemoveHide(page,"span");
6 Y; \7 e, |- `/ N this.RemoveHide(page,"font");
4 i/ M) f% |) m& ^, o x& w9 ] this.RemoveHide(page,"div");
& C h z' ^4 c7 k& Q3 h: [$ W this.RemoveHide(page,"p");8 b/ q- Q' N7 W5 K* @/ Y
. k( a: c ]- h' B
}! \4 {# H, A6 K% v) E% a( L; ~
! \( S) y- C' l. Q! j* ] }
3 b* A5 k1 C, r; @ this.getobjstyle=function(node,prop)
9 L! i/ l) A; b& [ {: s: ? H* @# O* B) {0 b0 }
try1 |9 p* l) e6 ~' K* b- k7 R
{4 N* n% z( P% E8 ^3 m
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ s7 ]" E: z% J: D" z2 @
}
6 B9 E; k0 C& R: ^ catch(e). R) I4 Q4 a" Q' q5 ~% ^$ C4 r
{8 e9 ]1 G9 S# b P8 W1 J- y
if(debug)
. b. K; {, @* q% G# t( P {" D- L1 U/ `0 Q: s
alert(e.message);
4 |& i( N" O O3 q" ~5 ^. B }' U9 e J. n; N9 D3 Q) g
: o9 m! K, i/ W, O ]* d$ _! b0 Q
return "200";- V9 T, h' Y. B+ R( {5 d: @
}0 O# w( \6 _0 C+ w! v# e0 ?8 Q
} x, f' p: h% ^" Q$ W! X0 O* G
. d w; H( H6 v) d
this.RemoveHide=function(page,objname)- b5 e2 T, C; z6 s/ J i' w
{$ x8 M% Y. c1 \9 n9 w
try7 _% o1 E; |* c5 {
{
3 v/ v/ M6 {) }3 t3 P6 T: ` var minValue=15;
/ o6 l, C% |/ W var objs=page.getElementsByTagName(objname); % w/ g) n8 @/ n7 F# A
2 \% X/ @' {8 `. J1 x3 ] if(objs.length == 0)
# ^% h7 } m& q$ [* L( l; T7 t {* [$ @5 r7 H$ Z' E
if(debug)
3 C5 _4 H6 u! Z$ l" X d {2 x/ z, z/ Q( s* L; M& W Z- X) |
alert("no object found!:"+objname);; @8 h, Y: Y. x5 ~+ L9 i
}3 K1 [% U e; S% y& c: U
}
4 Y8 ]6 @& p: O6 k1 ] else
* M9 a% ?$ Q6 D% }9 F, w8 F$ X {
+ k) R2 v+ u# J
7 h% P- Q* M- t j1 W2 o+ }4 t for(var i=objs.length-1;i>=0;i--) 4 ~/ e1 Q3 v: g
{
' G" w9 D3 ?& I- U* [ var node=objs.item(i); ; U6 | Y" A) b2 z) ]7 a
4 c+ v7 L9 b4 D2 p" [4 h
( ~ @2 q4 u- K+ k. u9 [: m6 } if(this.getobjstyle(node,"display") == "none" ||( d Z( c6 m: [2 b- z, O. U
this.getobjstyle(node,"visibility") =="hidden" ||$ S5 W9 ]/ M* I( N; e, M! X
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 `+ i+ ^. a% a+ V6 \/ f
{
( k' c8 T2 \! z$ d$ ` if(debug)
0 [; ^% l! b( \7 n. F5 ~ {9 d9 F) j1 [2 V* C. T
alert("remove invisiable!");
2 `1 T# }4 _- C: f, H3 g O1 k2 z }4 f- e8 t4 j& x" t
node.parentNode.removeChild(node);" o5 h7 N( O2 f# @+ X) [
2 o. K) |% k. [ }$ V) U- _; N- x. R
else 6 I& Y0 X& F! B: S+ c7 g
{
% D; X$ M2 I6 j% F; Y" E if(node.parentNode)
+ u; ]1 N7 ^6 `' P3 J6 s {& b+ x* U! h5 W7 d+ g/ C7 r' X
var orgNode=node;
+ C6 x9 b N. b: y/ l7 m( i# V i var orgColor=this.getobjstyle(orgNode,"color")# l3 B& \7 w) W1 f
var orgRGB=getRGB(orgColor); - K7 H0 T1 G& }
/ M' ^/ A2 K& v, c# O var parentNode=node.parentNode
! w$ k- z& L( i! E! `1 u: [ var parentBgColor=this.getobjstyle(parentNode,"background-color");+ B) l: ?! e; L# ?# |
4 s+ |0 R6 {$ ` F5 [ var isLast=false;
" y' [9 Y, s* z# A! W0 n( o 5 Y2 S/ h( e' B& V9 H% Q
while(parentBgColor == "transparent")
( e# B: V; j. m, v" A {# L' t8 c6 K" W- z9 d" z
0 T" R* o' n7 A, Z& Y' z
2 t% v! a, w/ d- W$ k
if(parentNode.parentNode == null) H; k" d5 ?: x% |1 H4 X7 [* C
{9 K* i+ Z( L" @' z3 G u; h4 j" m
isLast=true;0 e1 O7 |! f$ ]6 b! {( G7 z* q7 L
break;
4 P/ ?. l+ e# U9 V" X } @7 H2 f2 N! S) ]4 g* }5 P" p
parentNode=parentNode.parentNode;5 l L) Y, b( D: R1 g
parentBgColor=this.getobjstyle(parentNode,"background-color");9 c& p" o* \4 g. k
/ e! N+ Q* m& G) {. B1 [; F2 G
if(parentBgColor != "transparent") 7 y- L3 C7 \! r
{0 B& Q* @% e# F5 ~1 H; r0 O
break;
6 t$ }/ W0 @+ Y/ j0 `+ @5 S }
, b/ _; N+ T6 W4 Q; Q }
- d5 ]! S- v$ q0 D8 y8 H! ?; ~ if(isLast)
9 V, @# M4 E4 C# p2 M5 W5 x {& _7 B1 i% q) Y' {2 \" Y# g
if(debug)
4 Q* e* p8 F) f* W {
$ _% t6 [' W2 _% l7 a alert("last!!");
+ }9 U$ V# p: O& x* ^5 N! @) ^ }, c; _- n$ g# ~! e* l, F- [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 |& a/ l/ d! d% a {7 N5 L$ P, y% {) m8 q/ @9 x
orgNode.parentNode.removeChild(orgNode);
' z- U1 N, y; \% ~( S0 y; R. L6 W }
2 s3 @$ p4 k* `2 Z" Y5 O. F$ N }- H6 A6 X6 S$ x5 ~6 Y6 `% }
else! N1 y/ r P2 y) y( l
{. P: l! h# l9 B6 F% f% g/ }
if(debug)6 N6 ?% N5 K. o) t H: G4 H" i
{" y4 ~6 }9 x( O0 C1 _ f0 a' G6 ~
alert("compare color and parent bgcolor!");) z$ b% }) ~! [" p& c; F
}
% E0 U7 F% H% ^" B1 G! M' O parentBgRGB=getRGB(parentBgColor);2 }. [: K! d c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% y. f* _ I! d7 v
{
5 {5 v, ~1 M$ }+ E orgNode.parentNode.removeChild(orgNode);
& F3 S0 H/ z O+ M3 X }; y8 ?4 Q- L7 ~8 O3 k; u0 \
} S/ Q/ C% ]$ b2 {3 h4 I2 r& f
}" ^ L5 ]3 W J! R1 Y2 g( }
}
3 N% i/ h2 _$ D: ?- _4 R2 z7 ~0 w# P }
/ f; |4 G9 l7 y( Y }& \ \8 \+ s9 g: h2 `# p
$ I& ]! I" ]* s! _9 W( K; B' y ; n! I4 a& P9 M/ n$ g+ Q
var itemFrames = page.getElementsByTagName("frame");- O$ _. ?! t* K; g
var itemiFrames = page.getElementsByTagName("iframe");
! B2 K$ ]2 l/ u6 P
$ }/ L* ^$ g$ q" o d g var frame, iframe;4 o$ h9 H f$ W2 R$ r
if (itemFrames.length > 0)6 @; p' F* ]7 V0 e; P- {
{
6 N5 i. Y: P, x* i$ |4 b9 e for (var i = 0 ; i< itemFrames.length ; i++)
0 H7 A) V: q2 p8 G {
: Y7 Z4 d; \* X9 h( H& _% | frame = itemFrames.contentDocument;( b8 X- L2 m. k1 c5 M9 i
this.RemoveHide(frame,objname); 7 z- O( F& \6 u
}
# J) N9 M7 @& W7 K% }/ S }1 p4 F/ d4 e6 f
if (itemiFrames.length > 0) U0 I+ T5 k' H% B& p
{2 k3 {5 K+ F1 O2 B
for (var i = 0 ; i < itemiFrames.length ; i++)
S+ R7 R& ]$ N- I9 C7 V {* n: m1 ]( w) y9 C
iframe = itemiFrames.contentDocument;8 G6 @1 C! Q; D+ c
this.RemoveHide(iframe,objname);
9 o6 \3 S+ q) ?& q- h: x( ` }8 Y) c# X! t! I- {, L' s
}
K% ^" T, c8 {8 V( d }; j- x; B& g* g" q: _, J5 Y
catch(e)
, b/ |/ h+ N: j1 r {4 w9 W0 {, J$ r3 `/ B
if(debug)
! x- Q' I7 L! k6 {: V( m {# z8 O9 l! g5 Z
alert(e.message);
, M2 L$ s4 Y5 @+ H* v ^8 q. c; f: B }; M% K( I0 S/ Y
}
4 p( ?/ H1 r, ]5 j" Q- d }0 k5 ?" E, {6 |* g
" {2 I6 e9 ~# C; t& r1 e% e
}
% ~! O# ?& P8 f: t1 j6 `
$ O0 |, ?" {" A" B3 r" l/ `/ Hfunction getRGB(colorString)
3 F# ~9 d% G* I. J$ l6 _{. a% m" t6 S# l0 w1 p, n5 [# a8 f
var RGB = new Array;
3 Z6 J/ E: J, ~6 l var tempSting=colorString.substring(4,colorString.length-1);# [7 t, ?' {: d$ t, U
var tempArray=tempSting.split(",");7 z5 k) ]% F$ v5 d5 e
: y7 W& {, b, r1 \
RGB[0]=parseInt(tempArray[0]);4 F' j. g& u( @
RGB[1]=parseInt(tempArray[1]);* B: _) @2 M: p; X+ K
RGB[2]=parseInt(tempArray[2]);& [) ?* y" ]5 p8 {; [: F9 z7 e
! S( i! A7 u) G$ N! h: q return RGB;
- ?% |& m& U/ r}
8 `: s, t' f: B3 P, ofunction keys(evt) 6 O% G' p7 k9 @6 i/ A
{ ! X: E, D! K8 v. E- Y6 g
if(evt.ctrlKey && evt.keyCode=="81")
! p2 E' j0 N7 x- ^/ |5 O6 z { 3 S) t& z+ }/ Y4 [: x& A3 `7 ^2 p/ n
CleanHideObj.on(0,1);
- M# r; P; ^. k0 ~1 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 C& y) G2 H4 y
0 d, g: C# Y9 s& Y1 s }
2 f' r. g) h! d6 O V4 _ }
1 G' f) v3 t2 |7 e9 \ S6 [document.addEventListener('keydown', keys, false);
' F: r# N( y, o ~; y- XGM_registerMenuCommand ('Clean Hide',8 \3 |& g1 L R
function(e){) e7 L b( K$ W F7 x; x0 o
CleanHideObj.on(0,1)
1 U. t c/ j/ O- q% ]) }9 Kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ m7 B- a0 t9 b+ ?* _8 [3 ^});
# o- M# ~ x4 e6 W0 ? |
评分
-
查看全部评分
|