|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 l* h# x% j& C/ _. n
0 H, z8 u" p+ {% S# X n1 z
火狐插件,用猴子
' e+ j! p/ s4 f+ ^" N8 Q# p9 V9 _
/ P4 s$ \# R+ }+ L9 H# i2 \- jvar debug=false; u2 v! x7 y2 G' @) C
var CleanHideObj=new CleanHideClass(); D% J3 h$ ^3 y* N$ y: ], s
! z; h8 c1 v* {; z+ K) r* o
function CleanHideClass()
' C( D- W+ j) Z4 G, G{ 9 M$ m. v! W8 b* V; M! t- P0 {' W8 x
) D0 Z$ F6 y4 j+ ^+ G- p this.on=function(id,bMZ)
( f' e1 Y* d" Z* v {
) M) {% t# d L9 o* t& l- s4 J / Y+ b$ n, m; i. Q4 T4 P7 {
if(id == 0)- Q0 C; S; K4 P8 z6 s: w. Y
{
8 u+ p4 B/ T8 m$ y" \ a; T var page=/* document.getElementById("content").contentDocument */document; {7 y7 ?- [6 x, d( C
this.RemoveHide(page,"span");
3 o6 _- D2 c" v. o# \" x this.RemoveHide(page,"font");
4 D2 R) |! b: C this.RemoveHide(page,"div");
' H% l( L/ h; b, O* I this.RemoveHide(page,"p");9 M3 d8 X1 p8 N8 h! O" F& C
& F- ?' ]2 d/ Y }( F7 M& R6 l1 s1 {% |/ K
+ F% f1 ~9 m- J! Y/ d }$ d* K% a3 y5 { [( t: }! Y
this.getobjstyle=function(node,prop)
( L2 m& p6 P4 i- B- [/ Q+ @+ H9 q3 x {
+ L4 u" Q# Z( h! M+ b; e9 c& Q) O- L: f try
- o; o: T3 W. C. ]0 |, l t {6 `& w. N: F+ e+ q4 t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 u3 x4 b+ ]+ A. j* R) [
}
0 z9 C: K8 [ o" j! ?6 J2 R catch(e)! r; L R) {, Z) N+ t
{
) r$ H* x. ?+ u$ P$ K4 P$ ^4 i2 Y if(debug)
1 ?1 B0 W% n: p6 p0 t2 i7 e {9 [6 U0 p. \# b
alert(e.message);
4 F5 P4 y' Y: v9 b6 Q; N1 v2 R- _, ^ }
' B* w; \1 S) v& r" c- j . o5 @: K3 q: C) `3 {* \
return "200";
' P. M+ H. h+ m2 Z9 G! X/ { }; V: C# [: D+ b
}/ t" g# b# C2 O6 x& e9 k
$ ?* P% l8 t4 Q9 u- r6 L- J" n' N this.RemoveHide=function(page,objname)* e7 `8 j, Z# }4 M2 J
{
2 }9 O; X+ u9 s" Z( o try; D6 K( b: E5 N2 J+ J
{) U ^% q4 _ Z" y9 G% o: |9 E
var minValue=15;
; b5 n9 L' k x9 m var objs=page.getElementsByTagName(objname);
& t/ l) U6 u2 K, O/ A2 b- \' d7 _% c: o
if(objs.length == 0) - u* ~3 W1 r2 ~2 o
{
6 x' k/ \4 O5 g+ e. c7 E$ Z0 H if(debug)) {2 c8 l# J* o9 L/ c8 [
{4 t$ N U/ g, ?2 d# a
alert("no object found!:"+objname);
9 I+ Q' c8 C: J" L" R3 L }
5 n3 N$ b# m* g. g8 h5 Q/ [- h, Y4 O }
7 N. w; @ c0 h! u else
0 ^/ U* l* M$ } {1 z* q1 o8 s1 i6 Z' i2 N4 I3 p
, K' I3 E/ R9 k; }# T
for(var i=objs.length-1;i>=0;i--)
/ r* _9 C) x! ?" m {0 O- A2 ]& k" L0 X5 C9 J; E! p( ^
var node=objs.item(i); 0 c/ V5 z. u9 { [/ |
3 l9 _' t3 S2 r
6 c( p4 P4 F) ]
if(this.getobjstyle(node,"display") == "none" ||
7 n' O p& K/ c3 c7 a) o this.getobjstyle(node,"visibility") =="hidden" || x t: B' j1 g" K
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 R7 [: m Q9 _7 i& K1 A8 i. S# M+ u {
0 B3 ?: [$ z3 S6 Z% B' ` if(debug)
/ U& R h- `( l1 ]" x7 |1 _ {5 ?% Q" D# S9 }0 K% |$ K5 m
alert("remove invisiable!");
* c9 ?$ n4 m- F }, S6 K' S& ?* j5 f& m; J3 I; \
node.parentNode.removeChild(node);
& X" C! I8 ~' y- k* D
9 _7 G* ^5 r/ n$ B" o2 t }
# a0 e! N$ M# _5 ^ else
H' x9 \7 c5 U: U: V+ Q; M8 u" L {1 g; _6 c; e8 S( |: [ u# W* h5 R$ l
if(node.parentNode)
5 T7 V) ^8 v) N' J# l5 X' \2 ] {
1 u" e! F( c( J5 f" ] var orgNode=node;4 M- T) v/ W( d% G
var orgColor=this.getobjstyle(orgNode,"color")0 u" Y: _+ }" Z3 w" Z4 j. N; O# q
var orgRGB=getRGB(orgColor);
6 v G' b) k' h* V+ N( x; t
! m; _0 P9 K& y1 { var parentNode=node.parentNode! F! ]" A6 l7 s+ z% j. i
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 x5 `% h+ `# V; R; y- R
" u4 V5 z7 C; \; a* l9 z$ X var isLast=false;) e# P$ w+ J7 T7 R9 a# h
; b S( ]$ s; V' n9 C
while(parentBgColor == "transparent") ( p z1 D C: s' O1 d
{: S" [0 Q3 Z y2 @" A
: x/ H l; E$ ?3 |
+ b6 V) g# H- d' L if(parentNode.parentNode == null)
" X) B) x4 r" Y {; R Z {
! k# H) ~/ q4 ~9 A2 U5 {% p- P& c isLast=true;
' X+ {! z% v9 O( w6 \ C, ^$ e' w2 U break;
7 U, E+ f% d4 K7 ]. z1 E+ D }! {+ M5 Y" Z- [+ P; W
parentNode=parentNode.parentNode;
8 r/ f7 j r0 D0 a/ [ parentBgColor=this.getobjstyle(parentNode,"background-color");
" ]* g0 E: F H( f3 `% [1 y
2 _% F% C, C+ o( Z9 D! n2 m4 M! P. I if(parentBgColor != "transparent")
, Y4 W/ W+ e( ?" ]$ C {
1 H% {4 v8 B, P* R* @; d [& R break;* }$ `. C7 y; e9 U5 C+ L: r; p; H
}/ v: U; G8 @$ R' i, E* U
}1 [1 f/ w2 u5 s% c
if(isLast)
7 k4 _3 W7 t R! E" [( U {* b$ q, O1 D5 B% J! [2 e4 s+ C
if(debug)5 u7 q& ]% d0 }! W
{
+ S6 b# I' H5 d( L% f3 L4 B alert("last!!");: k6 s' |. C6 ^) }
}* B M8 ^! x5 `2 O1 @& [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- w$ d/ e5 f" t6 D+ Z
{4 s4 ?8 D& X6 g/ }
orgNode.parentNode.removeChild(orgNode);
( D5 @' @% x/ X6 c0 }. f+ i }$ B5 J, L7 b8 h( t* l/ E
}
; ^" l8 W0 o5 ^+ _ else) N7 F2 l9 I) M) E6 }$ R8 {2 r
{2 u" j) s6 H1 W5 @0 n# N, M" U
if(debug)
- N# i! Y! {2 B- n! ~. A {5 {4 @) c$ i& X0 a- R$ Y( U2 x: E
alert("compare color and parent bgcolor!");
- X& i) x P& C }' k1 g) z5 Z K
parentBgRGB=getRGB(parentBgColor);) e+ d- T1 E8 f) z) L# {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 I/ i+ {3 W1 y0 e! A: V {4 O. h% @) Y) J( A% j
orgNode.parentNode.removeChild(orgNode);
" h& z8 P$ F1 |9 f" u& ^ }
, z2 t/ h' e9 E8 U8 N- n2 ?" [ }
5 E5 k3 {1 X j& l; Y# j' L }
0 c) r6 q3 q9 C6 n- b( `* L9 G }" i/ \9 ]! u6 ?& p# p1 s, b
}
1 {6 W+ J# L; _# e }) l2 T, T. w% r3 ]. L9 T
3 E5 ~$ G2 @: H0 y \ - F1 x+ Z* }( K! Y
var itemFrames = page.getElementsByTagName("frame");/ H0 X/ |% I% o9 g: F: o" c
var itemiFrames = page.getElementsByTagName("iframe");
1 ]9 n. D0 k0 L; l e! q6 B - \, v( ?0 y; y+ `& C
var frame, iframe;
+ @1 ]. J' V/ U$ |# x+ y8 q if (itemFrames.length > 0)$ ^0 D$ T( B3 w5 q
{
/ m$ l: N% c! ~# x+ x for (var i = 0 ; i< itemFrames.length ; i++)
+ J9 P% u5 k% e. L3 w- I {
8 p6 o/ {8 f3 k2 ?# K frame = itemFrames.contentDocument;
' u; r" k2 ?" ]" \4 v this.RemoveHide(frame,objname); 0 p8 M$ _( _6 U0 @$ w
}
2 |/ W3 _* ]% K5 R0 o& k2 L }
# |* u% J# [- ]& v4 K if (itemiFrames.length > 0)
! b& S. g1 Q* r3 W2 j {
5 N5 ]/ J4 p9 b$ M- @) @ for (var i = 0 ; i < itemiFrames.length ; i++) " O3 U: r! V8 d1 n
{
8 }$ L2 f9 q2 P& i) [ iframe = itemiFrames.contentDocument;/ G- {. u. T2 `
this.RemoveHide(iframe,objname);
; \5 Y4 ^/ b* ^% \7 W }
! E' |) i4 C$ T4 J1 i }
. Q5 i, x5 F; D8 q Y' s% N3 [3 G( ^ }1 ^ {) B! U/ j
catch(e)6 h" T0 N, x! `* B5 V
{
5 w% `4 y& H5 b# x if(debug)
, ^1 }# E ^) V( t/ \2 _7 o {! u9 d. }1 N: Y; x
alert(e.message);
0 f2 D; Y! @+ | }, i. _4 q0 @! D4 `
}% r; x+ F2 y/ }3 M8 [$ r* d$ U) t
}
0 q& r) T# L/ e3 O$ u( F $ v0 z E6 @' z! @& b
}
# _5 v# T% S; R7 P6 I* M. k5 w8 A- t% Q
function getRGB(colorString)! J3 r2 C" _; i/ \. K! k: o% i$ }
{
. J) N/ Z& a* w3 C( y; F8 m var RGB = new Array;! \" |+ |2 f! _/ o, f2 |
var tempSting=colorString.substring(4,colorString.length-1);
2 {; a5 T7 o9 f) W3 Y var tempArray=tempSting.split(",");
$ M# D2 J, H: Z, p+ I& ~' {9 Z3 z2 ]3 g" B$ V, }/ Q' A' `9 i
RGB[0]=parseInt(tempArray[0]);+ x: l' Q6 D; k: X
RGB[1]=parseInt(tempArray[1]);5 k4 ]: p6 b! d$ R% }
RGB[2]=parseInt(tempArray[2]);
+ [& z& \' W( o, B6 \5 ~2 u : W- F$ Z( s: z2 f J' g
return RGB;
: H; o, e3 D% \3 { x+ Q}! n+ o+ N ^$ M
function keys(evt) . B5 A% W+ h" r" w- E$ [7 m7 J4 F
{ , H8 k6 @7 R! }' s+ N4 A3 v1 ]: c
if(evt.ctrlKey && evt.keyCode=="81")
% K/ T7 }9 O- K* M, i$ H' Q {
1 m' A. H- ]% }5 z" I CleanHideObj.on(0,1);# b4 a9 y; W) B* t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, a- k" T1 @: h- h0 u! }6 z
C; V( d# b- z7 k, Q } 3 D& D$ m' L1 Q, q/ K
} : I& d: u1 r/ t9 \+ Q# {
document.addEventListener('keydown', keys, false); 9 Q8 R' N# ]! l! S, F
GM_registerMenuCommand ('Clean Hide',
" z# M n% s: Qfunction(e){# s, d g1 e9 g
CleanHideObj.on(0,1) e/ w- M( A! Z, O* g9 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( T1 S: G- z8 V, \
});
8 j( I3 l1 ]0 F$ b; s, k2 U |
评分
-
查看全部评分
|