|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
q1 J$ D& T" c, o6 T
6 i9 S( u( x+ C* @* _( R; z- T火狐插件,用猴子* _5 b, C$ u, J' D6 k7 X# {
0 W$ U% J9 w% d: P1 _ bvar debug=false; " X: ~- ?. ~) B7 D% W
var CleanHideObj=new CleanHideClass();% Y# R* x0 C% w$ z* v9 o
; |( @" t6 s( s* }7 `' H5 G; zfunction CleanHideClass()
3 \1 U% S2 q) _2 d# I3 h: i: ]# O2 C{ 9 {8 x" w2 ], b2 m- _" S8 W+ ?
1 r) B3 F% R2 u+ b2 Y
this.on=function(id,bMZ)& C5 g# I) e& K/ z' h" `) O
{/ f5 c( c8 e ^% r' h
) a. ^* ]! ^$ o' `: |
if(id == 0)0 ^* g$ `) b9 I1 L! P: l4 Z: O5 y
{
d9 `* G( n' A! H2 r var page=/* document.getElementById("content").contentDocument */document;
" C, t7 r. ~7 ~! A* P$ W this.RemoveHide(page,"span");( b" c+ ?0 y: ?. Q: d
this.RemoveHide(page,"font");
5 W: i: @3 G9 z2 z' c0 H this.RemoveHide(page,"div");
4 g8 y6 B9 H$ [5 j$ I0 }: r1 k this.RemoveHide(page,"p");
z" H- l1 y1 j" ? Z Z: S C/ A$ J
}. @# o% z" H' H* y! x4 O/ l
( w/ g$ {6 B; O+ X. i }% U% ?' T/ F1 u& H3 l
this.getobjstyle=function(node,prop). r1 `' t! Y. k/ m( x* A
{: t9 ?& g+ _" X& \
try$ K* O/ B7 w" d' c0 h6 o$ M& S
{+ ?6 w% V6 s+ j3 Q0 f6 ^& E7 ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, a# l( }3 D* O" \8 i M/ V
}
) ~+ u s/ }: L% l catch(e)
+ i& R6 ?& Q4 ]: d {* p9 F' A$ P) j& S, W& h5 z/ d
if(debug)
; H; e b7 H7 F& r3 g {! @" p0 D: y8 V( i3 `% _! ~
alert(e.message); G6 D( ~5 n; Z {' C
}
) i. B6 M" O$ G5 P 5 k2 D B. L8 Q$ c
return "200";
$ _, E" q8 N2 v' V& P1 J3 I" q }
; Y7 R* D `, C. q; b6 U5 ]7 t% f; A }
! ^/ ]& z( ^' E- j5 }, L( y' | 6 C' e2 }5 `- w+ u- b9 G. H
this.RemoveHide=function(page,objname)
8 P9 T K$ [9 @ {9 ?6 r1 Q# }( |1 [
try1 M( {. r' [7 y+ Q
{6 ?* j9 a2 n1 N# q
var minValue=15;
1 S6 q1 H2 R0 A! j9 z var objs=page.getElementsByTagName(objname);
( }+ E) m. q- K6 f3 ^$ {* c
`* h. V% |9 l2 [2 v if(objs.length == 0) ; r: X$ I4 f8 N: A+ {
{7 Z3 {/ _7 M9 V! I
if(debug)% G9 X7 g9 J- B( v# D* |$ h( {8 x3 R
{
2 J+ M# |/ t+ e/ ]% Y* u- b alert("no object found!:"+objname);
; W5 o4 T. s# d9 T( ]8 R }: L B: Z/ T7 \5 ~1 m& m8 }
}; D* C- V( _6 g1 u( I3 x9 R) G/ E
else
% v9 Y$ l! O$ T& R {% H6 D) X) h- m+ J5 V
0 u* h: m$ E) X; t1 E; _5 ^
for(var i=objs.length-1;i>=0;i--) # C; }8 q0 j. v" E9 `; m- n
{% b! w$ y) W: v* {/ |5 `
var node=objs.item(i); + i, @8 n r1 m: N* J
" ^4 c o4 t7 B) }3 s' C5 Z! y
* e+ X3 ^2 ^# F- O if(this.getobjstyle(node,"display") == "none" ||
4 ~+ }7 C" E" \6 i this.getobjstyle(node,"visibility") =="hidden" || K) s: W2 J1 {( @( T
parseInt(this.getobjstyle(node,"font-size")) == 0)
# \1 c# T5 x" b5 Q! ~ {: V7 P5 V+ _- s( v
if(debug)# Y C4 c P5 j: ^1 i7 c$ M7 N
{" P/ l6 M3 c4 q1 z1 ]. f
alert("remove invisiable!");
& \) Y$ q. [6 r5 a( W, Y+ z }
/ x, k) N" u& S% @3 ~ node.parentNode.removeChild(node);
0 R( @8 j/ n) Z4 }/ r2 z
, g1 G* W5 p {" k* j& G8 {- Y! l }
R3 H4 O# x7 T& V; m else
5 N/ p; g; h+ V. F5 N$ n {
" l4 U. B# v/ O1 s0 T8 X& c if(node.parentNode) & n; m: F" n* j
{ _+ a2 ]0 ? v3 E5 G8 m) D o( o
var orgNode=node;: y! i1 ?. s, I- ~& K
var orgColor=this.getobjstyle(orgNode,"color")" Y' S* j, W9 ~9 @% T
var orgRGB=getRGB(orgColor); ' R/ V$ T1 x% a& {9 w6 [. V* A( L
3 t& |" }0 b5 ` var parentNode=node.parentNode9 z$ Z! h- b6 [* s
var parentBgColor=this.getobjstyle(parentNode,"background-color");& v! D6 c: o( f5 U$ T
" ^- z$ c h+ `4 Z6 k+ [
var isLast=false;$ _" l1 l/ m8 D" j
, W& j: P& X' s. o; y
while(parentBgColor == "transparent")
3 n% ?0 o* R. ^" }9 |; A u" M% d {
4 ^+ t4 O, R4 l" }
3 k# N0 L9 Y; _8 @0 { ) q6 U' C5 D# E
if(parentNode.parentNode == null)/ v1 e4 s5 D/ O+ B
{
; t- P/ b5 X9 E4 s5 z7 [3 C isLast=true; p6 ~4 d2 V' z6 F; C
break;9 T& e( C3 W# w- [. @: z2 B. d
}5 t7 B* G: P. Z9 I/ s" U
parentNode=parentNode.parentNode;
) d3 ?, |" U' g4 Q parentBgColor=this.getobjstyle(parentNode,"background-color");6 @1 O7 D" n7 ^) C- `& ^1 I( A; _6 b
- t8 d* r* z7 O5 u: H0 P
if(parentBgColor != "transparent") 7 ~: O% C; c+ n. U
{! _; r. {2 ?, }; s
break;
9 W; x5 u2 y4 Q. Y8 n }
: f& W' Z1 ~- _" u0 C) n8 A6 M9 d8 V }
( C7 a/ y& e/ P if(isLast)
4 f/ ]3 \( g! E( r; |" {' c4 F {- a( t1 T/ G. Y, A
if(debug)5 U) m( {0 m7 H7 u! [
{3 `0 r7 k7 F$ K0 O2 x5 G6 j- ^
alert("last!!");' z) ]4 \. D+ G9 d) c ]
}
0 o/ t. G' d' x! Z" R$ b/ ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ y$ y5 W* K- ^7 D- ~ C
{
7 s9 F) ]$ z! B/ }! Y- D9 L orgNode.parentNode.removeChild(orgNode); : ?1 B- g0 v X" k* q9 ?) q1 Q
}/ m$ V8 I% p% P* O
}
4 m) W1 d+ x# k$ `$ X$ R: { else% c$ U6 u4 ~" Y) g
{( a; B/ p. @/ l
if(debug)
6 J* c8 e2 [4 \/ B U, m {
5 D& W/ S. I; Q7 ]( w alert("compare color and parent bgcolor!");
! n) Z- U! E5 ~. n }
6 k4 X L7 E6 t parentBgRGB=getRGB(parentBgColor);
- U$ n# P4 m" N+ i" j9 B3 i/ C* [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% e& Q h5 n8 O. u2 D0 p {, z3 w- R# g$ M/ m
orgNode.parentNode.removeChild(orgNode);
3 _+ e4 X( i5 ^ ~- } }# y }
6 t, ?) s; m7 q$ O# B, o0 C5 W }
3 r/ C @, A/ W* k5 v* Z }
7 w2 j/ L+ k4 @- b }. X, x. o" s- s9 P8 j# V; }/ @
}0 j: s) Y$ e3 _9 F- r7 ]) H0 {
}
9 `4 V# K2 i6 p" j, g% E/ y ! j5 J% F7 k" [. x7 M' {" D2 f
$ {+ s: Y2 _/ S; B var itemFrames = page.getElementsByTagName("frame");
5 F! X" [% P) R; w& X1 Y3 G var itemiFrames = page.getElementsByTagName("iframe");) \$ G- d) k8 ?2 E* `
" y3 p$ R8 p0 v; q- K8 [8 Q1 e8 y var frame, iframe;
. F H8 u! B- Q) p; {9 w' p: d if (itemFrames.length > 0)
& q2 c5 U% Q- _' [6 @1 G3 O {) p* I& K$ d \, `+ U, j
for (var i = 0 ; i< itemFrames.length ; i++) ' O! L+ Q/ ~+ V6 w
{
+ R) f; N- I& ~; T( J- ~+ _ frame = itemFrames.contentDocument;8 @1 t# |. B# ]2 T* p* J' t& s7 l
this.RemoveHide(frame,objname);
) l* g" }% f& d. P3 o( _2 m7 g }" R C& w( ]* ]% u1 c1 y
}0 m, v7 M, @2 V$ C, ?
if (itemiFrames.length > 0)
4 @; P- _1 L2 a6 c {8 Y+ C6 s7 a {2 _& C& k+ t0 r; K
for (var i = 0 ; i < itemiFrames.length ; i++) ( h; t: r8 o {3 c. ~ x' p$ q
{+ u6 _6 z! V5 n. @. u( M5 P2 V2 ^
iframe = itemiFrames.contentDocument;
0 A+ k9 B1 z4 u8 q* W0 t1 _+ @+ l% Z this.RemoveHide(iframe,objname); * `" ~+ }9 H8 O! ]# [
}- \& _: U, [6 [' Z# }' o" Z
}2 K" ?8 f; R0 k" s- L4 r
}
' L" L0 m4 T, @2 T; _' y catch(e) z% U- H" H/ q
{4 A* }" @, W& R6 V
if(debug)
; ?% r6 t% j1 g {$ w; `' z. I! a. T2 Y
alert(e.message);
9 Z* K+ ~" q$ C }; b3 H$ ^4 N0 z& s
}* E0 h9 e) C$ T# W
}
. s5 h1 o* g' K/ t9 }" b 8 y ~1 @, F; S- i
}
) h! k9 p ~9 H# z# V) }/ z- k6 x
function getRGB(colorString)
( }0 k* k9 X; T# g{
. u1 y! U, \% Z* r var RGB = new Array;# c& Q8 I6 }( N+ T) `
var tempSting=colorString.substring(4,colorString.length-1);3 C# p0 Z; A, h$ i& w& E& a
var tempArray=tempSting.split(",");
- E% N: l$ k: s0 W
# j: ]* u6 g; h' ^/ E; g7 U8 t RGB[0]=parseInt(tempArray[0]);8 }- @7 Z+ h. b' J7 L% b- M
RGB[1]=parseInt(tempArray[1]);1 x0 N- t8 d, V k2 d6 L# b
RGB[2]=parseInt(tempArray[2]);" p$ b, n( D( G, |' c: X1 Y
: j2 G4 I" M2 i0 R- c) y
return RGB;
( k8 Z, E1 I9 ^}
% h' a2 F. V3 _; q8 o+ N/ zfunction keys(evt) 0 ?. i$ O9 D4 I; D
{ g8 [" R2 p2 U& B8 [9 i$ H
if(evt.ctrlKey && evt.keyCode=="81")
0 N3 `3 |# g* r { ( m% Y: E) l" F
CleanHideObj.on(0,1);7 t' d: F2 z: e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% a0 f. L/ x5 p! ~0 d* ?5 V8 ~ + H: |7 H* g. b9 {1 U1 i; {
} 6 Y+ t+ ?" j; w- ~' E& s2 i
}
7 u7 S* l0 m* xdocument.addEventListener('keydown', keys, false); & u; C8 f) r |' G
GM_registerMenuCommand ('Clean Hide',
|* F) w6 @" vfunction(e){
5 Y) c) Y- V3 f! FCleanHideObj.on(0,1)" `9 E. u4 _6 N5 y9 L$ R' @. A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 X* t! p. N0 w* Y/ w7 o' _" ~
});
; [$ r+ ?. E$ g |
评分
-
查看全部评分
|