|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 e' L' r/ |& ?
- _; e2 L) v5 e2 T火狐插件,用猴子
% Y7 H" g) x9 A$ [: _$ g" H9 F8 D2 f. ^$ m+ K
var debug=false; ( y8 h* i0 K# Q. m7 w
var CleanHideObj=new CleanHideClass();! Z8 ?& Q' @* C+ A( @ `3 ?) L
7 M2 c0 R( |4 V' b \- M
function CleanHideClass() ! s+ q% S: m. _
{
, E8 ^5 L6 D% A: w1 E& M ' x( ?8 P9 R# _4 q
this.on=function(id,bMZ)
, ^% F1 s, N8 z }4 M9 e$ ] {+ u3 W" Z/ ~2 j
# D7 |/ k; ]" Y' c% x; @* E5 G
if(id == 0)" k6 } j0 _1 x
{) l' v9 i, ^0 [) C) y0 U+ E
var page=/* document.getElementById("content").contentDocument */document; 1 q4 `- G6 ^/ A0 N/ g0 Y6 K6 e$ O; I
this.RemoveHide(page,"span");
# ~; K3 m, z+ D* D# @7 B) W( M this.RemoveHide(page,"font");8 X$ C/ H3 _) ?) @# J* i
this.RemoveHide(page,"div");
2 }: c0 y" E, @6 j% @ this.RemoveHide(page,"p");* \% o4 F: {- @1 u. o
K: h0 m) Y: w. @) [$ C }1 y$ h W7 P8 G
8 G t* s& S; p/ j- t }
7 v1 X1 z8 k7 @( {3 R this.getobjstyle=function(node,prop)/ x8 g& `7 B0 Y0 _2 [2 k+ m
{
* H' {/ Y# X2 I5 Z8 s) b/ i3 O try
* C* J/ s3 C6 ^8 T6 O+ P {
4 c# T* \( y- V) I# _/ h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- _# R' m" a6 a H5 G$ j& x8 K0 K
}
i$ a0 X0 d5 E( b6 B6 A3 m1 C+ H/ e/ W catch(e)2 M, r) d" }' Y6 L' M. U: G
{2 \# R2 ?+ @& x& V) }
if(debug)
$ u/ t- X0 }4 Z- G( V/ t {/ A: S7 ^* @, o8 L3 f0 Y$ B
alert(e.message);+ H) m) N6 ~, X3 ?5 [
}; n" S5 i9 ^3 ~: ^
1 o$ b# ~+ {0 Z9 o; n: D% W
return "200";
) Q$ L# ?1 k1 U$ G }1 s% B$ c4 @0 d$ D" h3 [2 O* K
}
4 z: e: G0 {$ [7 {* a 4 @1 T s. |" Q% o
this.RemoveHide=function(page,objname)1 |( I" M4 a& Z
{/ B9 E! i, Y0 t
try
, {' k6 f! {$ A {8 C2 Q2 z, ^& E' a+ H! |
var minValue=15;5 ^6 z1 o& A' u3 a
var objs=page.getElementsByTagName(objname);
0 m' L) W1 @6 ^- H" F8 g/ @& d [# T" _& Y- T
if(objs.length == 0)
5 A; j {0 G' @' S- Y D {' g6 }9 o0 K6 H
if(debug)
) f% H5 M: y" [/ ?6 X {4 Y8 O1 ^+ z! z7 z1 G1 |3 i0 ~
alert("no object found!:"+objname);
3 l; N: L3 _% r5 f* T5 A }( E! e5 v5 v+ }5 z" G/ A: K7 w
}3 F6 Q$ s9 z. T& |1 o# |. s
else& f8 S) V6 C* L# W
{
6 X1 ~# X" l: g9 d0 c# o
( q3 m/ h& B( }1 U9 `* T for(var i=objs.length-1;i>=0;i--) ( c& o" J" c3 m
{8 f7 t) R: y/ \, h( C
var node=objs.item(i); 4 Q) M9 q, T; _( A
: S2 _( I5 I6 U' j( y4 Z! }* F
5 m5 P; `1 z1 s8 B6 w
if(this.getobjstyle(node,"display") == "none" ||
1 S: R: S* g" O9 h this.getobjstyle(node,"visibility") =="hidden" ||$ B. o- y7 u8 b- y/ T' r
parseInt(this.getobjstyle(node,"font-size")) == 0)
" f6 m! W. C* n/ V; T8 F {
9 S& {* m1 e0 G( z! s2 y if(debug)
1 A, U0 Z5 k3 [% K: ^5 K& z( z+ a {0 B0 b1 r5 n1 e& |
alert("remove invisiable!");
. H3 h( z9 q# u) w% M; }! A7 z3 i- r }
, @% ?1 Z ~) v: O z2 H; H d node.parentNode.removeChild(node);
f4 g6 B7 w7 z7 m8 A ' e9 ?2 ]( N6 l9 S1 }
}. Q! C& |/ D$ n4 H ?5 n$ `
else 8 U! r, B$ W+ W" c. A" m/ @
{
/ @" X: z+ p6 |: u+ p2 M7 \ if(node.parentNode) 3 a' N' D- X/ ?0 Q' L
{" K ^- T( b+ @7 |
var orgNode=node;, Z$ ?! H/ N* W& g4 a. Y
var orgColor=this.getobjstyle(orgNode,"color")- \" T% @3 r' a, n
var orgRGB=getRGB(orgColor);
5 s% g$ v5 M6 A9 u0 Z/ Q- t6 {( z " @7 x$ f% E" u7 \
var parentNode=node.parentNode6 O. @( Y2 L# q5 G, D4 c
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- W- t5 v/ ^- K ; l) Q% y3 E3 x/ v; [' X+ P
var isLast=false;
' I) [# D# d, c0 `7 m- a8 m: l 5 O/ R1 _! i3 [) l* p1 p9 o4 y
while(parentBgColor == "transparent")
* J8 V; a/ V" g2 c) B) ` {! K. K% ^# c% n1 r" Z8 d1 O
" _' ~& u! _- c8 ^0 V$ W1 f
& {: h1 w5 o; B4 D3 }& { if(parentNode.parentNode == null)% c7 Z0 Q9 ~! J/ S
{
7 Y' U1 ^: D3 T7 Q6 a3 N+ h isLast=true;( y `; N- z" B% I
break;4 A! m: I1 a. Q9 R; `! Q
}
. t% T- N4 }* R4 H& o: h, e& X+ }5 A parentNode=parentNode.parentNode;
/ u2 x v M/ O1 [' W4 t parentBgColor=this.getobjstyle(parentNode,"background-color");
c! I- q3 j0 l! ^2 q: |( c9 P; _# z- V4 s4 e0 s. p
if(parentBgColor != "transparent")
8 |! l$ I+ v! Q {/ x) v4 f- r! I' G' U0 H
break;0 l3 ^/ d0 u. D6 m+ K
}, O. r w: N$ T Y% t( U$ J
}8 `5 w* V+ @2 O* U7 j% k) u
if(isLast)
8 g: l0 U- @, g1 |0 | {
+ [7 Q1 N8 b3 n! { if(debug)
- ^: z( _/ r4 Q7 o* z9 M! O. e {
' Q$ m/ `+ H8 S% _+ Z- m7 h alert("last!!");0 M% b, q& F3 z# M L
}
: T8 x, T& O/ O3 a/ R' P0 D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" U; ?$ V4 k: v4 [4 Q8 f! P
{2 e3 j! u- J/ q5 X' Y1 u1 g3 R
orgNode.parentNode.removeChild(orgNode);
* ^+ ~" y; Q: k& r }
! w6 L* M, z) ~8 f( h& j" ?* _+ @ }
. [. V% }* H# }2 p( B1 @& ~ else
3 A0 H2 }2 \* p# g7 D8 F {
5 a+ H2 a! F- N* b7 m* f if(debug)
! o8 q7 `, [& V; X$ P {4 Z1 h( z2 u, y0 _0 ^* h, \- q& A: u
alert("compare color and parent bgcolor!");
2 Z( x) |% r5 o; K8 V$ x }9 ?; e- d+ L7 V& H O C" u1 h( Q
parentBgRGB=getRGB(parentBgColor);3 A, @' F1 x& `2 t u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); h- [. O( X; o# p! _. o
{
8 T$ V$ A# M$ \* O orgNode.parentNode.removeChild(orgNode); . f2 h# h9 ~5 D. a8 g0 F% C
}
" [" N5 Y( j8 H7 q: M* J }# N% {& D$ E" T# ], o
}
& u8 P X& s0 |. A8 f' w) f8 f }
8 q0 G/ W- r z6 Q! C } `4 [! S. q3 k
}
/ B6 Q' b( d* D9 G " k% w7 J t8 Q- R" u
; ]- q F! `& z+ h
var itemFrames = page.getElementsByTagName("frame");
" h( x. c- I/ ~( A0 h var itemiFrames = page.getElementsByTagName("iframe");, t% z- w1 y6 `( w) p8 x6 A& {
Q4 {% V3 ^. } c2 D. T4 S
var frame, iframe;
$ N3 H$ X4 D' ?4 E) | if (itemFrames.length > 0)4 h( H( N. X, z* e: s6 H! [
{
9 B) C6 [! B, d t1 n, h s" d for (var i = 0 ; i< itemFrames.length ; i++)
+ `8 O* ?. l2 M1 S/ v: ?1 _# T {
# {* |. ]9 T1 Y1 \ frame = itemFrames.contentDocument; f( e) _- E/ L" u
this.RemoveHide(frame,objname); : ~) I2 `' F' {: `
}
" S& z! O$ D, F' k( S }4 E2 ]# O# D! {1 C5 Q- ~- `+ m* z
if (itemiFrames.length > 0)
, j* ~$ r8 h/ a$ R( X {
+ ?" l1 u. J2 B/ m( ]2 g6 D for (var i = 0 ; i < itemiFrames.length ; i++)
! U) V5 r, [3 L0 e) g# _ {( D$ E) x9 z* D9 V+ u A4 L& T# x0 X" T' e
iframe = itemiFrames.contentDocument;' N, |: }/ w- O
this.RemoveHide(iframe,objname);
/ Y& {$ n: t, b c3 @) W4 u. P. M }
8 i2 y+ J% [4 S7 J9 N: m: S }
1 z/ j; Y1 E8 y3 O3 c6 v, P" h }
( u1 r- W. H( j" X catch(e). U0 w6 E! t7 M7 F8 W
{- W. N, |0 k; g. x2 A X% b
if(debug)9 I* m) U" G. O* @2 n; Y
{
$ z2 x1 i1 U1 R; z5 ?& k$ I alert(e.message);
# c! X3 T- r7 X h4 u9 P }8 M+ |& a/ n- Q. E3 Z' t
}' H8 C/ Z+ t, T! [& a9 Y
}0 c$ v0 q: `* f" n/ P/ c
: {, l# H! O& ~}
1 ~( B6 P9 U; `5 G- m# i% [: f9 o. f8 M
function getRGB(colorString); e5 h; t7 J# }/ X) n, }
{
! I: D, E1 ?% r$ w/ I var RGB = new Array; b2 y8 F- X0 F' I+ `
var tempSting=colorString.substring(4,colorString.length-1);' N0 }: v" Y" r0 ?5 t }
var tempArray=tempSting.split(","); Z6 ^2 f# X8 S o* q# y9 t# s! g$ I
* X, Z* p6 W1 c& O6 w# d
RGB[0]=parseInt(tempArray[0]);
2 k- S/ q# y3 U' q5 g RGB[1]=parseInt(tempArray[1]);
$ a7 _3 O1 }4 }& t4 Z8 } RGB[2]=parseInt(tempArray[2]);( c4 Q& i% h/ t1 c) o
# ~3 d. m/ O$ Z j j return RGB;# _: `2 C7 B3 x5 `' O
}- ]8 D7 J6 P) T9 `! W H; D
function keys(evt) ) m! n7 ?- v! v, _9 J
{
- b& S }# D9 V4 E, s3 B8 ^ if(evt.ctrlKey && evt.keyCode=="81") 2 Y6 ~% t1 I1 ^! ?
{
, z. F: n/ |* x! _! V# R CleanHideObj.on(0,1);
* o7 w9 {; ]* Z% Q% S; n B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 |, b: N1 f' R- i" _6 G
$ P' v$ ?/ W. t* ?/ I# ]% R: G
}
/ O( ] b3 Y3 O' P7 `" K* \% H# p } ) P/ J" [1 _0 v) s/ \4 b( Y
document.addEventListener('keydown', keys, false); 1 R$ p( H/ N0 k" s6 p ?5 B
GM_registerMenuCommand ('Clean Hide',
) q) |6 R0 Q- u3 t- m) Wfunction(e){6 l! i$ U9 r: c( \( O5 P, B! ^
CleanHideObj.on(0,1)
( o0 `) z' a( p3 [' A6 t7 Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 {9 s* P7 I1 z# I: v+ ^0 f
});- i/ W7 Y0 I5 f6 i
|
评分
-
查看全部评分
|