|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 x& p9 e4 f# M H
' K2 I' e8 |' A! h/ u火狐插件,用猴子
* W6 G, t% x+ F) M( M+ g3 g2 g3 c4 v5 Z6 H6 B
var debug=false; . R" i* y4 R* c% h3 |
var CleanHideObj=new CleanHideClass();
5 n z& x# l' N! R
5 f* h" b9 q4 r0 H9 E# \% g8 Dfunction CleanHideClass() 1 j: _) r7 R. U# O/ J* ]3 q
{
0 q0 r. x' T4 G1 w" ] g % d- A& i+ b( c1 p$ @( c6 E
this.on=function(id,bMZ)
7 F3 r3 n' ~/ N5 W" N& v {
+ f4 @$ {% z l" G* ~1 P5 K
# W) _4 \( L+ D5 V( C6 D8 O; j. r if(id == 0)
; F" _# i" C8 {' J' ^' C" u6 [ {
$ Z+ f) }# \% o; O7 C var page=/* document.getElementById("content").contentDocument */document; % b5 G- ?* u- l" T
this.RemoveHide(page,"span");1 N( b6 H- _/ U) B
this.RemoveHide(page,"font");
( s$ u. h; v2 a this.RemoveHide(page,"div");
) J4 B2 d! c2 R7 N" I9 o# u" z this.RemoveHide(page,"p");6 a/ L! b% H% P" U2 h
8 v' Y& A# v' i6 I/ b
}
4 [: g" v. E$ s% r: O/ W Z: T
$ Q/ D% r3 n! I+ B }
# h) M7 D/ y& k% z$ K this.getobjstyle=function(node,prop)* [5 e( r9 A; F) h* g3 q
{
$ r& x/ B9 p& x5 Y' p try
- k6 S1 \0 {2 z9 ] {0 \: ] u% z6 _! k5 Y7 o. r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& Z5 s: d# c7 v6 q. z3 G* i9 a }
( {: Q4 S4 }) `4 T catch(e)5 q, `& x5 n& X
{/ N0 q% J$ _9 e2 s4 S
if(debug)
|: h" o: O3 c+ ?5 W {
* B1 ~( p* Q" C2 o alert(e.message);9 U' q# G4 c& }( _7 D
}
3 f8 a/ x) F8 B7 R" f5 l; u ( p$ ?' b2 N3 [8 J9 F
return "200";
' M F' i$ \1 h5 s" n$ {& P }
6 S* O& U6 X9 S8 d# [) r" G* V7 p }& W, F7 n; s# p6 e! z5 \+ k% c
0 J, o/ J- {6 d6 ]
this.RemoveHide=function(page,objname)
3 v* X7 Q' r( [! O {
9 A" H# {3 v1 m try
) Q( N0 S6 ]& v3 M5 w' P {( x9 _( J& p2 _: G
var minValue=15;
9 M4 h% k2 {2 B" }. I3 F var objs=page.getElementsByTagName(objname);
; P9 ^6 O* h- d! W! X! |# L
1 n/ Z9 e* }5 z6 K1 M4 @. n3 P$ o if(objs.length == 0) 8 u# J1 y$ z8 }
{
8 L& n5 [9 T* v! G if(debug)8 v0 e! |- C% |
{
% r7 Z# ]7 U2 g6 P' c alert("no object found!:"+objname);) ~) E8 V, e# M# N* n: ]# ~5 a
}
) z* O9 f$ K# W3 f8 o }
: n# f3 o7 F( H. ? k. h else) U& ~5 T$ t6 L1 i: d
{
2 S0 y" l2 E" z# n/ v * B% @* X4 ]! Y5 u0 s, y- W2 b
for(var i=objs.length-1;i>=0;i--) 0 \7 C! K ^: T
{
% P3 X, i$ Z1 o* F var node=objs.item(i);
8 `) Y. ], Z5 L* C$ g- G2 |9 p
}, ?& R) p# K. _7 M
2 a' I/ Y3 E b6 O$ n8 Y" o if(this.getobjstyle(node,"display") == "none" ||
/ a S$ M1 c, B6 V5 d& u6 F: O this.getobjstyle(node,"visibility") =="hidden" ||2 S% u5 D# p3 K2 Q. f
parseInt(this.getobjstyle(node,"font-size")) == 0) T2 O0 n6 s- A3 |3 p- T
{; P/ R) c8 N! b* q
if(debug)/ {1 J) h$ R; { X2 u" e
{+ ~% S( ~" f v5 w
alert("remove invisiable!");4 G" J# z; s& _5 q, y
}
i. V; q) |9 } node.parentNode.removeChild(node);" Z0 O4 b. r* g4 L$ Y! h5 j( X3 s
" ?8 @' v% O: _* N% {
}; m) F% O9 P) i5 e; G* B3 C
else
3 l8 `' P$ J2 v: {! Z2 R' ~3 L; T {$ l" t4 U$ j( F4 I
if(node.parentNode) 3 l, a4 K- Z7 U) {( g/ h( |
{5 p: m* G4 E: q
var orgNode=node;
, o& A8 H# g% I7 Q var orgColor=this.getobjstyle(orgNode,"color")
/ ]5 ^/ V! a y b6 C+ e var orgRGB=getRGB(orgColor);
& _* ]) k6 f. a& a+ R2 @ : G, j) l+ S7 y* v, T) n
var parentNode=node.parentNode
$ B" Q! @4 P0 a# s. D var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 y. ~5 Y; [/ h; e& I - \" V) }4 s( f
var isLast=false;# A5 I$ J9 q* X4 w# u8 P, T7 J
8 X* T* V2 d z/ s5 ~: J6 i: F1 W while(parentBgColor == "transparent") / _) z( |9 a3 n) r3 [
{
( M! P" L2 J; h }9 z / W: ^. f: [- U9 ?/ P9 S' t9 |+ {
$ f4 h/ `; h! |8 E2 q; t# A if(parentNode.parentNode == null)
( W! r0 j/ P$ ?$ y {/ p { k0 U( o* \# _3 e
isLast=true;2 w: K4 _/ m$ G. ^1 K
break;
* @- f( S% x: ]% r, U: T' q5 w }$ W$ w5 B6 X) ^; l
parentNode=parentNode.parentNode;! |4 R# [5 G8 \1 L
parentBgColor=this.getobjstyle(parentNode,"background-color");
# `/ L( j' ^6 u9 z
& ?4 E( i5 G8 r! @9 O3 D if(parentBgColor != "transparent") / ~% O3 R* U- T9 o1 y/ j, S
{, M6 z" J! ~8 v; h0 f1 b1 m
break;
3 q( G) ?$ e. |2 e2 ^ }( T$ {, x0 s5 O# x
}
: n# A. _ B, H' R" [- V4 e if(isLast) , ~: ?' Q( @' P: ?' O5 N& q% A' B& }
{- f: M. b; W8 v9 K9 e
if(debug)
- s8 g6 F- p4 w {+ A+ Q/ G' D6 F& A+ c2 n1 U9 g$ k
alert("last!!");
6 N+ l2 r( x/ l, B4 {% | }
# k$ z6 c1 u: E& c; i$ x2 p) N4 s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* i/ b) x0 k$ m# T5 K2 O
{8 f% M+ q3 h2 C2 [) W$ B2 A
orgNode.parentNode.removeChild(orgNode); 8 ]5 @- T* V9 x9 m3 X7 x7 D( h0 k# x
}
* U2 I4 E) T2 _" p }
+ D3 W& I/ n' T0 z' ?0 d. X+ y, A# K6 h else1 [) r3 ~' v; j: g; f/ l
{
$ g t$ m* B* o, s; I if(debug)2 }8 \- Y" d: a& a% E' d- J/ c
{# j. z8 R$ Y6 C7 W {0 t$ w
alert("compare color and parent bgcolor!");; @. k4 q1 r' b% L6 _
}$ S, n! p0 g1 O7 C0 r7 g
parentBgRGB=getRGB(parentBgColor);9 d) h- S* `! f% E4 g* l' Q" v9 e
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. P O# q2 K& f3 i1 m' \ {; X, }2 `% v$ A2 K4 Z
orgNode.parentNode.removeChild(orgNode);
- U: A0 I# L G/ K! E3 r2 } }
0 G' w/ M% T9 h }
: T/ U6 r$ \4 H$ F }
* J0 F# N' |% a1 Q I# Q }3 a$ j$ I/ [8 t B9 a) E" G
}& v& e% Y; I/ ~
}& d! t5 ]4 ?* v/ f. C6 E
% j: y: _4 I, d* k! y
" @( }9 ]3 u1 F' o7 W; e' \( C var itemFrames = page.getElementsByTagName("frame");
+ J: K" d2 s. b% k8 @$ q var itemiFrames = page.getElementsByTagName("iframe");/ e& v. K3 F1 r+ F7 H! X1 K- X6 X
8 k5 Q r. y9 v4 Q: u$ y @ var frame, iframe;
+ m" x# J p! _7 J. _ if (itemFrames.length > 0)
% F3 }; y4 h3 F+ { i- ? {
9 P |- p# j f for (var i = 0 ; i< itemFrames.length ; i++)
2 s0 z. B% S# z& w: g3 z6 S! n {
' R$ F, v- Q; W+ }4 k frame = itemFrames.contentDocument;- o, ~ f: K* R# U
this.RemoveHide(frame,objname);
8 g' h5 _/ X; ?6 U" x4 X; I }
9 m% `4 C4 w& M+ p4 L8 F8 t7 G }; Z- H/ H# Q0 n- C
if (itemiFrames.length > 0)
2 Q$ V; I8 F( o- |3 c7 j {% a7 z0 x! t6 O
for (var i = 0 ; i < itemiFrames.length ; i++)
( |! P2 S F2 o7 E( w {. [8 T/ `9 S; j# U/ I7 E
iframe = itemiFrames.contentDocument;9 _# [, E; V# j$ \5 y9 x. I
this.RemoveHide(iframe,objname);
- q$ o: h' Q) | h, u& l }
5 D$ d9 E* r3 \0 e7 Y }
2 K/ a$ R$ `: \$ f4 ?# v }
7 ~1 ~/ O, `- H* ?8 y. a9 Z1 s* E. z( s catch(e)6 w7 T9 V4 F |# W6 U2 ^
{( s: F3 K9 _. Q3 l
if(debug)" i) L' r; f7 N0 z* X) o
{" K/ U; [5 O* f1 N
alert(e.message);- U$ y% r, a# G- |+ m
}' Y4 D) s8 b$ s8 B
}
/ R4 }8 d# T+ ^3 I' N+ v }
2 H, w7 I, \% p( e l 3 t. r) C; d; J' T" W1 f9 y
}
8 b0 @ }) e* v7 _. x( |+ _2 y$ H; G1 k$ r. B
function getRGB(colorString)
- N4 x8 _8 \! o" }. ?, H{
8 S/ O; g* P" \1 T4 R var RGB = new Array;- z0 {7 h- A Y% v
var tempSting=colorString.substring(4,colorString.length-1);5 }: T" Y+ ?$ K7 `& K2 F. r
var tempArray=tempSting.split(",");
9 J0 N+ |- e- Y* G0 N' @
( P5 ^, s0 D7 W x% |# p RGB[0]=parseInt(tempArray[0]);
# B5 ~8 v) E9 \, |. r RGB[1]=parseInt(tempArray[1]);
& V4 D3 K: y. u" D: _' X RGB[2]=parseInt(tempArray[2]);
0 H w0 t' S1 }; B4 H8 r* Y3 E" Z & Y+ V! x }) P3 s, g }
return RGB;0 y% k1 g! I! X& c" h
}
, H; F8 y+ M8 bfunction keys(evt) 1 `, A. \+ f. P$ a; D7 Y1 I4 Q3 u3 i+ w$ t
{
1 j+ ?5 E/ K# |% {3 ` if(evt.ctrlKey && evt.keyCode=="81")
: `8 n& C. A i+ z; |2 W J0 y* \3 T {
) c. T% L/ h8 W4 S CleanHideObj.on(0,1);
# o6 L3 y* @/ F l V7 w: U alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 x2 S* b1 K6 O) K& R3 f+ z / U$ @8 v8 A7 R( c
} 0 G, B/ ~: i5 R/ |4 ]" v
}
1 ]5 P6 Z8 c9 t) y: U# Ydocument.addEventListener('keydown', keys, false); : z0 C2 }3 ~( V6 h- Q1 j8 R
GM_registerMenuCommand ('Clean Hide', N+ ?5 j7 R. q. l7 s2 ?1 s0 y
function(e){) h. L5 B* h1 x: L( w. ]* t
CleanHideObj.on(0,1), I% F3 z$ F- C) m9 R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 O- |0 t; R: }});+ K9 W' V6 v9 f5 r
|
评分
-
查看全部评分
|