|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' P( J5 o/ m5 b0 |
! z/ {! C, F2 I# K( q/ ^
火狐插件,用猴子
% ] c/ @3 s/ {4 m! J( S* R4 k* _5 X5 `' N1 w& S- q* o& h4 X
var debug=false; & g* b6 g3 ?1 b; n6 H3 {5 h, f& E
var CleanHideObj=new CleanHideClass();
; u Q( C* f2 D! w/ N0 Y8 ~7 O8 V M! p7 x! P3 Y: {1 O
function CleanHideClass() ' ?) n0 w' S7 u; h: z/ c7 ]
{ ' H1 }# Z& B3 O; ^! \0 q, b4 k2 B
. s! }) Y# h6 F K3 K
this.on=function(id,bMZ)
/ J# |' U- a M {
. C) G7 a* s) }5 T" A6 s
; S" c5 c( Z: U/ P if(id == 0)
# ^& d" ?3 ~& u1 N {: Z- m( R1 L. b2 B
var page=/* document.getElementById("content").contentDocument */document;
8 n o2 o5 T6 W- `0 ?9 \ this.RemoveHide(page,"span");
9 L/ j6 U8 O+ R# `) c7 l4 c this.RemoveHide(page,"font");1 T5 v: z4 G' U* ?1 g, A1 F
this.RemoveHide(page,"div");
& f; E% c2 S& C; \ this.RemoveHide(page,"p");
9 e: J& n* _6 L1 x/ |+ l
# F6 M; E; F, m }3 T& k# W9 F* v6 P, M' v- n; Y
4 _1 c* g1 F3 F% c7 \/ i% ` }1 ?: v7 n* n+ d& g3 u8 W) i
this.getobjstyle=function(node,prop)' i0 h6 g) _0 Z ]- r5 Z" p
{: A T F! ]# y
try
1 S. l4 v& R6 p$ ? {
7 I" Q8 _' e8 y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
o: f5 ^# J6 Q- U$ a/ m5 g }! Q9 K& V& `- {+ \9 i" X+ q
catch(e)+ b; n$ d' E$ H5 y1 `+ J: S7 A
{
: q: T' i T2 [ if(debug)* E* k( P0 @ h; T
{% l9 x1 `. ^ M$ I$ j! Q
alert(e.message);
2 M; C* Y7 C) Z5 _) K }
; w N2 O: W4 x: `6 O' Q: O% n 7 G1 `7 ]5 e7 j4 E2 u4 Q# Q( b* I
return "200";
* b; w7 u+ j, ~$ u& n& C8 y }
1 h' K! e/ p/ a! X+ o } G d" E: X/ s( c9 r. j
5 _3 j: [' Z; a8 o
this.RemoveHide=function(page,objname)6 @; }+ ^; g! ~) }, ?7 y+ |
{
5 b1 }" O( O+ @2 W: J try
3 k8 z) C1 i- L2 n1 K {( I8 U" ?, r+ F6 V* g. W* {3 C
var minValue=15;
( A t. I! x2 f3 c. L, u# g var objs=page.getElementsByTagName(objname);
# Y* W) H9 q0 k, I( J
$ L( Z9 ^, k9 F8 f$ k2 s5 [5 P* M if(objs.length == 0)
( a# r& [0 o- c) K4 i0 a {, ]3 e: h( P" W" h% M
if(debug)
# ~( B+ @4 @0 ?9 G {# _$ S8 L% m$ Q
alert("no object found!:"+objname);
& d2 a+ J0 W6 X& P- I }) T* {& h' G; S5 e8 W3 c* Q! L
}
0 o6 a! F3 V O" a2 F; t9 r else3 j% S% q4 U6 G& { P- X2 |. J
{& w; v6 R# n. a" Z1 D* i
& D& @; p7 V6 o. q
for(var i=objs.length-1;i>=0;i--) - N' U) d" p3 m0 Y
{' ?/ O2 Z; \* @
var node=objs.item(i);
# T! Z) l" G2 O, |
6 C; \ d" \' g j6 i
3 `& ?! g3 Y' x! g) ~ f if(this.getobjstyle(node,"display") == "none" ||' V% d- O7 U# v c$ s
this.getobjstyle(node,"visibility") =="hidden" ||. A- Q' o( S6 J* R# r
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 S6 U, y) d0 c6 K
{# R/ C1 x) z! P5 }4 D) ^
if(debug)
$ L0 g6 ?8 U. Y {
* b. k! I N' o2 g5 V) I0 g alert("remove invisiable!");. @& O! K, J" E. ^" P
}
: ^8 w+ L' x) D8 t, [. q node.parentNode.removeChild(node);4 y0 p7 B! s+ z$ o4 d
* W3 T$ ~! |3 g: Q; j. \4 ~
}0 ~0 B* b/ g, ]$ ~* a" A7 p! N: y, i
else / }/ Q5 q6 A9 a! |9 t7 g
{
9 K6 w K/ I' B4 ]% s. ] if(node.parentNode) 6 d0 d+ F9 ^* j/ G
{
3 m" b5 b. v) _5 J var orgNode=node;% _# p: Z. Q. {- ^
var orgColor=this.getobjstyle(orgNode,"color")
' r* C: U( n* ~$ ^7 ~* W, z( _0 K var orgRGB=getRGB(orgColor);
+ W; b5 `5 g s6 D3 t" b, B
9 E$ j8 I J6 A# W9 E; [ var parentNode=node.parentNode- Q) f6 x" G+ d7 q- ?
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 f: _9 z% d, m0 p D" X
$ p8 _) z) O$ \2 p$ ?1 ^ var isLast=false;
. z- V" o9 m3 |3 X
4 O: |3 D F c3 s7 f. ^6 C while(parentBgColor == "transparent")
5 |% d5 N3 z2 i l# ? {
) K) j. J$ B; J4 B! z4 d
5 u! X8 t, p( O, b; b. q! V
' s/ r: E% G& M' A4 X, ^ if(parentNode.parentNode == null)
+ I& [5 R1 f( {4 i {+ f+ F5 Z& W% ]% r% R! s$ n
isLast=true;# x9 f! r( m/ {2 n* L4 g
break;
, i* b/ T- `! H+ k/ e }
) Z K2 }# [4 b0 M! _: u8 t parentNode=parentNode.parentNode;/ G" a3 m% E. ?. ?* ~
parentBgColor=this.getobjstyle(parentNode,"background-color");
" j( g3 b' z( r$ a F6 ]" d9 l) q, |
if(parentBgColor != "transparent") 5 Q0 Z" z" U+ E
{' S4 |/ d3 {! c0 W' p
break;4 a' x+ H# Y% J8 x: S/ G
}6 r) z \3 S/ V& [8 d
}
1 B" j' B* m2 d2 g3 \! j if(isLast)
5 N0 K" B, S- Z3 r2 x& |# z {+ {* S$ y" w$ j8 N6 Q
if(debug)0 b/ v+ z& B7 M( s3 x
{
* L& T2 z. P4 {1 ^ alert("last!!");: T, X* Y6 i! m
}
& ~2 Q: U7 q$ o- K* P- ?+ J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! V; T0 ]' y( \% _) P O! s
{
/ X8 T ]2 q) S) O8 \ i orgNode.parentNode.removeChild(orgNode); : N" B' N. M+ P) Y. k
}
; n2 w/ M% o0 A9 ~) h2 Y5 I }# R9 S. v) T) [- I( D4 z
else3 A: m+ a( J. a: a. c2 q5 U& M0 _
{
( W5 S: z' k' D" G% c/ T- F4 Y if(debug)
% D6 l; {" F% r3 T' P7 A {3 l7 t) k4 f1 A9 D' u
alert("compare color and parent bgcolor!");1 A$ R) n* D; x* l5 A
}
2 q2 y- G* A, D- y" _+ Q parentBgRGB=getRGB(parentBgColor);
b% g% f0 f3 r! P) M/ | if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- a- d2 M2 q% U; P* v { Q5 B0 I% h0 S/ p$ q" t0 u& b
orgNode.parentNode.removeChild(orgNode);
! w: |% u! v* F' R6 e& b }
. f# W% b" |( m# c; t' y1 _ }& J$ v8 V: m8 m2 G+ m0 C R, V
}3 [5 r( n- c5 i3 c/ _" I, f
}
0 i( ]2 t6 A8 @# d; U }
& m% J- c. z6 z2 w7 [ }+ f, y6 u- W3 D6 p% D: y
; a+ v" f2 S, M: M+ O# T) n
. I" @: x5 X4 z/ H
var itemFrames = page.getElementsByTagName("frame");
5 L! }3 o* T2 |) j- h7 L) t var itemiFrames = page.getElementsByTagName("iframe");' C D+ q( C- e& Q9 z! F, i
$ _) ]+ m% J) V var frame, iframe;
% b+ f& I9 t. K) e S! G8 Q if (itemFrames.length > 0) ]- d l0 p. n X$ o8 |! y
{! }/ s6 Y. u8 r' j j
for (var i = 0 ; i< itemFrames.length ; i++) - g* f7 x) G7 m6 o7 E
{( M$ D, {# I3 l; {- j" W
frame = itemFrames.contentDocument;: d% u7 S* q8 J
this.RemoveHide(frame,objname);
/ q$ B' J; b& O% b* {& e }
; K& S3 b2 P3 v7 ~ }; t6 v; [1 f7 X
if (itemiFrames.length > 0)) A, P, r! U% d; d* a7 t. ]
{
' t, ^2 O6 `- E8 ^ for (var i = 0 ; i < itemiFrames.length ; i++)
! I9 G* q$ m6 W9 F# C" c. F {* U6 g3 o6 H$ _, @$ H4 E
iframe = itemiFrames.contentDocument;! f, H9 R6 N* q
this.RemoveHide(iframe,objname); ( g$ N3 p% ?) z }) {- ?+ B# \
}
. J/ s: U' @5 Q) v }
* U3 F4 ~) L+ |+ X- n" m }4 P( O" V. W- I2 U) y, F
catch(e)$ e5 {. ^9 _& L/ L/ k
{" d$ c: a0 I4 R
if(debug)
/ Q& D) d0 z; Q; _) L/ ?; q {; D) p- M5 n+ D0 v
alert(e.message);) ~2 u) @* H" T7 H3 K: v4 x( j/ L# T3 |
}/ L7 ?; ~5 Y/ k, C! G! u
} |; _: S. z e
}
1 h0 Z5 X. k; m, i. a# T: V , p0 n8 }* R5 O# I7 J
}+ y' c }! O* s, C* m3 |
0 ?) v0 E- o1 R! y
function getRGB(colorString)
X5 l7 X. P) Y/ l$ N{- H" O8 _# F, }5 t
var RGB = new Array;3 v' h4 ]5 z- l; e) M6 l
var tempSting=colorString.substring(4,colorString.length-1);- `5 a" ] d6 Y+ S
var tempArray=tempSting.split(",");
7 F7 t& W! I4 |
, F0 t. {" P% J/ A RGB[0]=parseInt(tempArray[0]);3 t) N/ Z$ z/ W! R1 K
RGB[1]=parseInt(tempArray[1]);( K! \ K& h9 E- o* P" s
RGB[2]=parseInt(tempArray[2]);4 q, s+ \8 Y* O4 ?
5 I. S# p" U% I, G/ U8 }$ _ return RGB; C7 p. e# Q; K$ B& i2 x. b% l/ J
}
, A3 ?2 x5 {, @' I: z: }function keys(evt) 5 \8 s2 U$ \1 ?6 s& E2 q% F
{ 4 D2 m) K' N! |2 b
if(evt.ctrlKey && evt.keyCode=="81") 6 M! @+ n! ]2 }8 Z- e; l E* C% m
{
9 Z6 C) P$ t6 v CleanHideObj.on(0,1);. w' H( N, {! k% o) U! y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ Q2 c9 f. b3 _& z3 S& S, K
0 y9 c, Q) ]; p } 8 d% F9 t# A0 t3 D
}
7 @' [9 |2 a- C( B* ldocument.addEventListener('keydown', keys, false); . {& Z( \, |. C8 h& H
GM_registerMenuCommand ('Clean Hide',+ {& `1 n- c$ b+ Q/ A5 l" V# h
function(e){1 }; S$ W3 u1 h U C ?
CleanHideObj.on(0,1)3 u/ z- P* `0 B3 Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* O6 s2 B' M6 e. J});
# r4 h- H- H3 }+ [ |
评分
-
查看全部评分
|