|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 l( \% V% k H7 P& v6 e1 k) g/ C4 E4 w- @
火狐插件,用猴子
3 [8 }7 u/ T. L- k: Q
7 }7 y# C0 s- o1 K& d8 a- G7 R Zvar debug=false; / ]4 K* o2 c, ~6 U
var CleanHideObj=new CleanHideClass();6 l' z. J7 n+ w" H1 v7 E
: n# t4 |( h, s) e+ i3 a4 X
function CleanHideClass()
5 k/ J' [5 U! Y* g( ?* [2 {; N{
! N: d/ H7 s2 U$ c: n! w5 P8 o
$ V5 X6 c3 Q1 X+ t' \5 z this.on=function(id,bMZ)
+ A0 A3 J& u4 k2 n {' Y0 p7 ^& M* A* z$ D$ _
: l/ `2 K7 v# |4 t+ y9 E4 E! W
if(id == 0)
2 p/ c2 u; | s' a: @ {* G( C7 s: [, I/ T3 F, t
var page=/* document.getElementById("content").contentDocument */document; 1 r5 @& i0 K% D1 y- K* @$ ^
this.RemoveHide(page,"span");5 z" ^' l# D3 V( Y
this.RemoveHide(page,"font");
& C3 Q6 o! j. T- _% }* a( H this.RemoveHide(page,"div");
7 N/ \' O% L7 C& g this.RemoveHide(page,"p");
, E: r7 f t4 G# z- n
3 X( M! ?% c* T, K }0 n9 m) _2 L8 @2 Q/ a
7 c0 w' Z% W* ~1 `
}
/ }$ @# r0 J$ Y this.getobjstyle=function(node,prop)- M3 {5 ^7 B5 z6 u; {2 p# O
{
. g: w' ^7 o. k; \# _7 U try6 z: ]5 c6 ^. w' R) Q& W
{1 k3 i% o3 _( y! }$ u) A9 Y5 h
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# |8 u2 f+ S+ G( q: }7 W: r
}; e1 t, _4 U, H+ U# f. p9 a8 i$ \
catch(e)0 \5 U9 P' j5 O. A0 e; L$ h
{. V6 V! H) V& }. I V- z$ u
if(debug)7 p D7 W8 _7 C3 p
{
) |( t g+ f+ R0 g8 W alert(e.message);/ Z0 t5 H5 m6 A$ @. C. d, i
}; s. Z6 x$ W$ {
6 o: L! ^1 r& i' A8 m* x1 J# G8 h return "200";! g! U, V+ [& S) J. P" w: ?3 C) y
}
3 D8 S* d q! Z0 R }) o. J) A5 M* G+ p
, A; \& s% q ~$ U5 N this.RemoveHide=function(page,objname)
3 l c B3 |5 J4 j' x( F$ l {
) N& }/ x0 v, F* D9 ~! s try! t1 x$ t$ f) M( \2 L
{
& J; B2 _8 d: w* z var minValue=15;' E/ u/ l/ I7 P7 a/ q
var objs=page.getElementsByTagName(objname);
# E/ o1 r. _! S# G3 P% N
7 r7 @+ ^; j1 @6 p if(objs.length == 0) & Z$ S/ w9 A' ?0 w. N
{
B. y4 x- i. H2 \. o& O/ J if(debug)
5 P1 f* f/ ?4 H; ^, e }/ i6 `1 V {1 f+ w+ ?0 @5 G, ?' D& Y. d
alert("no object found!:"+objname);
, s, ^/ ~: U6 G7 B; c6 b4 W }8 r0 M' |6 V$ y* L
}/ [1 m2 j( K. n! @4 E7 D: R
else
s" y1 W/ ^% Z" m {4 d% G N4 ^: s
; s0 p8 L4 u) B for(var i=objs.length-1;i>=0;i--)
7 v3 T% K: h: b" R* R7 v+ L {
6 E! P) g. h5 E var node=objs.item(i);
3 {7 n( q$ g: {
7 X5 F3 H: ?& I: C 5 @% O5 K$ [# A, B6 `3 f9 H
if(this.getobjstyle(node,"display") == "none" ||2 ~" u7 S# R8 s. i0 O6 b
this.getobjstyle(node,"visibility") =="hidden" ||
; ]5 r6 j6 ?9 V2 C parseInt(this.getobjstyle(node,"font-size")) == 0) ! f1 X0 P( O* u$ f0 J1 Y
{, V* ^, I! S9 ^! M- ?* z
if(debug)
/ q! ]9 G+ F. w, C# R/ @8 J- ? {
& D/ e# q* r4 {7 {+ ^4 n6 t7 R/ x alert("remove invisiable!");
6 ^, n* C2 j) m T5 N% w }+ k) I* Z, v; j' F
node.parentNode.removeChild(node);9 B; E. j+ v$ g5 w6 H8 ? P, g% N7 \
& T/ G% y4 c5 b, M% l }
1 O5 K& u! M0 t, y! v2 s else
+ Y# @& ]1 g1 c6 z$ g( z {2 {& w/ H; p4 X/ V, @; Z
if(node.parentNode)
) w9 e0 Q. C, q3 s {
* X. P/ e, d" |% J( ?* z var orgNode=node;: u {' }- _) j) X* f6 J
var orgColor=this.getobjstyle(orgNode,"color")
w% Q/ Q7 h9 Y# `' ~4 z& o var orgRGB=getRGB(orgColor); # X- e, D" r& y0 L- F" n
' \ Y0 U. w' W8 R/ r# w var parentNode=node.parentNode' A+ l( C; S8 A/ N5 ^ \; c2 k
var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ O T) r+ `$ C( y , S, v. I, @& H8 v, V/ y% ^! v
var isLast=false;
* l5 m$ Z n* k: ^ ' C& ~' I* s2 p2 I' ?* o) c, L& [' O
while(parentBgColor == "transparent") , t" o8 q* I. `8 p& w" i" o
{
, w8 X* }3 R% t& A8 ]( [ 0 d1 t) X- X! R
# j3 M* ?- s% c" z6 a: ?
if(parentNode.parentNode == null); { z$ C4 `, G" z0 Y) J3 G) v
{
% S5 |% S5 ~# @7 r, I isLast=true;* Q/ I! d& v, Z8 ?5 m7 z
break;; V; V" f" N1 w8 @9 o5 X
}2 [( p2 e" H+ N: }
parentNode=parentNode.parentNode;4 [# \$ [% y9 J6 J5 I7 i0 o, @
parentBgColor=this.getobjstyle(parentNode,"background-color");
( O2 Z; X, K4 t) D8 f$ K
: y/ u }4 n+ ? if(parentBgColor != "transparent") & g3 q4 R1 t0 n
{
1 R( g- i* H8 m break;
$ Z* f. A# F F# [7 `+ R! |: k! A( G }' M2 n- R; P6 Y7 B3 J7 z
}
8 e7 h# o$ f3 W+ p2 |! X. i if(isLast) # G3 p- i0 R4 z% u& f
{
9 p1 c0 V: \! @/ K if(debug)1 p3 {' R0 u4 S
{
8 H) [% U, V- m$ e alert("last!!");2 H: ?$ a- y& n2 k* m
}5 d4 {1 ]0 V" z, l/ u4 i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 I; P, ?% P4 g$ P {+ A& O9 Z! s8 l- C
orgNode.parentNode.removeChild(orgNode);
6 R' T) m8 ^3 ]9 f, a( C }: V. P. n/ O$ D6 A( L
}2 J7 N9 I1 j1 t" H+ E- i
else
( R6 D4 s% s" M" v4 `4 j2 Z A7 u& T {
1 E) l6 R8 f) c$ N+ K% d if(debug)+ D, t8 C) d2 C
{
4 c2 a, v# {! x, ]& z; N alert("compare color and parent bgcolor!");
+ @; W( i/ c$ i; {0 ^2 I }3 |/ {$ H( _* `4 {
parentBgRGB=getRGB(parentBgColor);4 Z: b. g4 ]6 D& M. ?
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 S' a( ^+ z5 F. y: L {
/ O. |1 v6 P& _/ R orgNode.parentNode.removeChild(orgNode); # k7 d$ c9 M1 ]4 f1 ^
}
: m' \* f% |; X. C6 i/ V9 v }9 V' k8 S3 J2 g9 B6 A$ l8 F
}: r2 U! S" j; |" l- b- S
}
; E' ?- A% z. ^! _. v& O9 i }
- q' u0 j( h. @2 Y" [$ n }
/ s9 b2 C8 b7 N. z2 D9 L 8 u$ D1 Y( e% i" B$ |' K. L/ w% p
5 `' z% l/ N4 H/ B5 k& n
var itemFrames = page.getElementsByTagName("frame");
) |8 g+ m+ i/ S var itemiFrames = page.getElementsByTagName("iframe");
' X0 P5 @2 [( l7 ]) W$ @5 B8 x4 e
- u8 a8 n" p6 e: p$ w" F var frame, iframe;
8 b9 h, i, K& l& a# m- L if (itemFrames.length > 0)* q, [# u2 V, K+ W# a2 V% ^) [7 H
{
9 R. c2 t) h0 i/ D% t$ [* O for (var i = 0 ; i< itemFrames.length ; i++) ! q$ D- W5 d% r* f
{
) ^0 {) ~) P4 E# @1 H6 O frame = itemFrames.contentDocument;; T) a0 n; B7 H
this.RemoveHide(frame,objname);
3 e* ^4 r9 `2 L. Z3 ^ }5 \+ s& c' z' k+ }8 b0 h1 M
}3 T$ M0 I9 ~* Z: _$ ~" w4 g
if (itemiFrames.length > 0)
* i2 S6 B3 L+ D0 Q9 b {
' e* O! `" q- }* \6 t for (var i = 0 ; i < itemiFrames.length ; i++)
( v" ^# n9 N8 S, B+ H {, n- |% s0 c' J" F
iframe = itemiFrames.contentDocument;7 w: |! M2 b' j* z" p' |) V e
this.RemoveHide(iframe,objname);
# i9 b2 j! e1 B# N# f }
. G3 n8 E/ [% h% n4 D }
* w& |; ]; P0 i' S u! d0 I }
. W+ f" i$ a5 t catch(e)9 o/ _% P( ^" e, y: u1 ?( o
{# y5 G" N( u& e, K/ e& [; y
if(debug)) v1 `% _/ M. a( v" @5 N/ D. v
{5 o" t7 D9 o6 `; R2 k
alert(e.message);
6 W8 p- G3 ~4 s* o }* K/ H- W2 n. _4 N6 [& z4 }* ]2 |
}3 U& q3 f7 k" [5 z8 a7 f
}! Q( b( u, A( p0 u- [: q2 Q
6 `" l& n' ~* F- e6 K/ O, C; f' u/ K
}
' y1 Z) j) B4 S* C
8 G, s$ l- _. [. B0 i2 Ufunction getRGB(colorString)
& `. E4 ]; D" h. Y0 x( R! A{0 Q* B* {1 D5 I4 k& [3 s
var RGB = new Array;
; j K5 U# O" v var tempSting=colorString.substring(4,colorString.length-1);" R9 v# T% j* V) r; P0 z
var tempArray=tempSting.split(",");; Y0 y* I" _: d) ^* J1 H7 T
7 M8 ~+ B0 R2 R; F
RGB[0]=parseInt(tempArray[0]);; @- Q! n% g& b( f6 O+ A* t
RGB[1]=parseInt(tempArray[1]);
9 V9 P# V2 d4 Q7 T; ]! D" t8 S RGB[2]=parseInt(tempArray[2]);& a( `. }# o8 o: k) w @
: x/ f0 g. R5 J6 v H
return RGB;
9 i' T& X+ n/ |$ c3 t& i# P}
& |" f# j2 E/ W& f5 K, Qfunction keys(evt)
( M& s$ `4 }3 D9 }/ b { " b! w# @% H/ A2 R/ x) s
if(evt.ctrlKey && evt.keyCode=="81") ! T" j- F+ S( q
{
7 w1 i4 e, k+ u8 z& B% @ CleanHideObj.on(0,1);* E7 p- y% i; \3 G: u0 Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . D" p3 p4 J, h3 O: ]/ @ x
& G* L2 b7 m; P) t9 O }
" g6 p2 R8 L9 f } ! F5 i- P: O, B4 x/ e6 U. Z
document.addEventListener('keydown', keys, false); " ~* V4 G& A( \. i- j
GM_registerMenuCommand ('Clean Hide',
, z2 ]& d3 ]6 f4 C& j% U* Afunction(e){# {7 S, m; j5 ^+ B$ G r+ D" F( }
CleanHideObj.on(0,1)
t6 P2 G% b0 j9 H/ K* `5 K$ W5 T Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");. d( y5 P+ L* d0 P) H
});
+ N. A% R$ k; s# o5 U2 t |
评分
-
查看全部评分
|