|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. d1 U. H ~9 ^- F0 h- i& s8 N4 G2 C" F' p$ M1 G* y4 ?/ h7 z
火狐插件,用猴子
/ y8 B6 `+ {0 p+ B1 k6 ~# E0 K9 G$ k* ~/ C; [! C, z
var debug=false;
. u5 H( B) n$ @2 r% Zvar CleanHideObj=new CleanHideClass();5 e2 A8 g' N$ ]) [. T: ^
f. q8 h% R0 `0 r- [3 U0 R
function CleanHideClass()
7 H5 K/ V) S) o5 |, Y{ - q2 Q2 H: p* Q2 y* e
- V% {1 t+ T) c% I7 r" O this.on=function(id,bMZ)+ z" `% @, h' x1 ?$ ]9 m
{- b& |$ F( \0 L$ Y! U+ l* ~3 _
8 t2 f+ \- h8 d$ L; h0 j if(id == 0)
# ?# }2 F& k0 G3 Z8 H6 V {
/ g- I4 D/ ^7 ^' w. H var page=/* document.getElementById("content").contentDocument */document;
( |! [. }: p0 \0 e' E6 o8 E this.RemoveHide(page,"span");# r1 _4 u) `+ |5 a
this.RemoveHide(page,"font");
" L" ?9 j; a/ [$ v this.RemoveHide(page,"div");/ w+ p4 n! w& f
this.RemoveHide(page,"p");
6 `$ V+ x5 z- R. j5 N
$ [6 b. Z: p$ B4 j! Y I& \. k }, [: p5 T- Q1 Z, t2 w0 X
' V/ C% d2 C8 p- i9 b& Y9 f }
- ]- r4 J, @" t* W/ P this.getobjstyle=function(node,prop)
. H3 ?) R' C! w( z$ F8 V6 } {
/ Z' b5 G& H& p, |' Y# r try
$ |! A4 Q1 Q' d {6 B0 E* Z+ {% T3 F: m8 ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 R3 _ n& `, Y/ @ }: |/ E* ~3 i+ T4 k6 ~" T! T: A
catch(e)
, w8 H9 H/ x+ _0 W3 P# b6 v {/ s7 J0 [8 P7 c: _# @
if(debug)
& U0 z/ [6 c+ e% ? {
) x: l% U& B/ N7 `5 f" v/ }, b. q alert(e.message);/ J: h" x) \* i i
}' Q4 m, h0 N2 i/ ~+ p
2 N9 L9 ?! S$ N4 G4 y return "200";
8 r# }" f b0 j! d( }7 u4 a }
7 o) M' Q8 v1 Z }# K9 s. [) l" z' N) c
' x/ W( W% p. f2 Z% S" ` this.RemoveHide=function(page,objname)* ?: m3 `5 O0 H1 B& @
{/ H% B5 x# r7 p) m$ `9 z& o
try g+ Z$ m `9 Q1 [% L: l0 J
{
: e5 L2 G1 K, n% u; N var minValue=15; B: A# T8 C9 Q# Z
var objs=page.getElementsByTagName(objname);
( V( T* M, s) B* k" r0 M5 W
@. j B/ E) }( h if(objs.length == 0)
* F; h+ b; x# E7 _ {7 d+ ~ q! J" d) F7 X0 N8 W! F
if(debug)
) k/ i1 Y& I! w3 t8 |$ F: r0 L {
9 ^ b& v, W d. n3 j' X5 @ alert("no object found!:"+objname);, r. Z- s& X3 E. c3 l# j
}
8 j' d. v' e+ |6 s) B" T& z5 A }
! P2 V5 y/ P( u7 H0 G0 S* T else
9 {" Y" }) Z7 q& h& W8 c {
& t! _! D7 l2 O0 N . T. i5 C$ S/ v8 H
for(var i=objs.length-1;i>=0;i--)
9 L5 f6 H' m; u! C' L/ Z; j {
. R) m! L7 V# } var node=objs.item(i);
) K6 j" u* Y8 i4 F
6 O/ i! a: o; d: o4 D: o
. n$ u* ]6 s* b' p& W if(this.getobjstyle(node,"display") == "none" ||. L& k, i8 `5 F; E: S
this.getobjstyle(node,"visibility") =="hidden" ||
4 {) l0 f% w+ l parseInt(this.getobjstyle(node,"font-size")) == 0) " ~0 C" O: A# \, Z
{
, W, @. i! p/ c& t; l if(debug)
C7 N& l* L: \, M {) C! t @( n/ f; ^! @+ w& [$ C
alert("remove invisiable!");
$ ^& l# T0 H7 @- l" ^. U }0 k& e8 P% J+ e( ]
node.parentNode.removeChild(node);
" q# n& J* o0 O9 C4 l; G3 s . J) l* w; F/ i% Z% ?. o; ^7 c0 P8 z
}
, U A N' ^ S1 r& [- K else ) s) G, ], v# }2 Q, I7 F
{2 Q+ Q3 @# X$ c2 T O+ g) L
if(node.parentNode)
7 S1 j/ j' t/ t5 T; [) T {
( x& T2 j$ t# d. Z v7 u var orgNode=node;
* S/ \- Z1 Q* X. Y var orgColor=this.getobjstyle(orgNode,"color")7 p, V! [" a2 @+ O' T( X" t! R
var orgRGB=getRGB(orgColor);
% d, S3 T# e$ v$ R8 ^ T, u 0 B& S0 ^5 k* U8 a' J \5 V+ X
var parentNode=node.parentNode
5 f0 ~8 A4 p# r9 x var parentBgColor=this.getobjstyle(parentNode,"background-color");( i# W9 }- l& C' C. d1 @7 g
4 b3 e& D6 D- X7 I& v
var isLast=false;
9 u9 l! l& P( X6 Z' Q8 z ; o3 i! P" F$ v I3 n- ?
while(parentBgColor == "transparent") 3 T1 `* {5 y1 l/ k& g/ W
{
( D7 J8 k3 W' Q a: c; o5 M
. [; X, n# ]' q! r% @
8 j) f9 g- |& g if(parentNode.parentNode == null)9 T( N0 D! J- e- c. V
{, r& j, O# d. ?+ |7 y* D, |* Z
isLast=true;- p( M* M. p% V( k9 B
break;; a7 F, F8 [/ q' T0 _7 u% f
}- l4 d% N' b( V& g
parentNode=parentNode.parentNode;
$ u- F" |$ R8 H parentBgColor=this.getobjstyle(parentNode,"background-color");5 F) c% R% i. c8 q$ o3 G7 [0 ^# d
- F5 c# X2 g# Y& U6 b if(parentBgColor != "transparent") # J# k: A# W# R
{, r- H5 y+ u4 w' q
break;
9 y; f$ M, @+ F3 z0 _# D } J+ e& n) A* _7 h+ L8 s
}* B0 p8 L3 b8 E
if(isLast) 2 b: ]( z }- C, V( ~2 v7 f }+ Y
{
6 o9 c! C' q5 b8 ?( ^) R if(debug)# [# t) E2 Q# }6 l
{- v. a& c5 V& B0 d9 K; t2 k6 E6 d
alert("last!!");6 C p5 ]: U' o
}2 e; \" s# m7 i- [+ ^- ~0 ~# U
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 b8 }( ^6 l3 x2 I7 k
{+ \3 t- `1 a4 B C* I. H
orgNode.parentNode.removeChild(orgNode); 4 M6 G& _9 `5 Y2 u7 _
}
) A* u' i; L) ^) t2 r( F. }* _ }
, W* G) l8 p" m% B7 B5 `. m8 y# j) t, O, E else' K- c q, Z- B; F# ^' n: O" I
{* j) B5 f& y! j% [
if(debug)
1 ^( V" f8 k7 p5 _" u1 O' i {
! F2 i/ I/ m: ~ alert("compare color and parent bgcolor!");( V/ n4 X8 _! n
}$ c n+ v' p! c
parentBgRGB=getRGB(parentBgColor);5 g8 Q$ f0 j5 I3 d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 C# a6 I4 k4 ^* D9 k7 p: A9 v' a {1 R2 z% Z1 G5 i: h
orgNode.parentNode.removeChild(orgNode); 0 B( [- v" R$ ]& x
}
1 J( d; J7 O7 A) |, F& `9 T }7 V" h0 Q' S- a5 v; p8 f6 ~4 ~; F9 O
}
0 `) m% J1 Z/ k }% A5 {4 E$ |# q9 N; L
}
# I- a+ ^7 R+ O- D }
4 I5 ?& T4 s7 K 4 r t. X" `" A# f2 P1 _
/ t7 s, \, B2 v0 k var itemFrames = page.getElementsByTagName("frame"); ~/ j$ f0 C4 B7 f
var itemiFrames = page.getElementsByTagName("iframe");1 a) F- e& s/ {* n2 U/ v
4 u8 r) _3 _: q* x( p7 W0 `
var frame, iframe;, R7 V# s3 r% }( W9 u
if (itemFrames.length > 0); v4 P6 s, h {* f9 Z, ^
{
1 ~9 n/ n/ r0 f8 z+ |% U" n for (var i = 0 ; i< itemFrames.length ; i++) ! ^7 o/ e2 B& c8 w
{
8 d7 i( l6 _! r frame = itemFrames.contentDocument;2 J" Q0 `& G Z- k, m7 P+ Y4 c
this.RemoveHide(frame,objname); ( i& [: z% g# b. y+ a/ d9 [
}% P5 {% X, o- p. f; v& ]
}% N" x7 p( f- C/ z* |6 o( G
if (itemiFrames.length > 0): t& `0 Z) U6 z' X: E" N5 S; J
{
# `& `0 |" r; V1 a for (var i = 0 ; i < itemiFrames.length ; i++)
( k# d0 M1 a2 X, _5 B1 F {! V Y' T8 H( d% Z5 n( E# @& ?1 p
iframe = itemiFrames.contentDocument;
& t% ^+ Y. m% ~7 z" f this.RemoveHide(iframe,objname); ' E- [( ]8 \$ q1 N8 L' A% c
}
, o5 |' X# y9 G" [/ h }
5 }" P4 F) g, O9 m& ~( D0 Q5 Y }
; V/ \# _4 P; J4 e0 u$ M catch(e)" `8 I' \/ P9 ?' z
{5 I. v' k; S0 o3 j6 e) [
if(debug)
( r7 H# }+ I( j5 V. Z {
& r8 C0 I1 p: n; {9 K! ]; Z" _- N alert(e.message);
' i& [: s P( {8 a }
0 z( w- ]; Q2 n" Z6 z0 A }
2 h. B! [- C V3 n8 m( |: O }
5 y/ c D1 @% a; |6 @% b ! W, k5 |# N5 A
}5 r% ]. ]4 D, j% G1 a- R
. p1 [9 n2 H7 t8 mfunction getRGB(colorString)8 I! T2 f3 o) m$ y @
{) g& Z0 K$ l! p6 L) p- {6 ~5 ^
var RGB = new Array;
! a5 x5 E1 W) Q var tempSting=colorString.substring(4,colorString.length-1);; B- e4 o( A6 m" _
var tempArray=tempSting.split(",");
; A5 N. J( g- R0 P
5 Q. k7 w, P. C9 K RGB[0]=parseInt(tempArray[0]); {* e: Z& }. T
RGB[1]=parseInt(tempArray[1]);3 Y' n7 o$ i# u! k) Q# a$ I+ X+ h% C! i
RGB[2]=parseInt(tempArray[2]);
/ G! Q2 S& ^+ ~ / d: h) [+ a9 B: ~9 `
return RGB;7 ^' V7 x+ p* l4 D
}
' V+ R! w8 f2 Q% w9 ofunction keys(evt)
g- S1 @( n7 g% L/ K& B {
' a& f" `' c, G if(evt.ctrlKey && evt.keyCode=="81") 0 D3 {! \6 `- _
{ 2 \) b p, V- l; c" O& r7 i6 G! d
CleanHideObj.on(0,1);) z; r" s% T, k$ M- F7 B% l) g: w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; l( X' Z; l" V9 M
1 ?$ Q' D! Y) f& e' y' W4 w8 z4 i }
: D4 n8 n2 b* O) O: s* O* g } 8 P9 b: l' `6 s H! ^0 H* O
document.addEventListener('keydown', keys, false); Q$ R* D" P. a" b$ v! e
GM_registerMenuCommand ('Clean Hide',2 F1 ~% |3 X! j4 k+ B
function(e){) Q9 n6 `: f( j# i" T
CleanHideObj.on(0,1)
0 R$ `& B5 G6 M6 L0 @, salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# Z1 j) {- C; F; ^) c4 ]+ r
});
+ ?! y4 n4 F9 t: z Q |
评分
-
查看全部评分
|