|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # ^5 R7 {+ o! N7 s
- P3 Y" f% \; o9 ]1 ]
火狐插件,用猴子9 E4 J5 ]+ T* b
- @! |. T4 i( ]; q! rvar debug=false;
F4 ?+ @1 Z8 A d# x6 U$ mvar CleanHideObj=new CleanHideClass();! e$ {8 z' m7 x; ?/ w* P& }# O
( } B" L' q+ y9 T" |# Q+ M3 G' f
function CleanHideClass() + G9 _2 Z2 R2 ^+ g& W7 }6 H
{
: g- t/ d2 n" @' H- e% L
# e+ G" D$ t- z# L this.on=function(id,bMZ)
+ e- | U4 [3 w9 Y {9 X& _5 ~% ^" ^. L- v7 Y
* M$ L2 O$ I/ N' q7 j6 a6 G7 D: k if(id == 0)
2 d0 m. P- M% ~, g* ^$ k$ x, T' m {
! Z% i9 A, ^8 }3 p9 Y var page=/* document.getElementById("content").contentDocument */document;
' d( K3 r$ A$ t% r# q this.RemoveHide(page,"span");
/ v7 x$ {& z( L! ^7 d8 t this.RemoveHide(page,"font");7 O# P# N5 {5 M( M, r* Z% [! e; Q
this.RemoveHide(page,"div");1 J2 p1 C0 \! k
this.RemoveHide(page,"p");
; O2 n o" G" l3 r+ T ! r1 g# e0 ~9 a6 M7 e
}' L2 ]& w2 k& ]4 p V1 \: j: H
M/ T" |7 T; d7 A6 ?* a }
5 A r9 q& A+ c7 I; C* \ this.getobjstyle=function(node,prop)
- L. `- y! r! q+ T {
$ P" g6 j7 Q4 M+ f6 [ try% z$ I& E k& U6 ]1 _
{
# M6 m {/ t4 z# V; ?/ @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 r1 Y/ }# R9 \8 b8 H4 H }9 u3 l1 m' @) p X6 c4 Y0 ~
catch(e)
; {9 N" W2 v8 q, Y& Q5 G {
8 R( p7 I3 O" F8 y1 } h if(debug). }3 K. B, ?8 h9 n* u0 h
{2 K. }% J: E2 Q& ?" n7 b1 w1 i
alert(e.message);& N7 i6 N4 o' [
}# F- D* O/ ~( \" e7 x V
$ Z# C9 q, D( N4 Z+ ^
return "200";
% r+ t7 ~( Z( W+ R8 V }
8 r6 x, z6 G& s5 K8 @ }$ }; i. t9 D0 C( _
7 Q0 G1 }/ P% l; x3 `% S1 w6 C this.RemoveHide=function(page,objname)$ B5 F0 z" M6 A6 H
{
) K7 W+ W+ n0 M5 f/ w try3 H: g h" J3 o! T4 i
{$ c8 {1 ?! d9 x8 T" w( A- X' ]3 ]
var minValue=15;* s2 Y J) x' x( U& b1 Q
var objs=page.getElementsByTagName(objname); 4 a' V8 U) K& f( ~
, y6 B! j/ ]: _" Q
if(objs.length == 0)
9 a0 K& e3 I/ J" f; A { S) {* N# l: H2 g
if(debug)
" t1 G9 O6 _, ^+ } {
0 v5 W; o7 E; E, y- @3 t3 j5 t8 ?8 u4 _4 T$ W alert("no object found!:"+objname);
) {$ a! b7 D8 M* P; H. _9 } }+ u, |8 S' j$ P, C- p% v6 g/ v
}
9 q2 d3 Y( ?+ F else, S' N+ M3 d! N
{
" p! }' S5 F5 f4 {& s n ; D7 Y9 ?" @, w/ H5 F( ?8 S
for(var i=objs.length-1;i>=0;i--)
% T i0 K& m7 r. F% s {
2 n, a9 ~, V1 l) v8 g var node=objs.item(i); ; P# u& y' _0 s7 Q# }5 s
' N7 m5 S, P. n; r. x n) w( D) ?
" c+ p- j4 W* ~& Z if(this.getobjstyle(node,"display") == "none" ||
$ M, H9 ~+ N& t) I( F3 N6 M this.getobjstyle(node,"visibility") =="hidden" ||
' \3 H/ T# c1 S/ s) n5 {* A parseInt(this.getobjstyle(node,"font-size")) == 0)
6 t. O+ g. Q# j {
+ |) n# I; [4 K v2 ?7 a if(debug)6 p+ K2 y% O, Z; z3 A! r7 e
{
' R. i0 {* M7 q, F# u8 S alert("remove invisiable!");
9 ^0 L( j+ t8 u9 j' \. @ }
9 [0 M2 u, c. J& c1 l node.parentNode.removeChild(node);5 r& Q0 I. t, r9 ^2 b
$ `4 u" o3 c/ Q
}/ J. U7 v" Y/ Q# P9 U- }& U0 e9 a
else
( Z" f, P! m' N7 M0 ] {; ~* c5 i; f' X
if(node.parentNode)
& f1 e! \( N& {* b6 ` e {1 s+ P3 o* i! o' I
var orgNode=node;7 D& B; m" N+ B1 M" `
var orgColor=this.getobjstyle(orgNode,"color")$ T; }0 q) H& a
var orgRGB=getRGB(orgColor);
- O H5 C+ _$ |8 H8 Z ' h. Y: V! T5 ~) G x
var parentNode=node.parentNode
! V8 U9 h7 p c/ f! V var parentBgColor=this.getobjstyle(parentNode,"background-color");3 k: b8 _+ j5 w! W/ k
& L, \$ n- ^3 c var isLast=false;1 f/ N6 P) |# G+ H+ x
8 ?& z5 @8 u5 D( I5 a
while(parentBgColor == "transparent")
! X+ @- r# E' ]. Z: K2 ?3 ]8 Y- L9 D {
- ~2 I7 H- y: E; P- W0 m$ x# \# ?* f
g' d( R8 g4 Q - z j: [. D# s5 ^; @8 g
if(parentNode.parentNode == null)
! L8 t# p3 q& X {
' B6 P1 [; C {+ Z! K. _$ x isLast=true;5 U8 \$ f# S' e. N. E
break;
8 \. W2 S: H/ c3 s }5 G/ R% K- L+ Y; Q$ B
parentNode=parentNode.parentNode;
# B* V3 S5 P1 v5 k G parentBgColor=this.getobjstyle(parentNode,"background-color");
7 J& Q, |4 y# f+ J! o: P5 l5 Q7 J, d$ q
if(parentBgColor != "transparent")
/ Y8 D6 K: @9 H6 J; F* v z7 J* G: e {7 n0 c* _9 u2 |1 M
break;
" J% @$ r7 T- m% A2 K8 A/ ` }
8 v% `7 \' Q* P8 \6 @. A }% @$ i- z: x( d- r. r3 R
if(isLast) ) {1 P2 M8 {% G# J& D7 T
{
6 w: `9 Q9 I) p1 n' B6 ? if(debug)
3 B( j5 n/ K1 y% Y2 m; |6 G6 d. m {5 x1 g, ~& ]5 A5 b# W/ s5 F, t
alert("last!!");
8 k: T1 l2 S2 N( C5 m1 ~ }
: \; M; ^# F. i$ N: j# j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! i& S# G; @1 \1 q8 ^. T
{. M0 H% B$ R0 p9 g/ W+ J+ A! k
orgNode.parentNode.removeChild(orgNode); 7 w# |9 E6 {4 f. D" Q* i- K
}
8 K8 T* B, S5 s' o }# i& d+ G/ B9 b) m! m# B1 E0 s; A
else
( m4 f$ W- }& R1 R8 ?0 I {
' h/ Y( @/ c9 x, x0 q2 D* c& M if(debug)
* `- @ B1 X4 b& P b+ c( j3 v; w {/ f8 L w8 @) B+ p8 z# {
alert("compare color and parent bgcolor!");
2 f2 P' x( g7 E% a' ?( A& [: f9 | }/ L, o# [5 W. Z
parentBgRGB=getRGB(parentBgColor);! {" o" [. m/ U5 M2 _6 @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 G% R. X( U/ d) t
{" H8 |2 u* `% v2 ?4 f; {
orgNode.parentNode.removeChild(orgNode); : f1 L; X6 n6 Y& [5 N$ H* e
}3 {( T5 N$ Z$ ~) s2 I7 g3 ^
}
! G6 A& y1 z) {) `* G }: E6 A3 h( V1 c9 k0 J
}& u! G( v. _! ?0 [# Y: J5 l6 e2 a% N
}2 J& o2 ^- Z: G$ h5 [, B7 G
}( |% I) O% I7 g7 X% Y
; X" `9 M2 N; Z: h1 S- Q
; Y6 h5 H. O1 [# |0 v+ N% k$ _ var itemFrames = page.getElementsByTagName("frame");
# B1 j3 ^1 Y, q0 l* U5 t var itemiFrames = page.getElementsByTagName("iframe");
. y8 j3 Z% ` g+ C- \; a
* Q; p9 b, O: N, U( s5 W var frame, iframe;
% j, ]& w- L" C; a! w; m+ W if (itemFrames.length > 0)
C \. z$ S; C3 ?" u {
+ g" E5 D3 b& V8 y4 r; z( B for (var i = 0 ; i< itemFrames.length ; i++) 0 c( s. i2 R" V2 k# d
{
8 q$ j$ I2 R+ w0 f% `; b frame = itemFrames.contentDocument;
7 x4 ?+ [" W5 B) m; m/ H7 a this.RemoveHide(frame,objname);
# A1 j. D# p+ t2 e }
! M$ I2 b* w/ ~# i- D) x! U1 y }
2 U, S$ k1 A- D' \3 W if (itemiFrames.length > 0)5 @: G! W7 [) z3 x6 N/ U
{
# x3 R3 n2 z. E2 ~ for (var i = 0 ; i < itemiFrames.length ; i++) $ {/ d7 h& `4 W4 i0 T( U
{
% X3 V7 W4 H9 C, g" S iframe = itemiFrames.contentDocument;
0 o/ t* |, \5 G# U' Y) d this.RemoveHide(iframe,objname);
% Y5 D. z1 s2 R9 K7 u0 |& y5 }0 W3 S }3 \/ V8 C$ k7 X! P
}
$ e/ t+ A# n" r9 I- ~$ x! q" y. r }0 F# Y3 v/ j2 r s
catch(e)8 I, v6 a& X6 ?2 O9 Z
{
$ T2 [8 v* |( g5 c5 h! T if(debug)$ S5 Y) R% }" ]) u: _
{
9 f) X/ Z! m$ v. s) G alert(e.message);# i8 N- p" s7 N- D) X
}* K) x2 m( C7 l
}) k# `6 _# D* |/ t/ N( Z' g* N
}
$ F! j; i7 x$ h1 ]* K: [1 e
3 V$ K- J4 ~$ g- u! o/ L}
$ e% F, ?3 K5 _( v
9 O n% J* ~5 X$ D: u2 n7 ]0 Afunction getRGB(colorString)' n1 G" u( G$ }3 O" g
{
: _0 K! {& E l$ h- W9 z3 l) \. ` var RGB = new Array;
8 W4 z6 X/ \* K/ y3 r% g var tempSting=colorString.substring(4,colorString.length-1);
; {8 \' ^6 y: Z1 a+ e# J var tempArray=tempSting.split(",");- `1 @' [1 }$ o Z; E6 D- d
$ c3 ]: Q6 q1 R& u) @* F+ B
RGB[0]=parseInt(tempArray[0]);
- U, N) w4 y! ~3 N; }# j RGB[1]=parseInt(tempArray[1]);- h& K ^6 t" `5 L
RGB[2]=parseInt(tempArray[2]);1 L, O0 A) }( H9 e# s
. r( {. X. ]: o# T return RGB;
$ v) }* J0 x& D}; N1 f$ [! l; U. Z# u
function keys(evt)
) |' ^" i7 J( F5 a& R" Q+ L; ^8 c {
8 h" a- b+ k: x9 X1 ?2 i if(evt.ctrlKey && evt.keyCode=="81")
* `/ b' E( }: w/ A2 Z8 J4 k { : U9 z [* z3 t7 u/ d0 H/ b' _2 I
CleanHideObj.on(0,1);
/ z4 z5 i/ O' q3 m7 F! t( D7 i alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 v" E8 Q* D' d6 j: M, l
0 Q: f! P w2 H/ |% T }
5 c, J$ {% |. R+ i) P; G }
2 e# D, }& C% z: edocument.addEventListener('keydown', keys, false); 5 z) i3 q3 |6 b3 p9 |3 \7 O& o4 d0 R* ]
GM_registerMenuCommand ('Clean Hide',& l5 w6 B3 o9 \9 _' X3 j5 h
function(e){+ h# z, [$ q3 _ q0 @- ^
CleanHideObj.on(0,1) Y/ u" M8 ~+ a9 D& v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' J: N4 o% }9 m/ ]' L
});5 C |& ^. P/ p
|
评分
-
查看全部评分
|