|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 H2 w% i0 g$ Q' f; u. ]
8 C% g' A ^2 J) S/ T
火狐插件,用猴子" I1 B- l( a& l E4 g M; _
8 S3 n6 L h( D' n2 Dvar debug=false;
$ \. G& S. O7 a% ?, Fvar CleanHideObj=new CleanHideClass();& x( q8 W; v, k3 j. t
: Q% I8 B) N/ K7 }+ i
function CleanHideClass()
9 Q4 @6 B4 l5 C{
* c% T' K* y' p* P# p9 d: M2 k
" C/ b5 q3 e( H) e+ G& A8 |+ O this.on=function(id,bMZ)6 E; P& S' T n' ^* ~
{. P$ S! ~3 |* C
1 P. l& J9 f7 D
if(id == 0)! A% I) y. F- ?
{
5 U% D6 e4 ~3 _6 N4 ?# d7 \( L var page=/* document.getElementById("content").contentDocument */document;
4 ?7 S: e0 _/ ~& {1 w" y2 j0 M7 q this.RemoveHide(page,"span");
; F+ g' I2 A7 E" W1 y' u* B this.RemoveHide(page,"font");
3 `8 z# F! V: b9 T this.RemoveHide(page,"div");! c/ e3 _# O% Q! i: Y% n
this.RemoveHide(page,"p");
& Y& B* B \6 W) s: E
/ I) I% S2 O6 u; U7 ]2 l \ }
' e8 l& q4 X% y! D+ P2 t9 l
: r+ g, u! r. }' v% r! H) H* Q }7 U/ \0 T0 e1 Y& Q
this.getobjstyle=function(node,prop)
+ D1 P" x6 Q- N) K _; [) o6 } {1 l- `7 c6 Z' ^- S7 }* X0 U
try( C s5 }9 W8 t4 M
{
0 Q- ^- w6 F! x/ n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 L( p1 l1 h! T# S- t
}
+ M- t; i) y8 U& b& K6 H& I( o catch(e)
. |3 s+ c# @0 r' g+ T$ t% D {4 I5 i' y6 M# b
if(debug)2 Q$ j2 K" T" e+ L L; ?3 K
{3 T, N: |' V# I+ a9 Q, |* q9 t* r! s
alert(e.message);
7 ]; J! V! u* X- B/ W! J- ? }
" O) ~2 c$ d% o! F7 F4 h
; H9 y6 o2 Q* n, b9 W$ _* g return "200";9 Z4 B' o9 P& S2 J+ [5 s
}' t" r, M( Z! Z8 u2 ~# P4 N! U
}2 R. ~8 @$ G( L0 d. M
; h# a4 O K4 Z; B2 W3 V/ r
this.RemoveHide=function(page,objname)
% g0 u; ~) t7 Y. U( l5 K+ P {
# q% d' }9 {# j5 Z try
0 J0 j/ q, ^2 n2 G1 p {' H! t1 B# Q$ z7 ~+ @
var minValue=15;- L/ i& }, ^1 U. {$ ?7 |8 h* e6 p2 j5 t
var objs=page.getElementsByTagName(objname); * s) N8 n7 j) ?; J! ?1 d1 Y
" C) j4 a0 c0 i7 X3 S/ n3 a
if(objs.length == 0)
! {5 {1 ^) ?) a- x# |. s {
- J" H& J- j/ K8 w) U2 y ~* Z if(debug)
/ f5 i; J$ ~/ } {
; p) p0 b, k: F0 B8 d alert("no object found!:"+objname);* T$ V* u4 a6 l" V% q, h
}
& y, G0 [4 [: p7 A$ h }- k& h- h! R) p% A
else
, m7 `; g: \) x) g0 D. l$ l, n; c4 l {
: r: R( @; I9 q1 L
$ D, ]! X) J1 H# O3 b% I. A for(var i=objs.length-1;i>=0;i--)
t+ @) q3 x; R, e* b7 f9 N {4 h6 G3 ?$ J& M/ [: W) S
var node=objs.item(i); ( J' F0 C9 x3 C/ T' H# X
2 R W+ b' ~% O8 D
# f& m ]2 X7 W; G0 w2 v8 b if(this.getobjstyle(node,"display") == "none" ||9 z; c s2 f' V9 B1 ^
this.getobjstyle(node,"visibility") =="hidden" ||6 m9 R( e, x2 f. t) C7 P4 A
parseInt(this.getobjstyle(node,"font-size")) == 0) . V( k, `) `: {. F2 n6 Q+ z
{: `) m! o+ r* S$ K# ]2 l: f
if(debug)3 i5 W4 J3 }7 _2 k& w0 N9 g+ D
{, `1 d$ M" W5 D% \: n! V0 A
alert("remove invisiable!");
, W& d9 v; ^% z }
: W# a4 K* U: j G0 i4 k6 U- M node.parentNode.removeChild(node);
6 g7 s7 x0 C7 r4 E4 }/ w " y3 `" |+ W9 _3 `) k* ]0 g
}
- u2 N8 Q8 q/ G' d$ j else ! R. g1 q( q# S, P
{
$ A* N, U1 h& a# F- S/ ~' H if(node.parentNode)
7 b: c- a5 q$ b' _; D% R {
6 J" O& g* h5 x v% X; a var orgNode=node;
# v; f0 F& r/ i6 N var orgColor=this.getobjstyle(orgNode,"color"), r3 R! j% T) k8 x( i' L0 m+ h, o) o
var orgRGB=getRGB(orgColor);
, R9 p2 U4 C) U+ ~* |& y: B' ]: v
$ O! C0 ^3 D5 M2 M z* |5 C; O var parentNode=node.parentNode$ E9 U0 Q" l- L: Q
var parentBgColor=this.getobjstyle(parentNode,"background-color");- P7 O: T; s# S
) o( q. k, T+ v6 w6 I$ f" d
var isLast=false;) r& f% Q9 @) v; \! C3 M3 A
) K- \9 ~' t3 \) Q0 w$ Z7 U: L. d
while(parentBgColor == "transparent")
3 }( r; \! L) i% t {, f' z: \0 V+ z2 f3 F; U: t* B
) @" e% _* J, H0 \1 B' h: y 5 ?. u. a/ }- g; V9 `# b& t% {
if(parentNode.parentNode == null)
/ U: D( T' q" s& L* I1 O) y1 T9 u! j {7 i" {+ n: G5 B
isLast=true;
7 r# m: x( m. z/ W* r3 S; T I# J break;
) r) l0 A1 M' W! S) d1 g, B5 g" D } n( f9 r: L- t+ Z0 {
parentNode=parentNode.parentNode;
~. b! s r: @; i parentBgColor=this.getobjstyle(parentNode,"background-color");
9 N& p3 L, O9 x1 d, [2 w7 X6 g& {- h% J
if(parentBgColor != "transparent")
9 X) z% R& c9 S. Z {
, f6 G+ ]$ E# X! h4 _ ~ break;
0 N9 ^) l+ o# r* }# l. t) A7 B0 a }* ~* s% a z& \8 Z
}- l$ ?% t" P% I
if(isLast)
6 P& a& x* ~+ g {1 }0 z( F( w- R1 s5 x( k% z
if(debug)
+ j# r6 I, _) o% W {
+ M4 C+ M" r% _# Z' R: I alert("last!!");
% @6 E; @) i9 F* R }
( Q6 ^1 B9 c+ l" v8 i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 o, e6 v u' \ {2 r. t* u$ S) v+ v! L) w: A
orgNode.parentNode.removeChild(orgNode); ) P8 ?/ Y: B) E; Z( A3 x7 i
}
& S9 H' k+ p# l9 U* R }2 ~% j+ n% s$ ]; Y
else/ d O4 z& A% }) r( A2 {% Q* K
{
2 ]9 G; S" r3 ~9 i, [9 R! Y if(debug)( M J$ `* y0 X! | [4 a1 _
{
8 [" W" s$ X" ~5 j' K2 h G alert("compare color and parent bgcolor!");' E9 m) C4 @( K, a# X0 d* z
}( H! I, d& j2 O; x. X0 g* |/ i* N/ j
parentBgRGB=getRGB(parentBgColor);: d# i3 y& }! }' b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
v# w* \: b2 V4 d {
; O% w# F6 X/ E( ^1 A orgNode.parentNode.removeChild(orgNode);
. s/ e: M! J0 m3 [7 d. ^ }
+ c9 e' {; I% }' c: a& K }: ]* f% H \! e6 D4 q; U
}
9 F5 O3 m/ @' t9 z }
i5 R, l9 Q( c8 G3 `) G; M' E }2 C9 }" u {( |' ?0 Q- S y
}
) o% T+ V# c* T* ^( f 2 A) i' g5 L% \) |* E4 O+ b1 W
0 [% Y( c8 h) n- C
var itemFrames = page.getElementsByTagName("frame");& K# M( W& @! R7 W0 d C1 X
var itemiFrames = page.getElementsByTagName("iframe");* R- ?" C" e0 N3 o a! I4 f- F
4 v: t: h8 }. }2 M, }
var frame, iframe;
" l7 i2 q, g* a& o3 y if (itemFrames.length > 0)! c* z4 r* L' X
{4 b7 d0 p0 O* V
for (var i = 0 ; i< itemFrames.length ; i++) ! H/ Y/ {+ s, }
{
3 A z! b9 y. N! R0 Q/ V frame = itemFrames.contentDocument;6 v& _6 |0 t. m/ ~. `' ]* [
this.RemoveHide(frame,objname); : ^0 T: \4 M* d7 M/ l0 H0 Z/ @
}4 ~' N+ V7 o4 P x
}
' a, J, P. V3 w if (itemiFrames.length > 0)
( I9 z( b0 h5 n% N6 Z8 X! E {' U9 p% v+ V1 w' p" k
for (var i = 0 ; i < itemiFrames.length ; i++)
9 T# r: w! l) A, h) f {! @) `( F* y" {3 s7 o
iframe = itemiFrames.contentDocument;3 p8 \/ b5 m3 m, |9 B& U0 ~9 } c) H
this.RemoveHide(iframe,objname); % d( |1 S$ Y" S) d* o. Y$ I
}2 M7 f3 @+ l$ |5 x( n
}
8 @' e4 @/ B# N' e* y+ J; K; h. I- p } x- y9 }8 X: M4 {" j6 Q
catch(e)
' W D% G/ K: \) [( C" p: i {
# A' ?% r. v$ j if(debug)) s+ m- }4 b2 K% H2 B8 o
{5 Y4 \% L/ p) [7 N9 o
alert(e.message);! ^: L* q/ K5 H3 e6 u
}& }( i! y* B- _
}
k6 y G5 G7 m! n6 {, x" _! { }9 R+ f* z9 `) e# T6 R
9 d3 k; W+ G2 b& }- X}6 E/ w2 N1 l$ R" H
. h# f5 e' W' T1 l: W0 ?function getRGB(colorString); f1 s) M$ ^4 Z+ `$ a4 Q2 X) V
{2 K, D5 o8 `/ S2 _
var RGB = new Array;
* `/ S0 t1 O# t& A6 H' J/ y+ V5 k# d3 K var tempSting=colorString.substring(4,colorString.length-1);
6 c6 V5 m1 B1 r2 M- k var tempArray=tempSting.split(",");7 x) m7 \' w& m* _0 [" w" ~
' @4 ^9 p" c9 A: W( x# \( c ~
RGB[0]=parseInt(tempArray[0]);
* w1 M* ^' @$ q1 ]1 C. l2 U RGB[1]=parseInt(tempArray[1]);& a! {% J) L, `. g$ T2 @) F k9 t
RGB[2]=parseInt(tempArray[2]);7 \, u. B, o" p+ z
2 c4 w( d* d2 H- m% M
return RGB;" U' e, |0 `$ k" u) q- ]3 q2 K! l+ n
}
5 r \/ }8 h kfunction keys(evt)
: l4 s! g- s9 g7 S {
# n5 Q& G( j1 q if(evt.ctrlKey && evt.keyCode=="81")
* \" B& u) G7 B' m! e$ V, E {
; G4 b; q% W2 T& B CleanHideObj.on(0,1);; }4 @# M' F' G! V/ _" g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 ~8 G6 ]; g' b5 S9 p% F& o7 a: h8 ?
R4 o3 L- ?1 N# j- ?
}
0 y+ a4 `9 j6 N% r }
& P p$ f* @9 \! mdocument.addEventListener('keydown', keys, false); 6 `9 a& @5 s0 Z$ P
GM_registerMenuCommand ('Clean Hide',
3 ~$ X$ D) X0 ^" r+ |" k3 g" r& Ofunction(e){
6 a: a, P4 @/ X; e1 uCleanHideObj.on(0,1)
* ~2 I' S, |3 l2 `4 B! Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" `$ p: v" Y* G! w( m});& B- O% C) j9 q; _" |6 Z: {
|
评分
-
查看全部评分
|