|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % [2 G0 ~( G# M3 F% J; f
4 t/ _' T4 @+ n& R/ U: Q
火狐插件,用猴子
' C* ?3 O9 D& s3 o- v i. k$ n5 V3 L, T% m: u+ w6 F- |
var debug=false;
+ g$ A# C0 X1 f7 X* y; cvar CleanHideObj=new CleanHideClass();, v" X( M3 l/ h5 }+ i5 n l S6 y [
. H* H1 o, a# R8 w+ Yfunction CleanHideClass()
# O; t! `! D. t) o' n{
# s1 x# Y7 D2 I$ j
' s8 Z. K3 R' Q5 O% z" ? this.on=function(id,bMZ)
/ W a% s8 V1 `% Z s {
6 U, V' D" [3 m) Q1 |) w8 ?; Q7 r3 U+ k
U6 R1 I2 @$ W if(id == 0)( q' v/ s+ j6 ^0 U
{0 ^6 d; O6 a' k' [) ~
var page=/* document.getElementById("content").contentDocument */document;
7 Q2 ?* O! r: [ } this.RemoveHide(page,"span");
7 `0 X/ z; C% J- v# g this.RemoveHide(page,"font");
5 N/ P% G% A6 Z this.RemoveHide(page,"div");
4 l* q$ q: l3 G this.RemoveHide(page,"p");- C" m/ A9 ^, j0 `0 {
8 s+ P% R) P% u7 N; l
}
* J; }; @1 d& k V0 ] 9 ]+ k4 w" h( {5 y& _+ O- H/ B
}
+ ?" k5 R5 _7 ], u- v2 d this.getobjstyle=function(node,prop)
. z, ]# x v! y {
. P7 R5 I" y- M3 O7 | try) C5 v6 U: q) v0 @& H* U1 I$ g8 e+ E
{
' R9 {& [1 f! j9 | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 k$ C, t; o1 y1 |6 k }
" ?- x' o3 f/ F8 O3 `: { A# o0 I9 m catch(e)
7 a0 y- T6 n5 c- c5 L2 \. ? {
" o) q1 n# ^8 u if(debug)0 X$ V; z* {8 U6 k% ~1 h
{/ R( [8 E/ \; ~6 B
alert(e.message);0 [8 h4 @% W" M9 V8 s8 X
}
1 }9 b5 H& \3 u9 J$ x, x$ p
. o9 ~8 @0 Y/ i a* ]% W return "200";
2 ~+ M6 |4 F6 C0 ?8 K } q& o. t: Z. Y' y6 p$ n/ s
}
; p) R; k+ N" Y+ [ _' j 6 I. Z+ p3 G$ {! s! x
this.RemoveHide=function(page,objname)
) C j5 X5 G8 {5 @5 H2 x! Q7 _ {
" Y9 u9 Z5 I+ `- \" \9 C+ W+ a try
- h: n' O) Z8 r1 a1 d h {5 V' ]8 x- k2 C' C" ~! D
var minValue=15;9 D* M' d' V- L, [
var objs=page.getElementsByTagName(objname);
' u. J) l& U4 r1 z1 R2 m- b* t4 Q+ S4 t9 _# `- l, H2 c2 Y
if(objs.length == 0)
% x: }1 t n# p1 R {
0 n0 [( {1 y% e4 w% ~ if(debug)
" F ]+ @! A5 i% F x {' Y: \1 n% U0 x6 y
alert("no object found!:"+objname);5 A- a4 t. F0 `$ e3 H
}4 m0 U |0 O) S# T i" \
}% V) k7 z9 m2 f5 k% `& e
else$ g; Y+ l/ U, \- Q3 D3 N9 t
{
! t9 q. S/ e% E' B, x6 ~ # y* n4 w) j% E! S2 H! q! [
for(var i=objs.length-1;i>=0;i--) 0 |: \4 F6 i$ c3 |1 e
{
( r7 ]3 y8 A% I var node=objs.item(i);
& C3 w/ c. N! n! {3 r V3 m 2 ~4 d# e2 G" k; [
0 l& {% k2 z- a$ ?. m if(this.getobjstyle(node,"display") == "none" ||' H& } o: X- Z3 ~
this.getobjstyle(node,"visibility") =="hidden" ||
5 x' B& D. t- P: S8 H" J parseInt(this.getobjstyle(node,"font-size")) == 0) 8 L9 a6 G+ o C, h) @0 p" G
{/ l7 d8 W/ e6 O& M, b. N
if(debug)4 d$ X* g2 @, f1 T: h( Z
{* h7 F, o# a# C" }
alert("remove invisiable!");
b. S/ \8 v9 A) t$ z2 ? }8 ] G) A, x, u0 |
node.parentNode.removeChild(node);
6 X5 O9 D, [ \2 w6 c+ r8 J! r c ( j- W2 |4 w2 e% E
}
" g+ y# q6 j* I9 j6 g' \ else 2 U- V6 j1 A, Q) U# W( {& {4 x, h
{
6 \; o; a1 T0 K9 e/ V/ B2 z) U if(node.parentNode) ; ^3 H y7 B% w3 j
{$ [% a1 X$ u v4 W5 r
var orgNode=node;
: H2 K$ z) p& `( Z+ q var orgColor=this.getobjstyle(orgNode,"color")
T3 Z& \" p; C& j) W( n var orgRGB=getRGB(orgColor);
1 g" L8 e$ i" F6 o - S/ }: J0 x0 |- g) W% ?& L
var parentNode=node.parentNode
) G5 y. d& |$ m2 _ var parentBgColor=this.getobjstyle(parentNode,"background-color");
e7 i+ [, }; ]$ \; T# e . J/ k q2 f5 z9 X! O, q
var isLast=false;" {7 [4 b$ _' t& A+ C# A6 y
( F; u/ m5 `9 a t* ^1 Z/ `
while(parentBgColor == "transparent")
6 V+ }! [' Z8 O, f6 w {
# g$ U+ N, S1 M
/ X# ?' I; o! E, _+ o4 X
. t/ R0 b& P) |' A if(parentNode.parentNode == null)
5 c s7 S4 ?1 K0 `" P s {
! \$ n3 e+ |4 r( S$ o { isLast=true;7 j6 p$ q, U/ C& J$ v$ v
break;/ x& M6 W! T( u [
}
, P" b" l3 x8 v parentNode=parentNode.parentNode;
; I. W) E, D+ D parentBgColor=this.getobjstyle(parentNode,"background-color");8 z# I. e w. H3 ?+ `2 Y* D
* @. ^8 w8 y. @4 h0 M8 s( }
if(parentBgColor != "transparent")
5 z$ O7 j4 @4 h. |- N2 _ {+ b8 j5 p% v! ]
break;
) v* o7 w0 v7 n' ` }4 b" `# {1 l1 o* G6 m8 T
}
# h$ ]& Z# k# f0 s" H if(isLast)
* u1 B" V5 A) z; i9 z {
6 S3 M5 f- u1 [/ F1 z7 Y8 M if(debug)# g* n3 ]& M' Q$ F5 ^) O0 ?1 k
{
: E0 q e% I3 f3 z' L1 N6 O3 a; ? alert("last!!");% \8 j% ?! B( L7 P- L& N1 q. `
}
! `2 d* J( s% w+ b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& h& k/ M: B2 e# H5 m: ?3 _2 V {
; N$ a2 V }3 I' k' N/ L orgNode.parentNode.removeChild(orgNode); ) `( @! p' B, A" o/ _3 S
}- y, v; j4 @4 `
}
* u2 B' o! l5 z! P' A else0 I( X+ ? c' k$ P4 T, [
{2 }: V" |8 i: H& _# B- h
if(debug)
6 u" h k/ M/ ~9 B2 d+ `( v. d/ h {
) [3 B! [2 v; P7 {+ A! K7 { alert("compare color and parent bgcolor!");0 a6 C+ H4 t" }0 ~8 b' A
}
- ?2 U9 q$ r5 }' k+ N parentBgRGB=getRGB(parentBgColor); h, Q* n/ [! t9 S5 }6 H4 U$ h s
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ r5 m. r3 |1 K# r% O* s( C {% t7 s# c n' y- ]+ b% \. y
orgNode.parentNode.removeChild(orgNode);
/ i2 ]( q6 W" M. C4 X }! I& n+ r' t" t; `, R B3 ^
}
$ c7 ^; |3 E2 z8 ?! Z! q& S }
: |. w+ D% S2 V8 L9 n }6 o5 j6 M7 y; {0 ~
}
, M) B7 v; u+ g" s$ g6 B- A$ i! F }8 o2 k0 u8 L: V# V, h: K
) ~2 _9 a: ?1 K+ r& z% M% a: s * w+ k, z) E! _ |/ @2 i0 V
var itemFrames = page.getElementsByTagName("frame");
/ o6 I, t; F5 b% u, ? var itemiFrames = page.getElementsByTagName("iframe");2 c& b3 n& n* t) W3 E Z( f
# _3 B! B3 p6 n$ F: z
var frame, iframe;& p* {4 W& g1 H' w$ w
if (itemFrames.length > 0)
/ A% Q) _" d+ y {
* s' E H j, u0 T5 ~ for (var i = 0 ; i< itemFrames.length ; i++) ! L$ n& ?* q3 x( C, y6 H3 _9 @; \
{0 e! V& G* T; q7 X$ C) K
frame = itemFrames.contentDocument;2 F- E4 X$ g! |+ O* s
this.RemoveHide(frame,objname);
W n3 [" F @: A6 l" b7 y( U }
/ J2 Z4 b( r8 L/ r/ j }! ^% R, ^4 ~3 S# |2 p
if (itemiFrames.length > 0); V4 E* N/ N7 M" ^$ M
{
" O; e F5 F, x" H; h# z8 c* t( o for (var i = 0 ; i < itemiFrames.length ; i++)
# Z* l& ^1 u! B {, G. g% K1 M. B
iframe = itemiFrames.contentDocument;
0 G/ [/ H7 i) C( A* D9 q this.RemoveHide(iframe,objname); ) Q& j' b! {# a: f1 z
}5 U6 c8 t5 H9 v3 i* V7 C; t
}
7 I/ r' L( o: F) o& @ Q; U }
. _1 V2 d, c" Y3 y* x catch(e); i3 z& ?( s+ u( Q
{
% c% ^1 P: f( D$ r2 \8 `) V8 P if(debug)
: r) x- N+ O J% n {6 ` S& }" C& q% w' o3 s* |
alert(e.message);
+ v+ O( B% e- e! F4 g: P5 ?' }4 K }6 Y8 F5 U+ j& u* U1 b) L
}4 |1 i/ F9 }/ w' H. o
}9 Y: E% a7 |7 C$ b3 D9 D
7 @( A6 {8 N) N* Q4 {
}% A6 l8 Q" \: y- H F$ Y# R3 S" F
5 M* x, T' a+ `
function getRGB(colorString)
" E( H( J w5 O H3 @' D6 |{/ w5 X1 F7 N, {8 W7 N6 j" e2 e( i
var RGB = new Array;" Z+ l. L# r1 l+ v* K/ C
var tempSting=colorString.substring(4,colorString.length-1);8 C; x5 ]5 \- S4 u R
var tempArray=tempSting.split(",");
. `5 ^5 O$ i* o4 n
1 s2 n# E! E/ Y0 | RGB[0]=parseInt(tempArray[0]);
3 A/ q/ R t W/ ` RGB[1]=parseInt(tempArray[1]);" ~( t6 p( _: e2 N2 f, ~8 _$ p( y
RGB[2]=parseInt(tempArray[2]);3 y& s3 G3 A& H0 n1 Y0 i
; i0 t. v$ k$ q7 } return RGB; o+ A2 J+ l+ u$ S& c9 |
}
& i! D/ J2 i0 P! o: k; O9 Wfunction keys(evt) & R& g' J, \- T
{
" |' g; u+ |% C8 t F; t0 | if(evt.ctrlKey && evt.keyCode=="81")
6 }' t& _8 m! `3 k8 G {
8 z. z: }, o2 ` CleanHideObj.on(0,1);0 W. R, K9 S+ m. h# V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 Y) b3 X7 v$ |" n" m/ q. v. n1 U+ p0 s
; n8 U1 u {- K5 {# D- M
}
% ]# U: H- v! S3 e0 h+ U }
) c# c6 n n/ Rdocument.addEventListener('keydown', keys, false);
0 @( d" w8 B9 k5 [GM_registerMenuCommand ('Clean Hide',, ~+ Y. }/ D9 H+ s8 `# y8 c
function(e){0 V; U" V8 L5 p* [' a2 ?1 x8 v
CleanHideObj.on(0,1)) N' \- ~/ w$ r Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, c/ }) U, o0 j7 t- [
});
$ r" e" S, F1 l. v7 D5 q3 ^ |
评分
-
查看全部评分
|