|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " V& O* X5 n9 ^4 j {
\" f" x; A8 _& b& u( t
火狐插件,用猴子$ |9 o% {% ?! W& a# g
5 A e( U$ B) G wvar debug=false;
5 i" {1 C5 l6 H- N/ \var CleanHideObj=new CleanHideClass();% ], x/ B$ t8 B
9 z1 `5 \; ~# v* ?; E( w3 A: k' w" a
function CleanHideClass() ! U$ r S9 n3 Y9 R2 F* O
{
6 y: q' g, L7 l ! S, V- a2 e- c( h: ~( y, s( i
this.on=function(id,bMZ)* l4 o" n! c) k; w) t
{
% ] s) w- D. O/ G" ~
, g+ p$ V" ]. U if(id == 0)" j$ e9 r# Q4 p) i6 I0 c+ i; r
{5 c& P+ f( K2 S! E0 M2 R/ w
var page=/* document.getElementById("content").contentDocument */document;
4 L6 C( \% ?0 P' A this.RemoveHide(page,"span");7 F( u* Y& ?0 ]& e
this.RemoveHide(page,"font");( p% k! t5 J+ \4 I2 r# A. x
this.RemoveHide(page,"div");3 j/ S7 ?) w) P$ \
this.RemoveHide(page,"p");( t( ]1 m O+ u. V
, _8 ^, R- j" T3 _. S! n6 y }5 i) u) \5 X6 t" }: `. Q* L$ x
2 J6 H& b3 L4 O! A! J7 Y4 D }, v* N% k2 ]* ]% ]/ g4 Q
this.getobjstyle=function(node,prop)
9 ^( _, e9 l( K; K, S; E+ C {
; z6 Y) Q; y k$ D2 o try
. }6 v1 b4 t. Z8 f% M1 m% p {
8 W& C! Z% Z+ X( x" @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); r4 m8 h5 v! _
}$ V4 O( O* G; {/ J. _+ ^
catch(e)$ `- R! q; a- x" p8 `9 K3 f1 G2 c
{! y' `6 B$ Z# y9 V
if(debug)4 C) |! E5 Q# I3 |+ a' P
{# s3 B% Z4 y: e
alert(e.message);8 z; b- i# ?. a- E% ?0 J
}
. T( h; O0 k r% p* V* ]8 K/ E9 A 5 s8 f4 z3 a/ S. w" B
return "200";
3 L' N. J# f/ M }
( Q8 y. u, \1 N. c }+ u6 p3 U J/ m* H L8 B
: }2 t) y4 D9 m8 m this.RemoveHide=function(page,objname)
1 s# ]. y! ?! e+ o5 y {, V5 Q' H# I0 A7 l; p/ s
try1 _: z+ E3 u3 E
{# _; H d8 W9 j) F& [$ p: A8 }
var minValue=15;2 {0 F. q; f2 l# W
var objs=page.getElementsByTagName(objname);
0 Q0 U+ s b( |; e+ t; b- f% n! P4 Q& e; x/ O4 C4 t7 Q
if(objs.length == 0) - Z5 w" H9 ]) L4 U4 w7 y
{
- L/ c- G/ C3 S F& ` if(debug) u$ `- w# c, v( W C
{3 B9 d7 n) R5 Z# K+ ]. J
alert("no object found!:"+objname);
' g' l8 R# g7 |, j+ C }
% q; @7 Q: j& X& T- I6 C3 l }
9 I! q9 w6 I0 S2 ?8 U else+ t$ y; o6 C) y2 I! x% J0 l
{
) l4 o- t- z! \! H0 O5 x6 T
4 h1 X6 ^5 _4 Q for(var i=objs.length-1;i>=0;i--)
! d2 i' B& j, I$ {& G {
( Y _2 b+ P6 u6 g; i var node=objs.item(i); ' T3 g. q) w+ j+ H% c9 a+ P
6 M7 L* ?7 t1 R a" }0 H
* |4 ^/ X/ e6 V' b9 B if(this.getobjstyle(node,"display") == "none" ||. \4 W( W- Y8 @* W( P4 L+ Y
this.getobjstyle(node,"visibility") =="hidden" ||
5 e2 \- k0 t# h, L parseInt(this.getobjstyle(node,"font-size")) == 0) 0 }6 c n4 ]; W- b- [' n! P1 M, x
{
/ G4 l7 N: [+ Y: {8 E if(debug)
$ ?1 f E* u1 C( v$ ?8 l {# \. a1 z6 {3 |6 x" A
alert("remove invisiable!");
) H- {% H1 p5 A! L x6 l }
0 \- m p2 u7 H node.parentNode.removeChild(node);
' S& j4 c, n8 u$ [ {! A/ @* T/ Q5 ~ # E7 [9 {* `+ g7 q
}
0 G& y7 q1 K) Z3 n2 b else $ K4 _7 R7 g6 H- _$ J2 I7 O0 T4 I
{+ {8 v8 {& M' }
if(node.parentNode)
6 H' Q( H% [* \( n2 R% P {
, n* x0 M* X( ^4 A var orgNode=node;
- p# v" a4 _4 t& R var orgColor=this.getobjstyle(orgNode,"color")/ |( F3 c+ t9 i
var orgRGB=getRGB(orgColor); ! \4 Y! X: E/ G+ Y
& R+ c6 f5 [& o% D" O- H
var parentNode=node.parentNode
0 H2 N ? y8 n( B$ T6 g( O var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ M# f8 U+ \# \) M
4 |5 l. M+ Y- c) E var isLast=false;+ M) I; K$ s1 W( Y3 C3 x, o! |
; R/ z! {, i2 E) F8 N
while(parentBgColor == "transparent") ! `6 Y* s+ q- F7 S. K
{
$ _# }8 a3 I7 a- \: n/ x + b. z" m8 \4 Y8 n [
, E5 s0 _0 v1 D! r( ~7 ^7 `! ~
if(parentNode.parentNode == null)
4 D. Q; X/ ^, \- i6 x0 V {* c% F1 g- R7 L4 B5 V( N3 u- M6 N
isLast=true;
' |9 k& C. E' M) w break;
! W+ X% i) B3 O# K4 ?* R1 v( r }3 J6 R) R4 J0 R
parentNode=parentNode.parentNode;
: _9 f7 Z2 A" D3 m' V4 i2 V parentBgColor=this.getobjstyle(parentNode,"background-color");* K1 x2 n; `6 W( P& a
3 F9 F- C4 A0 C+ I3 e
if(parentBgColor != "transparent") $ d9 F9 h0 g6 e* }; y
{
0 |9 ^& Q8 R7 x) Y break;& S* Y. M' Q4 m# Z: X
}
* t, T* F6 ]; ~1 t) Z7 b" A' y }: ]4 x) v7 a' I2 m: t3 l
if(isLast)
8 k6 ^% J, M/ }! l {
! [2 c: X+ a2 @% O4 h if(debug)
0 z1 W( g. ^: K# R8 Y {
$ x+ P& c5 v1 s8 ` alert("last!!");
, d. g9 j. e1 [5 q' m }
4 e/ a6 t- n0 {. C if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# e4 b" ^ O6 j. N {
, s! O7 D0 G( \+ x orgNode.parentNode.removeChild(orgNode); / I2 K; |4 g" m3 H2 a9 L* D& b
}3 | D5 |6 X6 ?! ~+ l" ~7 { H
}3 P; W& t5 _8 o6 D L& Q
else! g. l# Q+ x3 ]% k& C
{/ o# O c. w2 h
if(debug): v$ B/ B* [/ }4 m2 D& T4 L7 I
{. j* |1 n* ~7 J: d3 V; b5 C
alert("compare color and parent bgcolor!");
' ^5 V( w5 z6 N/ W6 T2 P- f5 \* r }1 B; Z' ]9 z. i: F# ?! t
parentBgRGB=getRGB(parentBgColor);3 s1 M2 v' }( v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# B/ g; R$ P% W2 X% ~6 |* U {
! B |1 h0 S/ e5 a orgNode.parentNode.removeChild(orgNode); * K2 O) J9 I# Z% R
}* O$ g* c7 S" a2 Q5 T, G
}3 Z: D8 k: H% x
}0 v) J) S+ R9 K @
}. ~3 R6 Z2 b4 b
}
. y- M( M" l& P' I" H }
( b7 ?% g1 a C4 |1 ?3 y
3 N! H1 T4 [. z1 f% h2 ] t% l 1 E$ \4 |( L( K4 p( V
var itemFrames = page.getElementsByTagName("frame");
4 B9 y% v' j& B. I# o, ?4 A var itemiFrames = page.getElementsByTagName("iframe");$ B1 X* r& j" I; l7 P/ V; V4 a5 M+ _
( L: ~- ~. Z7 S8 n7 e; I var frame, iframe;5 j5 L- O. Q& S( w5 E7 N
if (itemFrames.length > 0)
+ ^% j$ f5 e# B+ o( L {
, ], `+ ^ ~. L r for (var i = 0 ; i< itemFrames.length ; i++)
. e& P7 f2 c+ t6 }7 Y# K2 c- c {/ |8 d/ ]+ f5 q: [) m9 h- m0 m
frame = itemFrames.contentDocument;
" Q, i; S, v) n this.RemoveHide(frame,objname); + L5 w% Q& G! v7 h, g- M
}
2 g+ L& [4 q+ w/ u. P1 P! e5 C* L }
3 ]7 Y5 S% l* p# o if (itemiFrames.length > 0) c; X' p# [' S- c0 j, I; v
{
+ r! F2 x: O3 B( r. |& C* h3 Y for (var i = 0 ; i < itemiFrames.length ; i++)
1 R+ L) s6 ~7 i/ ] F {
/ s4 |9 i4 v" R* U0 s iframe = itemiFrames.contentDocument;, a4 w, m5 `! E6 y
this.RemoveHide(iframe,objname); 4 s, E9 ^% F; ^
}
0 J+ N3 M! A: \1 w! I }
) X( t* I# t% _' p2 o8 n }+ G" b( c6 i: w2 l. _- B
catch(e)5 K2 }8 X+ E- d# H& v
{
5 [$ v; D9 A6 X7 [2 v if(debug)1 J- R" m! F3 u q8 f6 B. ~4 E5 M
{
. b* E% v, t# m3 x- s, H- t alert(e.message);
% Z2 w: t8 a }1 M }5 @% c$ i& S G) Y; \8 _' f+ l/ N
}
; t$ T+ H0 A: K# e: w) m6 W }% T7 i# }% A1 _2 P+ I
7 m: I x& M ^+ G}4 h: L; r8 p" O' a8 b6 f& h
" D' u9 h+ B# o/ n
function getRGB(colorString)4 z" c P* f3 {% J
{
& `) f9 O7 c! a& @8 ^# o. |3 x/ ~2 Y+ h var RGB = new Array;) [3 I1 p8 C- {
var tempSting=colorString.substring(4,colorString.length-1);
8 c; C5 R" j" T% }6 D var tempArray=tempSting.split(",");
: g$ j& z$ `" G( u( H2 A- d
7 j' A `( G m& i4 {: Y" f RGB[0]=parseInt(tempArray[0]);
4 o8 X/ P% u1 b0 C( }* S' E7 C# H0 j RGB[1]=parseInt(tempArray[1]);3 M# m4 O0 u+ J
RGB[2]=parseInt(tempArray[2]);
' O7 u" X, y" |' u8 t3 e' U1 A
( J% C- J$ y5 C1 z: @8 e) b return RGB;
: o* v6 z/ _1 _. A; M; b; Z# g}
: K7 A3 ?) c$ @$ o) } f2 ffunction keys(evt) ( b u* \7 |7 h, T2 O$ I* M' _+ l* e
{
( S$ e5 J3 h( L3 S/ q8 { if(evt.ctrlKey && evt.keyCode=="81")
% u" T2 m& S$ O0 m% U$ F- J { . Z3 A+ v- ?7 e- P0 x1 Y: ^( C
CleanHideObj.on(0,1);
3 f0 e+ H |( E9 { _+ m4 k; y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" G$ i, E2 v4 A" h( K* F# B5 _ + g7 A3 m$ E) {3 S; R
} 0 }' B; d: C* y, Y: p
} F, [8 n8 l: C5 s# n' |( n1 {* M1 T4 o
document.addEventListener('keydown', keys, false); ! u- \) u/ g8 A7 m
GM_registerMenuCommand ('Clean Hide',
$ i- C; q* S0 ?6 `2 N- U- i- C) jfunction(e){0 \7 E. S: G! K% k' q, K4 E
CleanHideObj.on(0,1)& A* O% V. L3 G5 @: x, B- z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ O+ N/ Q: [" A9 K8 }% m});* Q* @9 W9 e7 l' B+ | l) {, ?1 z
|
评分
-
查看全部评分
|