|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 A# |4 a& s0 q/ [6 e
; E) y) ^1 e4 P. w$ K# d+ f火狐插件,用猴子& ^! {1 Z3 S" p1 a U/ `
0 n/ y) \$ \8 A( q9 G
var debug=false; . s! I( o4 O& ^. \2 n
var CleanHideObj=new CleanHideClass();
9 ^$ |7 u# M( N0 r- d1 E! D0 n. D; V) w
function CleanHideClass() & u1 i8 F1 i. J' ?/ M2 p
{
[0 i9 A3 ]9 |3 R' Y1 l: F
# D/ O: L( e5 o. q this.on=function(id,bMZ)
8 _% g$ O! A }& ^$ e. U1 ]* ~5 Q2 H {
3 n. r3 b9 n/ t( Q- l' w / Y' o1 g2 I+ a6 D. G
if(id == 0)
4 y1 x% x; V2 R3 x% P {
- q$ V% \: o, R' |9 H4 Q var page=/* document.getElementById("content").contentDocument */document;
0 ]/ [% T4 r ?, m8 Y! ]: z: u this.RemoveHide(page,"span");! u8 Q0 |2 d/ h) f0 M
this.RemoveHide(page,"font");4 A$ q/ n9 j) V2 l! m. R# g9 N
this.RemoveHide(page,"div");
" W# C. L3 h( \2 y; _8 K( t this.RemoveHide(page,"p");; [0 u% T/ D: d* m7 T0 V
+ b6 {& T, J% b! @9 ?
}" n. C |- Y- [$ x0 C" B# A
/ K$ |! |/ X, ]0 A/ {; W* n& K! J) B
} E% @8 B+ p5 z
this.getobjstyle=function(node,prop)/ J' b" r0 p8 Y
{
! \+ {4 N9 V9 I, H8 }: S try
5 {& ?2 A7 L6 B) f {
: I: [- I Q3 k' p: j: ^ |* F- d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# L1 |3 j4 |6 [8 K3 I: z
}, l! H% S+ w9 z+ H r. f4 h
catch(e)8 ~ s: Z+ Z0 N4 K, B8 s
{
, A0 O5 H) F( S% w if(debug)
1 t6 m, M# n, ^8 u1 C {
6 C' P& Y. B& O0 d0 h/ n+ M alert(e.message);
( L3 D& a5 v- X6 a6 N+ W4 M }' l0 i G8 x/ b: h! J
/ N/ e/ m+ q: ^, b. k
return "200";
2 i' Q R4 h% L$ g& z }
6 @; k, M' u9 T% X+ d }
8 E' }4 L, x7 ]2 u7 V, _- g
; F' T$ L% y' v- q* l6 b( b5 ^) R this.RemoveHide=function(page,objname)
. b- [) W+ a/ G3 Z0 Q6 u' K {
" H) s r, s, U try
1 ~, g- m( b) K! |: H {
$ G+ a0 s0 W7 W1 o var minValue=15;" Q. e: F; @( \; x: R5 I1 t, K" l
var objs=page.getElementsByTagName(objname);
1 D& ^2 {! u" t+ M& U. J1 f$ Y4 ^/ O1 a/ P( l3 M* O
if(objs.length == 0)
, e4 ~3 N, v% Y& x! l {8 g; P0 Z8 L! ?6 L7 t6 T5 {
if(debug)
! U8 T" G; ]2 T& P {
0 L( U5 Z, I/ c8 T% q: v alert("no object found!:"+objname);4 U& p/ n( \- Q, t; A# p
}) {" o/ u/ w, P2 j: Z
}* u i) _% A8 J7 Q4 D8 i( J& @& m
else/ G% m6 R' {: y5 A* O
{8 B! D3 [: ~# \% ^, @7 K* d
, [* B; X" Z/ D9 G }: I for(var i=objs.length-1;i>=0;i--)
, l1 _, l$ x6 d( A/ u8 k9 b( K3 [ {
3 ~4 n. {+ b9 \& p) d9 G; p# F var node=objs.item(i); 7 b/ @' @+ ~; b* t
5 p+ Y! f. b8 x; [- J9 X3 d6 ]/ |. \
: M! d2 W+ E& J/ Z% r n7 N
if(this.getobjstyle(node,"display") == "none" ||/ S! Q ~ K5 \( \7 ?
this.getobjstyle(node,"visibility") =="hidden" ||
1 p8 @% l+ x9 |% T3 U6 y- s! h parseInt(this.getobjstyle(node,"font-size")) == 0)
G5 O2 z5 a5 N6 U {
8 n+ o$ N( Z$ v4 M9 X. ^ if(debug). j4 y& A! B: h
{
4 z" t2 O( E4 M* k. _, x& v. a alert("remove invisiable!");' v* N- t7 N! r; q5 i) V" e
}4 _5 `) D0 ?& s/ A' D+ G
node.parentNode.removeChild(node);+ S/ P! Y$ y: m- @; ?9 X( U4 t
; D3 o: y U+ m
}
$ f3 A8 u- `& T% ]! h8 u8 R else
V7 C4 \, [; \8 Y7 r9 ]5 m# v {
( ? q& X6 l+ U/ A3 k if(node.parentNode)
% L3 B7 G7 x* G! `4 |3 `$ t1 U {; k: W& j' b* W% F3 u2 i
var orgNode=node;7 ^! ]3 k$ I; ^( v
var orgColor=this.getobjstyle(orgNode,"color")
. S( F$ _, A! \1 a* U0 s var orgRGB=getRGB(orgColor); * H) N" u: M4 w/ E2 X' s
G; w: x! H& M# O" K/ j& Q! h5 D
var parentNode=node.parentNode
; t. t3 S& B! W9 e2 b5 X/ W var parentBgColor=this.getobjstyle(parentNode,"background-color"); ^) M, [# D8 `+ x
- X" \2 z3 ?1 M L% z5 T. m var isLast=false;; T$ E" r% K3 k+ R2 }. o
6 \* C- y! a! U: C& q! G+ r5 d
while(parentBgColor == "transparent") . _; w" U, x' q' w3 |" f6 O
{
1 h4 J3 n; j. B0 _/ Q $ B" e* `' ^2 l) }- j8 J
% t# s2 j/ `7 h+ Y2 C! H/ g if(parentNode.parentNode == null)
, }% g2 w8 u- V9 k {3 s- U c I' W a$ G( Y
isLast=true;9 O$ _) j) Q8 M5 S% m( O. V9 T; x% Q
break;0 e- A$ h" J+ ]; Q
}
" j9 d2 a3 T7 I! l; G7 h6 }7 A parentNode=parentNode.parentNode;7 i$ a9 c$ o/ @6 G# f' U
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 L3 w7 ] t0 V, U( K& _: H9 {4 G9 U6 M2 g, e
if(parentBgColor != "transparent")
, d; N6 W; L1 T" h) y1 A! _ {5 _3 _+ F0 l% s0 Z
break;
% e1 I# _/ Y1 u$ P0 p } V2 r6 Z! j; x M# o
}
/ o* c b" {+ H/ F& I7 }7 ^: S if(isLast)
0 w5 V6 Q# B0 i4 }+ Q1 s! h# q {
0 r! T) d3 V5 L if(debug)4 _3 m* a4 n# d# ~6 J
{' w2 y: k5 k- o3 D0 o
alert("last!!");
. C: ~& X6 b& _" G) C6 [ }+ B J" q5 s! _
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# L' J, n; j! I1 |( B: | {
4 M' }& u) [& h q2 ` orgNode.parentNode.removeChild(orgNode); ! }# V2 J0 C/ }! Z8 g0 d
}
" _0 ^ R; s- ?, p d- x }9 u- I: b- M9 @- K
else' B. \8 {8 d7 S$ m" v
{
. b& I4 i& B$ E& z% C% t- h if(debug)
5 D$ h2 U& F1 R! g* B" Z# w {- U' X4 L8 r/ w6 [6 U% p
alert("compare color and parent bgcolor!");4 ^) Q/ | N2 | I3 A
}
* {$ t# x, K, [" R1 r parentBgRGB=getRGB(parentBgColor);" X! g7 E) J a9 f8 E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ d2 x9 G8 W; f7 S2 [! x
{& l z5 _- C2 A+ E4 A/ W
orgNode.parentNode.removeChild(orgNode);
: y% D$ g% f3 g9 ~+ h }6 |; r: v7 Q3 b) X$ U; c' K
}
3 @0 L+ @+ s1 { u2 ?3 Y) l }! p# r5 G N F. E$ d- ?! O
}% O W: c: z- ]1 S, ]: e
}
! q( Z" \6 r+ B* ?& n }
, d. u1 o' j7 U ~9 o& n6 ]
# L7 Z# |! k2 x+ o, r0 R
; W' v6 h5 i7 Y$ W# d- c9 \ var itemFrames = page.getElementsByTagName("frame");0 A" ]/ [9 ?0 S& C$ Y
var itemiFrames = page.getElementsByTagName("iframe");) P2 ^2 R% ~6 O$ L8 K
' v. ]4 k9 }2 J+ b2 T: ]0 i3 b+ K var frame, iframe;
" O* Z1 x6 e7 J3 R- U9 C) b if (itemFrames.length > 0)2 I5 V1 }( \) ^4 h9 V
{- [7 _4 F2 D7 V% f# g7 L4 d
for (var i = 0 ; i< itemFrames.length ; i++) " O% p0 | i6 P3 R
{
' W: o" `5 n$ d: K7 w% N frame = itemFrames.contentDocument;
J( e& ~- \: [3 C9 e/ o- l" Y this.RemoveHide(frame,objname); + Y, |$ N! _. h$ V+ F
}
L2 Y' w7 }. M1 W; P# u0 o; N4 r }
- _1 g4 E( y5 R* q if (itemiFrames.length > 0)
& D A& ` X4 d& `5 f4 l {
1 o: f4 C8 X* g) R; a& P. n for (var i = 0 ; i < itemiFrames.length ; i++)
, f% B# }6 T0 r- K& W0 R( N% | {
; E8 p+ g4 A' A iframe = itemiFrames.contentDocument;) u+ j8 v& k, B2 Z1 ]& r* p( z! e
this.RemoveHide(iframe,objname); % G6 t' ^% Y3 E9 V3 L2 {1 N
}: D3 M/ l/ e0 j9 t, n) e6 e6 {' i
}
1 `4 n( h* o n# K6 ? }
1 q: {; \( }% T catch(e)$ t+ R. ^$ }- ^; f
{# U9 B9 t4 @ M) J4 W+ X" A
if(debug)1 e f% G* ], u1 M* M. s
{2 G- C& g4 s( V; a3 \# d( c7 j# O1 z
alert(e.message);0 L% y! S0 ~4 i @. |: ^2 H7 ]% G, }
}
9 R# g2 U0 F0 F" }- Y7 k: e% C) r }
: j/ K- M5 O U* l9 b) d. C }4 O x; A; N- x; A7 L9 \. P
2 B* T+ g% N8 i% s}; [% |2 i7 U/ D3 F, t6 p- b
4 L" d( {7 L8 l$ b) b) hfunction getRGB(colorString)
/ m% n1 P1 J3 z{: B& k% V2 J# e
var RGB = new Array;
* G% v; d$ l) t- Q3 q& b& _ I1 K var tempSting=colorString.substring(4,colorString.length-1);
' t/ [; Z, H" a! |- ~: V; K; N var tempArray=tempSting.split(",");
+ @% ^9 ?# `2 Z+ Y7 n
0 O# n4 l& U+ Z" j" k* Z5 D RGB[0]=parseInt(tempArray[0]);6 u, E- N$ v& K8 G+ q8 b( ^
RGB[1]=parseInt(tempArray[1]);
# z. M3 J* h( b0 q: \ RGB[2]=parseInt(tempArray[2]);% t% y) V2 o8 v6 k) s- N
$ R* v6 G( Z- T @- c
return RGB;
& @1 S+ s, r/ o& Y, \& w}; e' I. A; b' J! C% A0 N7 {
function keys(evt)
! X4 L! ]- Q/ O6 r9 a B" e { 1 p/ q Y! }# q- v7 s7 ]% r
if(evt.ctrlKey && evt.keyCode=="81")
& U! \: p" S5 Z c {
2 a3 S5 u g R8 m7 ~4 K CleanHideObj.on(0,1);3 G0 D" g3 z7 V D) q% J3 S6 T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& u7 ^+ P% `8 P6 `* G 0 o0 O0 O" _9 j
}
4 m. M9 Z: i& `9 B+ X }
9 d1 H/ _( o, ^! W/ ~* adocument.addEventListener('keydown', keys, false);
; z; i* i" U3 P, C: {GM_registerMenuCommand ('Clean Hide',
9 A0 C6 e6 {9 ~: l1 E6 ^function(e){
+ |! A5 Z3 c# `4 v/ p! E0 QCleanHideObj.on(0,1)
/ ] E7 }4 W5 s# G, [1 r3 salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- O% z# {4 Q' N; d( U
});
# l: L$ n9 p/ Q4 g8 G |
评分
-
查看全部评分
|