|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & ~0 y9 p% ?% Q- J- A! x
' n/ W8 T) o$ c% B
火狐插件,用猴子
F" f% k- l+ I4 h
/ v0 n* z; j1 svar debug=false;
; r( _5 ?9 W: `) z. ^5 Avar CleanHideObj=new CleanHideClass();3 ]9 y) `/ }9 ? v% d
) b, y( `! U$ {6 l8 m$ ?) b
function CleanHideClass()
5 r H" H% @/ U+ I' g{ % J3 R; f' b! {. \ w6 ]
# d, \! s6 |0 p- S) f1 T this.on=function(id,bMZ). O: G6 c6 u& ?0 ^0 @4 y
{$ @6 v$ V0 t# w- y
% X K( Z$ [4 D: d# w6 L
if(id == 0)$ X C0 U3 S! E, C" z) T
{) E( b# [/ T' T5 E
var page=/* document.getElementById("content").contentDocument */document;
* M3 k% k4 T0 X# e4 |8 [; S this.RemoveHide(page,"span");* {& O! w6 {1 x/ {4 {6 W5 g
this.RemoveHide(page,"font");, d, R- o5 ^6 B# v" w+ f0 G
this.RemoveHide(page,"div");1 G" \0 U3 U7 O: H
this.RemoveHide(page,"p");
/ {. ?+ s7 |, i C3 k ' V( b1 @ j3 w
}. n# C- s" w7 Q& q( m3 a" U3 w
! Z1 p( c+ f1 ~1 W/ E. Y( G
}
! [4 s& `! y' _! H B this.getobjstyle=function(node,prop)
& ^7 a/ ]+ h, P {
1 y0 V; N' q" g try3 x# g# }8 g+ r+ ` ?
{) I, d- r) }9 X; v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 ^# a3 Y/ ?* H; F. ~( k8 E }
$ c- o+ h& H3 r- x, v catch(e)
+ c% V6 U8 O- M: f( _ {
8 u" n: K# J9 r e. z) o5 X if(debug)1 t/ Q3 i s/ ~
{* Q! B8 F& r7 ^! T
alert(e.message);
& Z( e1 {7 @ I( t }" x j" g% N ^
: d {0 @5 Z, u% g4 @2 Z
return "200"; @( d$ N$ A/ d. \ z" ]
}# [6 J2 d1 a2 r5 ?8 ?7 A2 X+ E
}- L/ z# i: K& O/ R
$ M5 Z5 a3 m7 }0 `( F
this.RemoveHide=function(page,objname)! m; p4 U! U* v$ y
{
' U9 ^9 v' ], r8 e try
2 u$ d. \4 Y3 M% K {
( y! j( j, V g, {. S var minValue=15;
* l+ v0 c& R; v$ f. W var objs=page.getElementsByTagName(objname); % Q& w3 r6 }* n( Q) o R& \5 d
) x3 C4 c' D8 s2 t6 ~& ^, y
if(objs.length == 0)
. b8 V1 D2 g0 [ {4 v2 n4 {' g8 H7 k" a
if(debug), p5 f1 E. V/ _0 G, {. L+ v
{
( a+ m4 i! u% b% v alert("no object found!:"+objname);4 F- x9 n- M7 o! R. |
}7 X& Y5 B; K0 i) s4 U& b2 p) j
}' i6 R' ^7 v! S8 T0 |+ g
else* ]" j2 Y8 r7 o7 y# R
{. a" T) T8 P8 Y1 k
9 I2 L& Z6 R& K } for(var i=objs.length-1;i>=0;i--) 2 G6 n0 ^% Z/ A# O: ?0 Y6 o& @3 d
{8 L$ p; q. C6 N0 p$ f; }
var node=objs.item(i); ; ]0 i) E1 O; i' I! f9 m
0 K- N; _/ e2 I6 q
9 s+ P% |0 m* s- {7 y9 b
if(this.getobjstyle(node,"display") == "none" ||
( o5 D% b* U C/ } this.getobjstyle(node,"visibility") =="hidden" ||
, O6 Y4 t$ S7 l0 P parseInt(this.getobjstyle(node,"font-size")) == 0)
. Q& E! O3 x; Q1 n) x {
6 _! w0 n5 z9 U5 G9 @9 D if(debug)
; G5 H+ q! |/ ^9 a {5 [9 D, ]: C: r" `
alert("remove invisiable!");
: P9 L6 |& n6 V/ d }, A* r! w3 ~4 {$ P
node.parentNode.removeChild(node);8 X. D) }) I' m# U1 P2 f' S* l% Y
8 j; M) L! j7 W/ H2 v7 U; a
}& l8 U7 w; D+ v
else
2 a; @- p9 F9 c, _ {+ r' t; e8 A+ ]* r# r; \
if(node.parentNode) ) C4 t- Y" R( [; T; l( w/ E
{
, k' u5 i/ E# p var orgNode=node;
6 ~% O, {8 U/ H- w/ ^ var orgColor=this.getobjstyle(orgNode,"color")0 T2 t1 Z3 z4 m: X
var orgRGB=getRGB(orgColor);
. t# [4 W" n4 H% {6 g8 W! B' V
) B+ z; ~: S/ y9 z var parentNode=node.parentNode$ m8 H" H0 X) ^6 s$ A* [9 f
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ b( s! ?2 V* {& ]) L ~) t- R
% v2 M# V5 j/ ^" C+ s var isLast=false;8 N% y4 Y1 n% o# N
6 ^- W$ P/ {8 e$ }8 |
while(parentBgColor == "transparent")
2 N. Y. b, ~# [6 c) i9 b {
2 B f5 z, a/ O: G8 Q( |
3 J$ e8 |2 D/ T; M; v, K& n; A3 f
! R+ r' e2 Q3 Y4 U1 \2 f# A$ |, d if(parentNode.parentNode == null)$ _6 P0 h( ?1 q& H1 C! [* h. H6 D
{ @- s- C7 O* {; X6 ]* }+ [
isLast=true;
8 V, J- X7 I' n3 ] break;& ^* L4 X( K. O ~! u# B( ~
}
0 ^5 B3 }. W0 c% M parentNode=parentNode.parentNode;$ ]+ ]0 I% {: i4 `% ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
! D3 Z1 ?" L% K7 @
, x6 R3 T0 x/ y* g if(parentBgColor != "transparent") ) W4 A5 x2 A- W) w- [" K( I2 i
{
6 y* o; A: h& R6 X- \# p break;
0 j0 W, Y1 ~9 F/ Q! ^8 f }: V8 r7 }5 D9 N" o3 ?
}+ V. Q$ R7 G, l
if(isLast)
. A; f2 |7 W1 d- k' |7 W( r6 h {8 {5 o3 W4 c+ c5 |; _: q
if(debug)
, l" S2 q7 X I9 ]- h0 f {' [7 Z$ Y1 x# E" W9 H( A/ j0 I6 n
alert("last!!");
0 M/ R& n) H- G5 u# U# X }
2 a" n/ e5 Z: Y, K) A) |' _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 A7 e4 ^9 a8 w) w" h* W6 ^0 D& `
{
) C" Q7 y: u! P9 {/ n9 \ orgNode.parentNode.removeChild(orgNode); , J' K4 J4 t3 ?/ J! U, h
}9 [& G, R6 ?1 T; O$ H; y
}) s4 I3 f' [# |8 H% l
else
' \) q5 _: e& p {
3 c& g i& ?, {6 \3 N3 F8 } if(debug): m d' H4 K4 q( t) P. F( ?6 |9 D" K
{
+ V( w5 E: t r5 M/ y% ?3 b4 v& ? alert("compare color and parent bgcolor!");
( E( o" ^+ b! [- n1 Z }
2 k4 i9 L/ O8 c parentBgRGB=getRGB(parentBgColor);
) J4 \' K$ e% |: o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% P9 i: B7 s8 P+ ^ {
, Z$ p7 c, c6 P orgNode.parentNode.removeChild(orgNode); ! I* o0 q' N3 j# n- B
}
6 p( g/ z' V7 z0 T3 Z }
' z% {# C3 u: i) R# L7 F }8 o1 |8 P- s8 g+ L' _; p
}
6 T5 i! R4 Q5 l6 c }
5 y6 d+ T5 b3 S8 K" R }' p/ a& `! i! \6 w
- G8 j8 S% S- y @0 E1 X* I% \
( Q/ f4 i) @7 {& A1 K6 ? var itemFrames = page.getElementsByTagName("frame");9 ~# K' {& s" [( ?$ V; Z9 S
var itemiFrames = page.getElementsByTagName("iframe");3 \9 v0 ^; \$ F$ Z
# P* @+ h& Y0 Q0 F2 ?' h var frame, iframe;
- g L) M- A, x& [ if (itemFrames.length > 0)
) W; p" N% G5 h+ @- J# I {, ^& k' j9 D6 W' G4 p/ z: c
for (var i = 0 ; i< itemFrames.length ; i++) ( ]0 \; y% D3 U! N+ V" @9 t
{4 y' I& z. K; X, ^% U
frame = itemFrames.contentDocument;
% i) D" k9 ^' Z. T% o$ z8 ^" a4 T this.RemoveHide(frame,objname);
H( m- o; g" D9 C' L5 K/ A' W }
7 F+ M0 Q7 I+ H. W }
6 d$ `6 ^9 i) H3 D# h if (itemiFrames.length > 0)" M; ]' S. ]# o$ ]! v
{
. U3 B F9 Y! Y! L9 [1 u for (var i = 0 ; i < itemiFrames.length ; i++) 4 L3 |' g! \0 ~ M
{ H$ G4 I3 ]" C7 C, c/ |5 i3 S
iframe = itemiFrames.contentDocument;
$ R% G$ A+ [( D g k9 e this.RemoveHide(iframe,objname); ) V% y4 T2 b( g
}
0 o* D' R8 B: ]! A }: Y# M' s2 m, {9 c* I2 W0 B% r
}( L" ?3 V! P. C, ?* a
catch(e)
5 i, P' L& g" ^ {$ S, T5 l' b7 F6 d! n- c
if(debug)
' g" k" w: p& B2 { {
0 g3 Q3 A! J, Q F/ ~ alert(e.message);
, Q R5 [. i' _ }( ^1 } I3 E8 }
}' C$ ?* Q u5 ^8 {$ I
}
$ h' L! d/ r& p+ d, Y
) C X0 u( x+ r4 E5 X8 O}8 o+ n+ i: `- o" u( G$ [
- ]( O3 }" {5 ^: v& f4 k G1 j
function getRGB(colorString)% C: l0 E) d9 h- A0 G
{
4 w' Q- E9 x' i# { var RGB = new Array;
; g8 q: K/ D; \6 m# x, O+ P var tempSting=colorString.substring(4,colorString.length-1);
% p: K( i" `5 l0 l4 r2 Q, C! q2 P1 F var tempArray=tempSting.split(",");5 X9 M- @' h* ~1 @! p+ x9 i. t
0 o3 Z; z* h5 }; m- C+ s9 V( x RGB[0]=parseInt(tempArray[0]);
8 k; k- |* R! l; ^, ]. S- f M$ O RGB[1]=parseInt(tempArray[1]);
2 G# ]% w+ Z0 J6 v RGB[2]=parseInt(tempArray[2]);
' n: X% M6 J$ Q$ l
9 F0 _7 O( u) ]% z2 r0 u( S return RGB;& l' ~ z, K4 L* E# o
}' l( b+ m; P7 ?+ \
function keys(evt) 5 ?6 M, C+ F% y
{ ! d9 ?& Z8 {& m: E- n" Z2 c+ _! _
if(evt.ctrlKey && evt.keyCode=="81") + ]+ p7 E$ N/ N4 M& f0 |1 t
{ 7 N/ w2 T$ C4 {! o; [
CleanHideObj.on(0,1);. O3 E8 M P' }* G0 [9 x" u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% E6 i3 |# `8 W" u- {, O 7 X4 T4 X" v( L8 a9 d! w
} : G) {, N4 B$ b
} & C/ c! a$ \# E# ]$ f& D
document.addEventListener('keydown', keys, false); ' m0 @/ q& i( w
GM_registerMenuCommand ('Clean Hide',
$ D3 d/ M( N5 v) }4 v- _function(e){
6 _. ^" m8 N+ UCleanHideObj.on(0,1)
1 y/ l* Q, C! ^4 x1 e5 s& p# Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& }' B" S# ~ z2 ]});4 d h0 ~, l3 G# G
|
评分
-
查看全部评分
|