|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : `+ d" u: \; Q
4 ?$ {' e6 g! i, E, p0 Z# Z
火狐插件,用猴子
9 H: m: Y1 L9 u! ~. R6 ^& _: Z; C1 M9 S# y
var debug=false;
4 R; ?' O$ l- L6 _" |# p( ]3 ~var CleanHideObj=new CleanHideClass();
) p4 p) Y2 d1 N3 p6 }/ A' [7 @7 v4 w9 V4 _4 r7 }
function CleanHideClass()
5 F8 M, l; a; p{ ) h i1 R9 J* @, B% u- o
9 B z- x" u1 r3 y1 l this.on=function(id,bMZ)
* |# J8 a9 I$ m* `' Q2 u+ q {" \( G! ^) R& ?6 \8 ?) A! w) l3 a
8 e9 v7 b7 R/ b5 R3 J M+ @, Z, W; Z if(id == 0)
, b0 }* w9 C0 I5 }5 z0 R: f {% D5 R' D' q2 e2 o
var page=/* document.getElementById("content").contentDocument */document; 0 |6 E* ?% s$ }% l$ a$ i
this.RemoveHide(page,"span");0 ]: H. S$ S$ c
this.RemoveHide(page,"font");
3 E0 F1 _! R" m4 u6 v this.RemoveHide(page,"div");, l) }# ?# [4 y8 r7 V+ R! y
this.RemoveHide(page,"p");
! @& y2 y5 q- g0 w( J) Z . Y! [7 T3 `7 t3 r8 M4 D9 S- N4 b
}! q+ j% b1 [% C$ m
, e( U5 X& z$ d3 S7 O# d% s% C* X }
* D+ f$ d0 O8 i1 A. b; t this.getobjstyle=function(node,prop)
, E7 U. A; z& u8 w4 f1 E, ] {6 V. A9 p9 K$ R# ]7 t1 x9 d8 G. z
try
; w1 q/ J7 I# @% {1 U {
& O7 ]$ D; e" [, l, L( } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# U A1 X1 ]1 F: O }. l5 K2 J* }* @% _( U4 h, u
catch(e)
, q/ g# |# h& i+ O4 I, z {- d% j. x0 e0 Y+ D: f" ?9 d
if(debug)
* ^3 j) A. e8 C, D% s! M5 i- i2 ` {
; O) P, E9 N& Z7 O alert(e.message);- r/ E0 n* c. U: X/ T, S
}+ v4 H* W# @7 f, z$ N
/ |6 E h3 I8 m; [* z
return "200";
8 _! |2 k: l8 e) `4 w h' V }/ h& Z' E$ L4 g2 E
}
4 ]8 o& A. _% U$ D: [3 z, J2 V . U! m2 m1 y* t/ A7 P
this.RemoveHide=function(page,objname)
, k& P5 [% \( Z+ l f {- K# v' J' J: L
try" I2 R: O3 ^) f7 R( N$ S
{
7 m3 p. ^% M) }% T1 \7 g var minValue=15;
6 n6 Y* a: Z9 h) x' F var objs=page.getElementsByTagName(objname); $ i, }% ?4 M% t& |! O
8 ~/ u7 ]9 B8 ` n if(objs.length == 0) " O$ p7 ^4 ?- s1 L( S0 a
{
& o6 v! c; `0 b; F2 E if(debug)5 o7 M' G/ z, c
{% W3 @( t" T5 ^) Q4 u; }6 [! r
alert("no object found!:"+objname);
. a1 R) ?% f3 T( w6 z$ ^ }- p- ~. g/ F8 S% ~+ r
}7 m: }, p. c! h7 r
else
: A8 }) R" U" ? {
% Q7 I% w" N; j9 B0 }1 Y
8 u$ R5 `4 D& @/ t* E for(var i=objs.length-1;i>=0;i--) 4 j' ?6 A. a. L) |7 }3 B$ q
{3 M p9 a6 ]* i9 u% r, d
var node=objs.item(i); ; K6 w3 ?7 ]! X* m/ y
( \& d& H! T: U# `
. n- S% V# a5 l* e+ V2 a1 ] if(this.getobjstyle(node,"display") == "none" ||6 u7 @, O" p& U; R: A7 |% c. z
this.getobjstyle(node,"visibility") =="hidden" ||2 r9 c1 ~& t3 t# C4 ]8 |6 b$ R3 }$ N
parseInt(this.getobjstyle(node,"font-size")) == 0)
# w( O' L/ L6 v/ y' J0 w {
/ v2 O w @) F9 h+ U9 t- q if(debug)4 G$ c! t' l2 @3 R3 t" g
{
5 n' g/ p; E1 `: ?) {! p4 G alert("remove invisiable!");
" N$ ]: [; H' b }/ Z }) t: c# f& R1 B) W, H
node.parentNode.removeChild(node);
5 l' H3 `9 H N- X0 j. H3 N( g1 Z, ` 7 D1 i7 w" o6 s' ?9 G! B. F3 y
}! M% C# @8 P s: y8 f
else
* a) M- s% | |% n' c) U% S( F7 U, o, o {% S! g% h, G$ e4 {
if(node.parentNode)
5 g2 a% L1 o4 G/ g- l1 F {
\7 D/ g& l0 ~/ y var orgNode=node;
: v+ e) D$ F* h% s: I* A0 Y3 W var orgColor=this.getobjstyle(orgNode,"color") _4 c# t; W3 m* N
var orgRGB=getRGB(orgColor);
) ?8 i K0 b1 u) K+ A* t
; y9 F6 x* Y) t" O# W var parentNode=node.parentNode9 f' N: W4 [3 O+ c. |4 O
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 ?) K. y% H1 ?0 p# H
% U0 Z' {* s3 ] var isLast=false;
8 b- r0 c( T+ d8 B [& j v+ | 1 p) f: T1 m' p8 l) S/ A
while(parentBgColor == "transparent") " S a- Q+ S) ?4 a3 U( i: s
{) Z( `& G0 { y1 l) e- s9 n
: M3 ]! E9 o# G3 m
8 O/ \. y! @0 W) Q S0 } if(parentNode.parentNode == null)
1 E) h, S7 p- L) U {
/ O* I) m3 `1 T9 k% E. H0 l isLast=true;3 M, g" e- [& k0 B s w% a
break;
* e0 _- D3 d6 i6 V$ C$ V }* E) G$ m$ s* A; |/ S4 J
parentNode=parentNode.parentNode;
% A7 [9 v! a8 g: z& ^ parentBgColor=this.getobjstyle(parentNode,"background-color");
4 w, Z. h; u# l5 f3 z% ?# l& ~4 _, W& {
if(parentBgColor != "transparent")
0 k* d! W) ?/ \8 [7 m7 u% v8 I {# c4 m, N+ q2 z2 o
break;3 _* f" |6 n6 ?2 {, c
}2 U! \# p D- W% C* k/ y" O9 e, R& p
}
) Y" X7 K1 ~4 G$ t* f8 d }6 Y if(isLast) - p; F+ y9 j( _& k( i* b
{
/ K( [8 m1 y% y7 X% x if(debug)
/ s9 @; I" n* @8 L K {6 Q: l+ c" F( p# w% j
alert("last!!");1 S x3 j! x1 c) `
}
; p' ?: i! T1 V: N+ y2 Q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" o' C$ a9 n# \! s, P
{
8 z+ W8 J$ h8 Z* ]( ~ orgNode.parentNode.removeChild(orgNode);
* ~0 J. C% [* {. N5 a4 F }
+ r( g* K8 \- k9 T- K }
! t8 [8 _5 f4 Z3 n/ C8 S else1 h2 t; H, v8 [
{
i- ^% @- s8 j7 U' ` if(debug) G4 e3 _* M9 @- }
{2 A. } ?" s1 Z7 G" {+ g' r
alert("compare color and parent bgcolor!");
- C% s( b& F5 d4 w2 ~* B+ n" R }/ y5 A9 R6 x- \4 p" s
parentBgRGB=getRGB(parentBgColor);
- m t# y1 M. w' c if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 g) [0 ?7 `, A0 X- ^; @ {
3 h0 V9 J+ l6 e% | orgNode.parentNode.removeChild(orgNode); 7 [$ ]* d$ q( x q. a9 Y8 A
}
2 f7 t: [& H2 k- _2 |3 |; Y$ p6 H }1 r0 h3 h: z0 C; t5 i# Q5 e' W! B
}4 ]0 d8 L% Q# b6 `- {
}$ S/ }6 |8 Q8 R8 Y$ z
}
8 p0 c" q% u; |& N# a) v }6 t: D" ~5 J' s) A5 a' I$ ~9 c2 m
$ O. }/ x3 M5 S* D
- A6 [0 n* R3 m9 o/ P var itemFrames = page.getElementsByTagName("frame");
! X6 F6 E& \8 P3 Z. i( l/ ` var itemiFrames = page.getElementsByTagName("iframe");
6 U$ C( Z' q6 g9 K1 ~ : `. p2 i9 Y4 C1 L4 b5 y
var frame, iframe;/ F8 @: x7 V& A; g" R; L
if (itemFrames.length > 0)3 e) c! j \, ]. g5 w' `
{& q, c6 `8 E/ p! i! K% w, v4 R
for (var i = 0 ; i< itemFrames.length ; i++) - i ^- j# k1 m( `
{
7 K: R$ r3 J) W, h0 e. l frame = itemFrames.contentDocument;9 t1 X( P# T$ u& x% x1 ?
this.RemoveHide(frame,objname);
8 [% M% Q0 w* A# i, X S0 R }
1 n' B0 Z8 w! d* n, d. \ }
& A |$ ^6 ], K if (itemiFrames.length > 0)
8 G) ?4 C; J7 i) o {, x+ F$ {4 ]" X0 U- E5 ~' q' X0 R
for (var i = 0 ; i < itemiFrames.length ; i++)
9 W `8 q; s$ ~3 A {9 d+ n# L$ Q* n$ J( E* ^. Y* j- n% r
iframe = itemiFrames.contentDocument;; @; Z) B5 T( u6 D
this.RemoveHide(iframe,objname); 1 H/ M! m3 g, m
}% A; w( B6 g5 w, c' _4 c" A5 D
}
; {# O2 ~$ w4 f- u q$ Z- F! R }
o: B7 z& O/ L- _, B catch(e)1 _! N5 s% L5 n t) P" t
{+ Q0 W4 M) g6 O4 K; t( v0 E
if(debug)
0 C$ [$ V E! X$ l0 s' `# \ {' B O d% g8 e) L
alert(e.message);
9 K0 E8 X! T f! C1 T! K& ] }
. R& ^8 S3 o. _5 f+ E }5 ]* ~# k0 _4 q% u/ }
}
# r# z2 _5 h% V; r8 p4 _" _ / p" r! h% j0 z% S) S
}
1 l) U- t- _7 E0 V* S$ T# T/ `
3 G# @# c3 d9 h& k' G; y @function getRGB(colorString)0 [( I, a! D% N% l; h" }
{
9 {; b; N7 D. m Z/ y. i2 t var RGB = new Array;
g a2 h2 c6 [/ R% L f var tempSting=colorString.substring(4,colorString.length-1);& l- t; y2 \& r/ {3 X, m: k
var tempArray=tempSting.split(",");
?1 V# K; y. H+ z1 F5 T3 H& t4 E6 [7 ^, p$ s! |2 f
RGB[0]=parseInt(tempArray[0]);
: J* K) C+ A1 v6 h+ z! @: n RGB[1]=parseInt(tempArray[1]);' s% ~) M8 @0 f% I D I" p. y
RGB[2]=parseInt(tempArray[2]);: Q% C5 Z8 R3 E5 c2 g: ~8 e
$ G# z5 r; f: B- j9 S
return RGB;
0 t! P+ I$ o" J, j( V}
( Z% g& b# F/ Pfunction keys(evt)
/ m0 h( \3 h3 B; S; q {
7 b' S9 g. w5 ?) T# W if(evt.ctrlKey && evt.keyCode=="81") % k( t d1 N& n# Z
{ ! H/ X3 I' c. ^" w/ x$ ~
CleanHideObj.on(0,1);& r. h$ X/ @# @9 ?9 ]2 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / s% h# F: U8 H9 G% Z# }9 C
7 \; t2 i$ x b0 C$ u/ H }
* S, {' C9 w" H* { } 8 E$ z' ]8 Y4 E
document.addEventListener('keydown', keys, false); * b8 v9 ~! i7 ^
GM_registerMenuCommand ('Clean Hide'," E. c' Q# ]4 V5 d4 M
function(e){/ B7 m7 W9 a+ A/ r3 M5 h2 m
CleanHideObj.on(0,1)
& X8 _2 d9 V) u: x' G U& walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. }# i5 U. k# W1 Z" L- I* A; _5 F});
2 O; E# _* ~; o5 X: G8 ]% L5 P |
评分
-
查看全部评分
|