|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 z7 r7 e1 A+ Q Q: }
, N* l+ |: y& Z; ~2 {火狐插件,用猴子
4 {1 L3 P6 I0 t5 Z( U
: B F6 J+ D+ {6 d( Zvar debug=false; * f, L: ?* a: Y4 q' M
var CleanHideObj=new CleanHideClass();6 h8 Q: Q! ~ G3 R* H# ]" Q( v
+ z7 a5 F+ i- Q' zfunction CleanHideClass()
' K+ w& ~5 P2 c: o{
; }5 i6 E+ a2 } R% }
! _9 d/ h2 ]! L8 ^: ^ this.on=function(id,bMZ)
- t- f! }, B& `' R7 B" R* a# f# i {% M) C( X: p5 ?7 W& x
* W6 k0 ^8 K0 j$ K5 s if(id == 0)
) E. Q5 E& s* U+ k {
' p% ^+ d7 Q1 @4 y6 i4 v var page=/* document.getElementById("content").contentDocument */document;
0 Y7 n) k0 B) w this.RemoveHide(page,"span");
; _ s. u* s, A: R0 ]# F this.RemoveHide(page,"font");
7 Z4 D1 [+ q6 I7 E. i3 I( `* j this.RemoveHide(page,"div");! [' `2 B A) a4 J+ k
this.RemoveHide(page,"p");9 `1 u0 s7 J% ^8 k1 U' X) T. q! i: w
5 B2 \, t7 S6 |3 ^: H/ ^. m/ l }8 N# @! a* a( M9 E/ Z# a* Y5 e
6 A3 ^5 E7 ^. j! J9 A/ ?
}
/ @) L) X4 ]6 O% w& Z: f- E0 n/ [ this.getobjstyle=function(node,prop)' p! Q; @ e8 _+ z) [+ }
{
2 n1 r- S7 q) a8 \) |% { G. h9 f8 ^9 B try
, f- h1 T. U0 ]) x# T$ \2 k& ^# M, H {
* X9 X8 r1 m9 P3 O( j. @5 E/ l S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 w- u1 x7 {3 e: K5 e3 W& ^
}
# l( W' B* F% Y: b# a* J7 c catch(e), k% f3 {5 s% v7 Y! J U; v* _
{; a4 D' s! B- C% ] w( r1 }
if(debug)
0 `" X8 q) p5 f" N% Y {
7 ?# M3 e) u6 }1 P& ]( c alert(e.message);
' u! A9 r% Z, k! ?! l" N } }, H; @7 o# Q# s$ K9 `; j
2 \7 Q, w2 m/ p; g4 g return "200";
- H* j, a& {( L& V4 [9 M }5 K: x9 c0 D% z1 a: i
}
$ h' _5 b- a5 a$ V" d 6 g) s' O$ K& W3 h) i
this.RemoveHide=function(page,objname)
0 ^) {" _" d$ i9 y8 J; H {3 N' a; R. A/ W0 M: Q6 S; L
try
9 u8 o N( X$ C7 T3 u: a {
b' x* ~% l; ?/ k8 w6 k6 i var minValue=15;3 e5 h2 l/ n+ P( j8 r6 O9 d, z
var objs=page.getElementsByTagName(objname); 2 x7 Y) A4 U$ E: w x7 i
1 W7 X y% B8 _4 B
if(objs.length == 0) # i- p s. c$ @" _ @
{0 w+ P. W9 `5 y0 N
if(debug)% J( w- M# e7 j" _& D! _' I4 [ T6 m
{% w" Q/ \1 K$ ^4 t
alert("no object found!:"+objname);
$ Y( S3 R8 K, t. D1 L% E% p }: m" l- Q) A5 L
}( a* X1 F$ W. Z e7 A
else
# n" g2 `$ I9 t# c& c {
: {- ?; W% s) x b
! _8 K: ^8 ~; K1 S' Z for(var i=objs.length-1;i>=0;i--) + s$ W" k+ F* ^
{2 Y5 S \: k# ^1 F) j
var node=objs.item(i);
. ^5 P0 M# C1 p1 H, }: p# M G3 t3 q + Q. w9 j4 n6 { w, I+ f
' s! D- H% O+ t/ d: A if(this.getobjstyle(node,"display") == "none" ||" v' | e: x* ]
this.getobjstyle(node,"visibility") =="hidden" ||
6 ~8 X$ x+ p D' { parseInt(this.getobjstyle(node,"font-size")) == 0) : X: S) g4 F+ K( r2 i6 q
{
8 J/ {' u- ^' a" O if(debug); j0 d/ [4 J( F9 V+ _
{
/ M! S( b( X) w: c/ G alert("remove invisiable!");
4 a" S6 x+ D9 o% T* Q! [ } ]* G) _( f# k9 |4 o5 ]; v
node.parentNode.removeChild(node);7 @/ {6 ?$ ]3 F& k( _" b- x1 l
; L0 d. S; P+ n4 {) s: Q) e. }) F }- w Q* b$ D2 P* o
else
5 N6 b+ f3 k+ G% k6 H' ? {
# S! A5 o1 j8 g- r& O" ` if(node.parentNode)
# H$ f! K& Y& P {
9 f& Q) n: a$ R8 d3 h& { var orgNode=node;! w7 a3 k2 t- R" }7 g" {
var orgColor=this.getobjstyle(orgNode,"color"), i4 ^1 t# t0 [2 J
var orgRGB=getRGB(orgColor);
" [$ E1 ], d* F5 x
* e c3 a1 u9 x7 y' g var parentNode=node.parentNode8 B! F% H, A# P3 }' R
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 b3 ~* g2 ]; d& T
- p! M* N- O9 b+ e var isLast=false;
! M1 R& O7 r4 v' s+ l ^7 p
4 c2 W% ~1 L, c- }( D% v while(parentBgColor == "transparent")
$ S& }3 u/ O2 r( v) D {8 ^3 I5 s# T6 z9 X6 {
5 w( ?: @8 z) H0 K8 n4 u9 p
! f- v% X5 a& T. {) Z if(parentNode.parentNode == null)
2 {% ^' |' k# z5 ?; w {
' U L' ~; S7 ]4 \ isLast=true;' P8 V) i! f8 N$ z: n/ ]; ^3 [( H
break;
6 r; |1 Q. ~& t5 x4 x9 W6 h# E1 Q }
) Z+ G8 N$ v9 a0 |+ q parentNode=parentNode.parentNode;7 f% H; B1 Z2 r9 v
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 t2 U* B+ g( \" D3 A7 s3 N3 D7 _$ _2 f1 g& ^, z5 l4 {
if(parentBgColor != "transparent")
/ b" x1 Y- l7 Y8 C) o' w {
- V# W: K. W: W4 b6 D1 d& w break;( q1 \* F/ e1 [
} j' J+ x! k% x5 Y C
}
1 \7 `; d% s! W if(isLast) # n5 |; Y: c. ~0 e9 G4 j: O
{
, w, K8 J$ s9 p% _: u7 u if(debug)
1 d, W2 Z2 U( e( ^% N& h {
# j- \1 o: r$ S2 G alert("last!!");
1 }3 Y1 s9 C# o; f. B1 l4 C }
. {$ N$ I$ t' k" j$ {, ^ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 ~) P( Z3 A R" D* A/ x {' Y6 E$ ? h( j/ e3 u$ {% |/ \
orgNode.parentNode.removeChild(orgNode);
3 }6 b% [- v0 I' {6 v/ q3 P% f }7 L' [9 G7 `) ^: u
}
# p# y% J1 s4 S! ^ else- b9 b: S. P- f$ N
{' x- I: l1 q1 i/ s! |
if(debug)
8 u6 \8 A4 o# u0 z {
# U3 q5 k" w, E: Z alert("compare color and parent bgcolor!");* M- C! P) e& u x+ ?& h
}- x- p9 D' R7 a) E: X$ b) q+ s
parentBgRGB=getRGB(parentBgColor);
* P+ `& G w$ i* k6 H, J if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# |! I( _# ?! \; G }6 o
{
+ u1 h' m, G4 J* _7 C- A orgNode.parentNode.removeChild(orgNode);
* P9 z5 `& v8 t6 N' R9 Y/ X. f }
; v: q4 N- o) s0 c7 W4 E }7 c, g- e |8 E* `9 q4 W7 M. T
}
& m6 `( g1 N! K. I3 o: ^, @* ~ }
- }! T) K2 U& L }
& @; q$ ?) [* W+ t: Y% t }6 e, x( C, ^9 H
2 ?5 \7 i- ^8 z/ j8 J6 i
, i/ \- J8 A/ f& R" T3 z
var itemFrames = page.getElementsByTagName("frame");. e4 l4 U! F& S6 w
var itemiFrames = page.getElementsByTagName("iframe");
/ Y/ v" P; g, y9 X2 `% Q # j- K" U6 x7 _
var frame, iframe;
7 |$ Q5 m1 }8 p4 {/ C( V if (itemFrames.length > 0)
+ [, G" H. ~, c& M {
0 v' R! f1 y* q4 t% F1 a for (var i = 0 ; i< itemFrames.length ; i++)
* L+ G+ @, b( p6 F7 W- m5 f3 [ {0 L- T4 L: \1 Z: ]; O t
frame = itemFrames.contentDocument;' A7 G, q7 C4 A, v9 H9 j+ G
this.RemoveHide(frame,objname);
- L" m9 c& a1 `8 J5 |$ N0 L4 p }
* m( r8 f4 A7 E$ ]# K6 F) U }; r/ J9 H1 m- m, P5 _/ q. ~
if (itemiFrames.length > 0)8 O- q$ r+ ^' \ Z% d. y& Q2 m
{
7 M# p, y9 m1 _9 i for (var i = 0 ; i < itemiFrames.length ; i++)
( `* h1 F: ~5 ?8 s {
! y3 D/ j( v, l+ a1 X- H6 i4 [ iframe = itemiFrames.contentDocument;
/ p( O9 p3 K6 G6 b" T* M this.RemoveHide(iframe,objname);
+ R0 G7 g2 `8 n$ l! f* O }
6 R6 o; x0 O; e/ q/ _4 } }3 U4 l+ Y- ~: {
}
i% a" k* a4 Y! E catch(e)
0 [; N0 \ `+ l! i: d9 s6 ^% s {
}& S8 j- _/ v! S! \ if(debug)9 f: I/ D# ]: B
{+ M$ |9 N" @; l+ e
alert(e.message);6 a; A. t" y0 v) x' ^# O8 V
}
6 Z( \. e( S$ e: B9 _ }
: e. L! L% I+ p; ~ }' r) C% Q( y' o" b! s
/ N3 U+ L* i! d9 b) ^1 \0 ~}
3 {" a- M; j* h5 `8 o* \; _6 E. J$ S2 O: U& Y, C* i( I3 ]
function getRGB(colorString)$ {3 z# o' P& G1 q5 }- z2 J# p
{
( j& l+ @9 M: m0 F* Z" _- X/ Q9 N var RGB = new Array;
$ H2 i% t; H: d y [5 h; u7 G var tempSting=colorString.substring(4,colorString.length-1);
0 i H ?' }5 T7 \0 A; Y8 N3 o var tempArray=tempSting.split(",");% b# S) J5 p# P2 O, ?
! S2 B* C, ^7 w3 j9 e1 j RGB[0]=parseInt(tempArray[0]);
- C6 ?6 X' w4 ]0 R RGB[1]=parseInt(tempArray[1]);
: f/ J G- l- |# K B/ h7 p) m RGB[2]=parseInt(tempArray[2]);
! r2 a7 c/ b+ I4 p7 [ & Z. |8 P: b( i/ M
return RGB;! b; n2 e3 x( v2 s/ a, w" t4 J
}
9 u6 R" f2 {% e7 K G$ v2 e3 yfunction keys(evt)
. Q* L, L5 O+ b {
& Y1 w: v" S0 G( `, O& _2 n" R if(evt.ctrlKey && evt.keyCode=="81")
2 T# }' `& E7 B" ^& b { 4 K% O0 m4 j3 W
CleanHideObj.on(0,1);0 y }3 y. Y4 ~- j0 S' v5 n1 K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 L1 l5 e7 E: d, U, a( M
% M; Y! ^7 `* l5 w8 t, Z
}
, g! j. [3 M- X } * _: F$ I: }5 b
document.addEventListener('keydown', keys, false); ! v7 ?4 ]+ g m* g% C3 X
GM_registerMenuCommand ('Clean Hide',
1 D" Q4 u; k- O! d* b$ D8 Q! Vfunction(e){
) Y! ~+ @8 A, C/ _8 \; h' W2 sCleanHideObj.on(0,1)
: V3 Y1 ^: P5 {! U z- {; aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; a x5 X% `/ {0 F0 [
});
& ]+ Z% c# ?7 b' Q |
评分
-
查看全部评分
|