|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: Q) U! T& j, d: E# h9 i7 e9 C) h6 T! r* \. U
火狐插件,用猴子
/ g) B, F6 Y7 `% M; B6 y |& ~- r4 M% f" ~1 C1 [- H; G8 p) F; o
var debug=false; * ?3 K& _; s1 ^
var CleanHideObj=new CleanHideClass();7 @; e& r$ g: s" @, L$ n+ G2 j8 ~
& m4 S6 E! g' T+ P8 y6 u+ y1 S
function CleanHideClass() + }0 y9 m( w6 n9 i5 s6 d
{
* k- @( V0 V2 {% [3 t6 _ 8 k& \ [$ c0 I( A/ z k1 _
this.on=function(id,bMZ)* l3 R# ~4 p, Y' Q! L
{; A E: M0 y/ d7 V- U
$ f3 i6 k- p) @! C if(id == 0)/ w; V P9 J' W* |* @9 p
{+ \ Y _% X# ]! i- T* ~
var page=/* document.getElementById("content").contentDocument */document; 3 Y+ y+ T$ ~& u. i8 I$ q
this.RemoveHide(page,"span");* W8 l: c% k+ _" o1 t" ^! {
this.RemoveHide(page,"font");
% w6 v- ?) i8 ^" B3 X0 H- P this.RemoveHide(page,"div");1 S# ^2 p8 H' o, C% d4 _- }5 ] x
this.RemoveHide(page,"p");9 X2 c! N, m5 B( l+ V+ X
7 i! _1 y6 l2 b( k7 w( R
}
8 C* D6 e3 i, ]( K/ c: N" X8 B1 o2 g
" x- i4 g( \+ Q# C }
+ |4 S' l, p$ R2 k8 { this.getobjstyle=function(node,prop)
8 ~! n1 e5 [$ [; |( k {6 b" H& E2 Z% O) l
try
5 D; I- J+ X8 p L3 S {
& Q6 v6 N7 ~: g, K+ I# W7 A. ]/ ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) @# \+ ]# T' A1 P7 b8 L4 |
}
; r- H* X1 v0 C6 Z catch(e)0 K* x' I. x1 M3 y" |
{
! r; G- Y: t- l8 n if(debug)
3 Y% y: w3 s; `. U {, ]# l4 [$ U- E" i) M9 L# B7 v/ ?
alert(e.message);7 F, A3 e& I2 W1 w9 I S
}
, W) J4 L1 N; W8 z7 H ( ]+ S/ ?2 X1 y) b: ^2 X( R' i
return "200";
. a1 d1 J* U& p! w }8 L4 e) \3 G. e& r+ u
} E" t5 X* c9 q* R5 O2 J
& y2 q: M& c. G6 O. C. f
this.RemoveHide=function(page,objname)/ [1 p+ _% o; ~, b) y
{! k! B- x, P5 M
try l' T( j. t6 M3 \! U) J
{+ @/ {6 ^9 _+ d
var minValue=15;
, ~) i% S. W- `: _) f) U8 d var objs=page.getElementsByTagName(objname);
3 }0 d* _2 v8 y. ^2 C* g
, O4 C5 B8 o D4 w: l if(objs.length == 0)
( ^/ @' l' k2 g( i0 S2 r( q {
% P; `4 i- A" l if(debug)
. n6 J A+ m- G; }1 s5 L0 \ {0 g& j& {+ ^% a2 F& ?+ u
alert("no object found!:"+objname);+ V5 g# U( a3 y7 @. T: c+ _! ]$ J
}0 S( X: f4 @& U( g+ t0 p
}+ r" t5 L% L7 m& D0 _( S5 F) K. {
else
5 [" @* n0 ^; U* P { y' }, c5 z5 G- N( l# g
1 W$ C9 q/ I; n# V* y
for(var i=objs.length-1;i>=0;i--) # s! M; F* |2 \* H
{
1 n& a3 R# X2 k$ j% L1 u5 i1 ^ F9 m var node=objs.item(i);
( u1 X# O9 w- |7 Q
7 K$ j7 {) V6 _' a 6 B6 M! L1 p: V2 o/ m
if(this.getobjstyle(node,"display") == "none" ||7 E7 P# @7 }+ \- G; h* @- [
this.getobjstyle(node,"visibility") =="hidden" ||/ @; b8 t1 v$ r& T1 K$ L0 A
parseInt(this.getobjstyle(node,"font-size")) == 0)
, W* R' ]/ P0 f* E4 k. g0 X7 {2 { {
; q* U* u3 i. B( N0 R- j [5 W if(debug)$ p8 i5 z. u* y" }2 C
{
5 T+ d% t6 C1 i, V. l! y9 W* U alert("remove invisiable!");9 W1 c2 Q6 m1 j" e$ i# I" R
}: U) A, l4 m! L: N" h8 R; M
node.parentNode.removeChild(node);( u7 U2 i6 ?( @/ R/ g5 A
/ `# r' h9 w: Y5 e }7 e- w, Y% q$ a7 s9 {
else
6 j7 S1 j) \$ X {
! j& O' I9 |3 W* f8 v2 x4 l& a if(node.parentNode) ( @6 V$ D& A7 p
{6 t0 d+ p" z( G! s r0 f
var orgNode=node;5 x9 n# A# I5 x
var orgColor=this.getobjstyle(orgNode,"color")
& [5 n: s! L/ E, i var orgRGB=getRGB(orgColor);
) R) h. `) X5 z& d b w$ |* Z! P
var parentNode=node.parentNode
; J O+ y8 C7 K6 @9 N3 u$ I% W var parentBgColor=this.getobjstyle(parentNode,"background-color");% y' D* L& A, t. M" `4 G
9 n- n8 s7 }. L5 a: s9 \/ }& ^+ V% b var isLast=false;! Q- M2 y4 h2 I
. d# {: ]& J, g/ c7 _
while(parentBgColor == "transparent") 7 j9 p6 a. h. b N: C4 } b( _
{) D$ e1 A& D: M" w8 w
- V& N: ?; e4 s$ `
& h" G7 i k& _; `: h if(parentNode.parentNode == null)3 |! M4 B/ M& x, O3 p0 @" E; Y
{0 @$ j) Q+ t3 K; g7 _5 p2 l+ O
isLast=true;- Z: g- c d1 S p5 x
break;1 d$ H9 q9 ^. Q2 E& a
}
+ H1 z% D k* ~% D4 W0 c parentNode=parentNode.parentNode;. g6 c+ A% r f$ f
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ j; K% \ I& m1 n1 D* B6 ]7 G' F$ U0 f r: Y5 A
if(parentBgColor != "transparent") 3 f+ ]. I- z' w; l2 Z& b
{
$ t1 ?& S9 n1 @- }3 _7 o: \ break;
% @2 L; Y* {) I+ e, ` }
- R# u- `+ _" {6 M! I2 g }, P( W% m1 d P
if(isLast)
9 w1 A m8 S0 n {
' }! G \& a! p: S if(debug)
( u+ j! d9 I- _) u7 |5 E- c6 U {) _3 R3 w8 J8 t7 R
alert("last!!");
9 _/ B' g- K3 S& {: W }" v* S2 G) }. q8 v) _# b9 d4 h3 N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! ^ m" p' V) s. x( C1 O% @! p: C& r+ u
{
# `! q+ w1 N+ n0 ?' K orgNode.parentNode.removeChild(orgNode);
0 h: X8 O" n4 }$ l1 m }3 N- _4 o, K4 K; X' d) I* m
}! A' z i9 P5 ^
else
5 C9 S! i6 d( J6 i {' X) w6 }4 \8 V# J1 h) ?; [5 H( O' O
if(debug)
5 R/ y- Y( X z9 M: o$ C0 x {
; I/ k% n- z; m1 ]% f alert("compare color and parent bgcolor!");
9 j1 A' K; m. j }6 v b9 b: X/ j. Z+ Z
parentBgRGB=getRGB(parentBgColor);
% L% l( f' O* D. p5 @# k if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( S8 k8 r1 ~5 S4 h, T9 f; [6 r) y' p
{$ _& f5 W0 w3 i5 d' F# b0 A( b& y: p" h7 f
orgNode.parentNode.removeChild(orgNode); % T; u3 T# I6 r. d
}
+ G" Y* p6 n# U% T }
$ `+ S# c; }" ?* p5 i# F, [ }
/ f0 v- @6 |/ i% k! x }
- K0 u5 {2 z* }5 s) t }% N( s5 K9 x" l2 f: m6 e
}
2 \7 k$ H3 Y7 K: l/ N7 v5 R/ R3 i & E$ F) O: d1 ?" Q2 P
. h0 V! u9 _$ ^. G var itemFrames = page.getElementsByTagName("frame");( B' s W& ]- F& B G
var itemiFrames = page.getElementsByTagName("iframe");
5 o, F9 a0 ^: z 2 Q( y7 s: A* B/ X( O
var frame, iframe;
% q' n; T" S6 p4 c) N if (itemFrames.length > 0)! ]0 t" x! s6 p7 I* C- n. l0 W9 K
{
7 e; A5 s6 g7 s8 c for (var i = 0 ; i< itemFrames.length ; i++)
" g# n1 a; x% S5 U) G {* Y4 P ^3 P4 d. F: H
frame = itemFrames.contentDocument;
3 m+ g C8 o$ e this.RemoveHide(frame,objname);
7 n0 Q& \- i) G0 v% l |4 v }
# L) }% {& ]: Z6 W* \# Y3 @ }$ u( a: b) I( [5 r2 z9 q1 X
if (itemiFrames.length > 0)% z. [$ Z: ^# T$ V, }# r
{2 T' V/ B) T4 i$ a
for (var i = 0 ; i < itemiFrames.length ; i++) 4 J, m5 @" _0 |: y* P
{
# R( P- c* s9 e8 A" ~" e iframe = itemiFrames.contentDocument;
2 \1 W V# T5 j; _. H this.RemoveHide(iframe,objname); . ^7 A q. ^0 e2 s9 Y: w0 x' C/ T
}
2 }; H9 C* r2 \* e. a' s& ` }
. k' ], O% r$ X& J7 L$ E: l }
, G7 l9 `: O2 x& V* C, @: l catch(e)' |! I0 E' `4 ?7 C7 E3 d/ T
{! k0 ?; f6 V1 D8 o
if(debug)5 c8 Z, \* ~' Z% B8 d2 b2 D4 O
{8 f& }! J7 z6 s9 m
alert(e.message);
; s! S. W8 S7 a/ G# k }
$ i+ f$ {; c2 P( I }
: A8 ?# m. a" g7 m }
2 `2 u0 u4 H7 w0 W- e; t! F0 L& r
2 r! B: H# O3 ^# v6 A: Y}
9 H. b( s0 n# ~; H2 r
2 ]( Z0 m( G* R8 I" u( O9 Wfunction getRGB(colorString)& i9 E. g* P2 j
{ M1 ^9 |6 g+ I9 [2 B
var RGB = new Array;6 n# H! F# b$ y* c
var tempSting=colorString.substring(4,colorString.length-1);; r- b* ~3 H# o- b
var tempArray=tempSting.split(",");
P" e" m1 D) Y" \2 b
3 v: g( ?0 e" Y RGB[0]=parseInt(tempArray[0]);
1 a, z4 D, P& N' o7 { RGB[1]=parseInt(tempArray[1]);
: g2 x) ` o8 _$ K3 |* x) u, a: @" v RGB[2]=parseInt(tempArray[2]);1 p, J+ Y* E1 r5 o3 n) t( K
9 d+ u% D. Y. B8 F$ E
return RGB;
/ n5 {5 C- v: o; S# u/ U- I}
8 @$ Y. {0 [( ufunction keys(evt) * l Y# ^1 ~# [ A$ _; l
{
3 l1 v* v. P# b* |" V% q: g if(evt.ctrlKey && evt.keyCode=="81") $ m+ e' X9 y3 m
{ 5 H' \( c+ k: H
CleanHideObj.on(0,1);
, p. ?' h3 I; X6 C3 w, y, _# Y( P alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & {5 ~# R r {
I6 l; n9 S1 ^( j e/ x" t
}
4 ]7 G1 b: o6 t$ e; y" I } 6 \9 I1 J: @4 ~/ u, j
document.addEventListener('keydown', keys, false); $ ], p# n( G. X
GM_registerMenuCommand ('Clean Hide',
9 K9 u) _$ Q3 v- i0 Vfunction(e){, i/ g$ @$ R9 V
CleanHideObj.on(0,1)
% }+ G1 y" P3 B5 l* N9 Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ x- T4 C8 X1 [) m) m
});
+ H% h8 _2 X9 U* t, A1 d: W5 | |
评分
-
查看全部评分
|