|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % P+ }. q- V% A) a; r/ _
9 c2 _' J3 q: b0 }& S3 D# b' K& j8 m火狐插件,用猴子
) o9 O, Y4 }. T& u- D/ c7 n3 E C% j
2 N: F) k, B" k7 I/ {8 p) tvar debug=false;
2 ?, j d2 v H; fvar CleanHideObj=new CleanHideClass(); |% l5 l6 o3 p: `/ S4 v
5 V6 a& n/ n6 G& dfunction CleanHideClass()
, y: `4 j' z$ G& L9 N" m/ {{ & Y9 J' X4 X3 M4 b' J- M6 y# d
. n/ n# Y/ ~; y, P this.on=function(id,bMZ)
# ]- I5 l; G2 b7 I {
2 G- [7 s2 R+ [6 ^5 r4 g
6 x6 A) p" o: P! Z7 r5 C$ k) L2 O if(id == 0) h+ b* c4 A8 i; T; v1 e- H3 v- l* S+ H
{5 B E. h# O; G' M; z1 e5 S% s- o
var page=/* document.getElementById("content").contentDocument */document; ) G' a: I: ]4 h9 M6 ^; e( w
this.RemoveHide(page,"span");
- ~3 u5 u; b1 ] this.RemoveHide(page,"font");
) Q2 W7 T" y7 j7 O5 } this.RemoveHide(page,"div");
/ s) c* H# S: q4 O! v: T# ]* H this.RemoveHide(page,"p");
# H" y2 }# n6 @( \( m
! }2 E( O: }; ~ }% i4 C8 e7 p; p" Z
" Q1 ~& M3 | Y }
$ o8 ^( J) C# o% [ this.getobjstyle=function(node,prop)
1 g* I( f# w. p {
1 p {$ i6 K i& F; w, D5 R5 i/ _4 } try& K g4 p( `: `; ]+ j5 l x
{
% _% u' k1 X" ^3 Z9 b: K return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 v4 h: `8 b/ Q' _4 z
}
0 }/ m; \. w8 r) h+ B% w/ Y, W: m% c catch(e)
0 j( b9 j! N2 _+ Y {; G, _3 c$ ` b a$ R2 ]
if(debug)
! q! \ u, c, I7 C0 |3 o$ ? {5 ~! |; T3 @6 E+ @ F
alert(e.message);( E4 v$ g0 P$ q( _
}5 u: O5 x/ {3 [, {. A; @& {
$ c/ s* n6 a. U0 i+ F! G
return "200";
! {. [) l: V' N! x( K. ? }. X* M3 v; K: T1 I' O
}
0 m4 l3 O4 E! x- e
1 b1 a& N7 }8 g this.RemoveHide=function(page,objname), O/ p0 C, p5 ?. C# L( w6 c. J
{
; _1 ^" e9 k: f1 s try6 t0 x, A' _ N& X4 g% D
{
* l* m4 P# m( n var minValue=15;
- Z* G, @$ G! l5 H( |7 U" o7 D var objs=page.getElementsByTagName(objname);
- A9 @+ N0 _/ v" X( J
: S3 I0 Z6 ~; c; W' x6 g0 ^ if(objs.length == 0)
$ A% v* q( }4 `; `2 g. O {$ e j& ^" W/ i) T. P( T4 Q N. L
if(debug)
3 d; o( V; L$ p {
/ Y& [/ d3 K Y! e( T4 q% a& C# d( t alert("no object found!:"+objname);9 f$ u1 D3 B, r1 ~, A2 `
}' q- C" B! i# l; Z" I4 |( s8 j
}" z! a7 g. D3 |6 `3 O; ~
else% u/ B# o+ r6 |/ L2 `
{, I) |, {2 M8 }! v$ }' h, I
: l0 ~8 |/ x) e for(var i=objs.length-1;i>=0;i--)
) e/ ]6 O: b T" a- x {, g$ E ~8 R: }. M7 ^- D# ]1 ~
var node=objs.item(i); , g) s+ V- L6 h. u: W
t5 F8 B( M) A2 ^- m3 P2 H 8 k6 a2 e+ e3 V4 `, j2 ?
if(this.getobjstyle(node,"display") == "none" ||
3 t2 J; F% I% H @: X; | this.getobjstyle(node,"visibility") =="hidden" ||
' j1 k% z" @; h5 @/ P# n7 B parseInt(this.getobjstyle(node,"font-size")) == 0)
9 _& f. A, j; y {
" Z$ v2 j9 O, [4 _% c" d if(debug)
( C; `% N }# u4 O6 { {
" m* o7 F# V2 b" F& x7 k- t. R alert("remove invisiable!");
+ f7 {8 W6 K* e ~8 ~) | }
! f/ ^! u4 r7 i' A& p node.parentNode.removeChild(node);, k/ J5 h- Q0 h
+ \5 I; G& s+ L" u9 v2 ` }( b) [7 }& G& z& Z2 j1 |
else ( f8 ]9 g$ D' Y" j) ~- M1 m7 V
{
4 [' j2 `% E, P if(node.parentNode) / }5 n8 W2 N. C- D
{4 n7 F2 q3 ~' @; M
var orgNode=node;
6 `) F+ \6 I7 f var orgColor=this.getobjstyle(orgNode,"color")7 i/ {2 w+ {) q# u
var orgRGB=getRGB(orgColor); ; z/ z& p6 |3 l
; P. `) C$ u' Z8 L var parentNode=node.parentNode! B" t& B# N" j( v
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 o! o' M7 H w3 k9 Q. E8 ?* m
. \7 i( w- C* w- m/ |- N0 S6 P var isLast=false;6 Z. d0 \8 ]4 W) a
" }: t, [& Z4 | {
while(parentBgColor == "transparent") / g+ k& W1 r6 h5 O( q
{2 U9 D$ \& B& I" D- H! p$ F. P
8 m" m$ M( r1 ^ f/ J6 O
% R4 c1 y- H# V- s$ m if(parentNode.parentNode == null)$ ?3 _2 F) f% W
{7 x$ `& i w2 l- o) P# S- r
isLast=true;
8 a. p7 M; p* |( |- s1 ~ break;! a" n# ?% w$ S; t, q
}
0 ~) @& }! w) F5 j5 E- A/ D parentNode=parentNode.parentNode;8 Y; t5 e! W V7 L9 X
parentBgColor=this.getobjstyle(parentNode,"background-color");; s; s2 W! v- P4 T5 b$ \
. R+ a v# G- e
if(parentBgColor != "transparent") x* n7 L7 _& ~0 t
{
5 g. N) j r) k W& y5 R' b break;! t( o' T0 q2 U4 `
}) r$ x& X" U ]- V8 [
}
s+ r, N |, I( q if(isLast)
+ |- X( R3 d3 ]" y( ]+ S {$ g% f: d# h: m
if(debug)
" B; k2 m! C1 B; A {
$ v$ i, V: ^5 ^7 V! P6 i alert("last!!");& L% [, j9 ^9 ~- S9 ]- j& }( Z
}1 Z- ^' s( s: b! P8 g$ v" u+ ]2 c
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- F+ A* M# F4 \, ~% j9 ^' C
{
& ]8 j* Q. x& v# h: ^' l3 t orgNode.parentNode.removeChild(orgNode); ! y; O% Y, s" ~" T; c
}: P4 v6 N2 H. [2 e1 F* p: i
}
- V, T. c! \" G1 i3 q else
5 R$ W1 v- P' {) b, u' o {( r! e2 s% z$ k
if(debug)
# z8 [/ s, u) E1 M4 b2 x {
8 W; y [1 P8 I* s alert("compare color and parent bgcolor!");
* Q# D) J4 _- O( Z: S7 B( R' H }
8 E5 N& W- E$ F* ~$ h4 r parentBgRGB=getRGB(parentBgColor);1 s8 z/ P% W2 V; \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ C, J0 O# i$ h3 k: G' u; A+ @ {
- u; U7 ?# k9 k orgNode.parentNode.removeChild(orgNode); 8 d# H. V# E |/ H* n
}: r& a7 m3 p0 M
}
+ k% U: F1 Y3 u7 O! F* w* p7 N }* S/ E" N& @& W& @7 a# ^0 g# m
}; Z2 r! s/ s' O: A
}1 j( W! N9 E, L! v# g) N
}
# }. N6 S% g. v8 r; ^1 k' _8 k 7 X3 w$ ^. }0 Q1 A$ Y8 P1 S
: {* }' @0 I. `' n
var itemFrames = page.getElementsByTagName("frame");& K) @ e" m8 F( r( q, N
var itemiFrames = page.getElementsByTagName("iframe");- R1 G& o% N4 U; Z3 O* ^
, p, V: n2 d" r, _9 z3 r/ I( c9 n var frame, iframe;
0 U7 T; S* L0 ]4 O$ {2 s if (itemFrames.length > 0)6 m( k6 h) ]/ [$ \9 o5 B
{
' N! Y& F8 I% D* j for (var i = 0 ; i< itemFrames.length ; i++)
# U3 ~0 V4 P0 |5 ?0 f {
" f( `9 v# Y# Q) {+ G; \; j; A5 b6 T frame = itemFrames.contentDocument;! d b; s+ f5 @' A, Z/ w5 e* {# \+ ]
this.RemoveHide(frame,objname);
8 y+ _& Y: Z& U S7 S2 L& d! D }8 r3 t4 a# W+ x F; ]
}- m" e0 X2 e, W' D1 D1 j
if (itemiFrames.length > 0)7 H D8 l4 Y0 p! Z8 W
{
+ B3 V2 R' b }9 b/ ? Y4 m4 { for (var i = 0 ; i < itemiFrames.length ; i++)
) t" N8 Y3 q8 p1 ^. t8 v {
( A: P" Y- u" e. O& G7 k2 Y$ A iframe = itemiFrames.contentDocument;
" C0 C/ i% x, z! X# G this.RemoveHide(iframe,objname); * m& R7 b3 q ^1 b" K, h
}. v, L9 D, c/ g; X. S
}
0 a/ |$ O& U1 M4 A2 w# j( ^ k: j }1 u. l% C; P) ? F$ m
catch(e)" z! ^* Q1 R* ?) R8 n1 X" g8 u4 S
{, e( t4 b3 x4 }: T" o' ^5 H5 z3 a
if(debug)
( C4 Q2 N* T; B! n4 r# C# {1 @" j {( k# d. X8 g2 _+ @# K) T8 a
alert(e.message);+ V; d0 M$ `" N- N/ p2 r4 z4 s3 w
}1 h: W0 I+ Z2 `/ H' e F
}$ G# _+ i5 M M) h
}
) P' w* ^3 T1 t# P) Y ; s' g+ v) w; K s3 r
}! e' W8 ~; P5 {3 ?0 z/ l, E
' j$ t. U/ U% b/ @# C) [
function getRGB(colorString)
# s2 W" ^ k; N* S# ]/ d1 h8 T7 N{6 n/ ?7 s' A" ~8 j& j
var RGB = new Array;" U6 T3 ]) z# ~! b
var tempSting=colorString.substring(4,colorString.length-1);
" M: E3 s8 P# F. B3 Q6 k7 }/ d* J var tempArray=tempSting.split(",");. r6 H' g; }5 }* b3 b; M5 V
; i5 y; U2 A* W S
RGB[0]=parseInt(tempArray[0]);
7 v0 D2 G6 Y$ ^( P- F2 k RGB[1]=parseInt(tempArray[1]);
. l. P+ X4 }: ^' U$ b, Y$ L RGB[2]=parseInt(tempArray[2]);/ P. Y6 C( T( R1 i I2 B/ k) x6 J% ~
, \2 [. C# |+ ~6 ~8 e/ e
return RGB;% M' r+ W$ [! C- U- E4 ?
}
8 ]$ h+ Y8 ^" gfunction keys(evt) & x; y- a- }# @1 Y" f
{
% n+ ?: o3 @' o X9 Y if(evt.ctrlKey && evt.keyCode=="81")
+ W- G7 @/ o; K. r# E- W {
, u- x$ d$ k/ q CleanHideObj.on(0,1);
2 n* t) p; K8 l' W3 K9 ]2 A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* V# R. _5 x* m6 ~; r, s( ^ 9 f0 P+ V( V/ B
} . X4 F: X$ G* g1 n8 s% o* l0 \
}
9 K! ~6 O0 Z% e! b( Hdocument.addEventListener('keydown', keys, false); & z* ~& X* P* k* w- l4 G5 j$ ?. ?
GM_registerMenuCommand ('Clean Hide',/ S. k1 H3 X+ o! z9 i
function(e){
3 ]& B: o+ B! P1 R- KCleanHideObj.on(0,1)
% s0 H7 e1 ~- p% H5 K. ]% U; m: Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- q# d O5 U; c8 J$ \( ?( a});/ K5 @2 W/ S6 O- y! U$ k
|
评分
-
查看全部评分
|