|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 g/ {1 v% c* u
8 k" E1 F9 [1 M- ~+ y火狐插件,用猴子
8 p4 w4 C" L$ c0 V! m6 h: {" w: U3 B) X
var debug=false; 5 d" ^: q j) A y4 N6 d! g
var CleanHideObj=new CleanHideClass();" X. ^' F) | O, A& W
) g: q2 A" s$ h$ c# j# N& A6 }1 u+ m
function CleanHideClass()
/ B' w) L% m0 w% I. z{
6 O2 n, E$ }! t% d- R" L $ N$ `3 i& i) e1 H( y5 Y
this.on=function(id,bMZ)7 z* A7 Z0 v0 Q( o$ T
{
3 M( B9 P2 P' K8 E8 ?9 J7 b
/ ]3 F5 k8 b" w* \ if(id == 0)5 K! o: F p* b3 v
{+ `3 [# R, @# Q8 @0 `( V1 f! r
var page=/* document.getElementById("content").contentDocument */document;
4 y9 j/ f5 d& s this.RemoveHide(page,"span"); O; L' z& J+ c
this.RemoveHide(page,"font");
8 I* u4 z, }+ n0 L1 y this.RemoveHide(page,"div");
) N" V X2 ~; Z% J9 h, B$ d, f this.RemoveHide(page,"p");+ T" Q4 r1 T: O6 F
3 G1 ?- B2 _! Q& M; W# v: w }9 H s! i3 F/ \6 B" p
% y+ S; D' S% J. U, i2 t% g
} w0 J* y! S) T% p9 f1 _
this.getobjstyle=function(node,prop)
# O8 B; _ Z, X7 b4 z {
& X0 t# Q e) y { try
6 `$ _1 E2 z( \6 Q {4 h) D+ u$ ~0 }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 K2 g, F) ?# K5 B: B+ n
}" Q' M& t, x3 l' w
catch(e)4 L% m4 w) u- L8 S$ Q
{; }- x3 a! V7 U8 p9 j6 M
if(debug)
$ J: P7 _' }% ?; B1 l: ^- R {
* @0 h- C- d, |" r alert(e.message);
5 A% c# R. y8 c6 C7 o }
2 Z; g5 j# C t/ Q+ I
8 ]1 E) ^1 h6 H) V2 L return "200";
( }: S2 ]/ Y" a) Z$ _- w }
+ l8 V( O" y$ R* k }# H5 Y( r' ~$ l& F$ j' G
, ~+ \& y! \1 P( d c* z
this.RemoveHide=function(page,objname)) Z0 u8 f. U$ D+ I1 j# J- O, l
{" H( z& m+ d+ K5 A
try: d! Y& d2 J( X3 Z
{
: H- h' t) v- D" }. P var minValue=15;
2 s6 T6 R( W4 H7 O2 c" ?4 _ var objs=page.getElementsByTagName(objname);
0 _: q G- |. Z4 s$ g+ [+ C1 s. Z* N+ d
if(objs.length == 0) 5 W$ y4 F" S' r: D) s
{) I4 b/ D! F( A1 r1 R
if(debug)/ e0 I' X. K7 n
{
- W. @% F: E" _6 [+ f+ A alert("no object found!:"+objname);1 ^- i7 H4 w0 @. t( m* p
}; N" ~. ^% e9 s2 {+ I% m L
}
) t' T" b+ y6 E' z2 Q8 p X. {; { else
* L! u# X e5 T! y! l0 a8 I. v {: d- H, O& C6 {4 `" O2 O. j
9 d' L4 g$ F e. C. P* Y
for(var i=objs.length-1;i>=0;i--)
t/ y R. g: i5 e' U' N6 X {' G* v/ a" K1 \! Z4 z
var node=objs.item(i);
# l1 w. A9 v9 F6 }( v 2 v: L$ v& D9 b" z
) n+ V9 k% n5 c2 e
if(this.getobjstyle(node,"display") == "none" ||5 n k+ L) I7 b$ w
this.getobjstyle(node,"visibility") =="hidden" ||% a' y; k' i6 A
parseInt(this.getobjstyle(node,"font-size")) == 0) ( i @" G7 u! A0 R8 v" {
{
* D, x! T! h, w2 C if(debug)
2 c4 r# x4 c* ]+ m! V {
( I W F2 y/ x! S: Q alert("remove invisiable!");0 D0 P% f! l6 {- `5 w( U
}, b) a5 V) k( Z/ r/ U9 O2 Z# K
node.parentNode.removeChild(node);
2 O& G" P' Z. E2 o. a6 i3 b # y# v5 X8 j. [! p
}0 d! w4 W1 W9 k0 A7 q, F
else ) {6 M9 {2 h6 i+ o1 F
{
# j- |/ M0 ]$ b: P" \- B% ~# D if(node.parentNode) 2 s7 _; C2 Q# s
{1 z! w1 R& Z2 d! V7 N ?# x( I7 t
var orgNode=node;& E8 i! ]* F6 \1 h. R" n% Q
var orgColor=this.getobjstyle(orgNode,"color")% n. a5 L( B& ^. a' q3 Z
var orgRGB=getRGB(orgColor); & d4 }- @) h1 I9 {7 f% M
6 e& k+ W9 G7 U8 R3 ^* e* I
var parentNode=node.parentNode, K% Z1 J8 y W% Y R/ C
var parentBgColor=this.getobjstyle(parentNode,"background-color");! K+ L6 H) a9 j0 [, g$ Q! B& ?; C Z
& W% Q3 s: _$ G9 s! q6 S, l, ~
var isLast=false;
4 `0 @+ J" n$ `7 I, p9 E ) J' |& U; D0 M4 B
while(parentBgColor == "transparent") ' T4 [4 _ p/ Z3 |& u
{
- P; P( z7 R: f1 U* ?8 [8 C$ ]) x 5 U5 W9 Z* B$ \! I! n1 s2 m
2 a! o& [- n" s+ F% @. s* k% J; n
if(parentNode.parentNode == null)
4 i- u7 q7 b; h6 f2 l Z {
9 ~2 b. F$ a( d3 r7 c1 {# x isLast=true;
/ Y+ v* G* A9 F% \! e! F break;/ {5 F. y; W. \7 d. X
}; l1 z" T: R, G3 H3 U# F" G
parentNode=parentNode.parentNode;" [( B+ _2 h2 f$ D9 O7 a" ?/ [
parentBgColor=this.getobjstyle(parentNode,"background-color");* q/ G" L l& M- e2 B
) A% |5 ?2 F/ F. c" _% D) d if(parentBgColor != "transparent")
4 S3 n0 p) A$ F7 q {
( I; e2 v/ [- S2 o% z% @0 o* G2 L# [ break;) A7 v+ L9 F+ P) v; t; H. \
}
8 o% G" Z% x0 h0 ]3 p2 f }# F4 ^; W/ l Q [% x8 o
if(isLast)
- b+ K" ~+ k( U" ? {4 C3 S& r3 o' p$ Q/ v
if(debug)$ q% X7 ~2 x7 V! Y% t" c
{
" F+ [. j, V2 _, K% X2 c8 g alert("last!!");
, S! Z4 T% U; y3 o. Q }. e8 f1 ^) ?* ] q& t2 A$ H
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 q& ] U" R6 F0 @+ R5 n {8 L0 K& i5 f- Z3 q0 c4 E9 Q1 V, T
orgNode.parentNode.removeChild(orgNode); * p0 }* r# U) |8 E8 N9 d8 |
}8 @1 n% s5 s5 g3 O8 A
}, f; y* l" t4 [, N$ w4 y
else
% _( X' ^: ^* }* Z {
2 v( E2 K* ^8 a if(debug)5 h; L( P6 X) |+ c6 y2 F4 Q+ b" u
{$ x+ X6 i% b* \1 ?
alert("compare color and parent bgcolor!");
! U! L2 F6 G( h m% W2 P x; C }2 a" x+ P4 G* @, V6 I! _
parentBgRGB=getRGB(parentBgColor);
. b/ v. G$ o" }8 G' Y& n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 R# f' W1 H7 H+ j1 M
{
1 O5 V$ ]+ p, }" ~* z orgNode.parentNode.removeChild(orgNode);
" P2 ~+ t! S: S* w }
! D( x/ B$ L4 W6 d& j j }, A' i |' o" k3 D
}! n" l7 \9 C& F1 l* N s
}; m1 |6 Y- u1 k2 ?' A! @0 [( C
}
8 n# _: u0 |4 g, r7 a7 `( G+ r }
$ r' `7 L: `' F/ V5 Q 3 c- m( ~; r5 R9 | o8 w y1 u1 {
8 {+ |( J1 p; ?: h( L& S( n' j var itemFrames = page.getElementsByTagName("frame");4 _ ~8 n( @1 u
var itemiFrames = page.getElementsByTagName("iframe");7 i' ]" l2 w. a# Z
5 B/ j/ }. ]2 h; b
var frame, iframe;( _3 g% y5 Y4 X p: o: ^3 ~& |" X# d
if (itemFrames.length > 0)0 @6 G* \) Z2 b" _1 k
{6 X; X6 y% P( B1 V0 ~6 o
for (var i = 0 ; i< itemFrames.length ; i++) + c8 E4 U- u! h
{
& t9 u& x, _0 c9 d& ] frame = itemFrames.contentDocument;
9 [1 U- W& G i8 G$ u this.RemoveHide(frame,objname);
3 A% a( w+ ]' h7 r9 ]+ x; W }
* t; e! b, {3 S2 T& N9 }0 e; e* s/ E }
5 m9 ~ `5 k% y! a9 | if (itemiFrames.length > 0): ]5 U* ]& c/ ^8 A P. B* K s
{/ m+ R$ x; s @% D9 n
for (var i = 0 ; i < itemiFrames.length ; i++)
1 c+ { J! l) L {
' x) L7 Q. M: p# S iframe = itemiFrames.contentDocument;
7 H M& W8 A* A2 l# i8 o# r this.RemoveHide(iframe,objname);
* k8 N( G6 X8 H2 n: q }
% V% X# d5 G- p }
T9 R: g0 x. p }
, x# S7 { g% W+ P+ [ w catch(e)
$ Q, `+ }( E6 m1 s8 } {
9 H# D0 i$ g% T7 n9 p) s$ i1 T% h if(debug)
w& `/ }' ` g; j" t5 ~ { P0 I) u/ @9 Y& P$ f2 K9 H* Q
alert(e.message);
c2 n$ l L; W- h4 R }
; U8 u) {$ P& [& D- E }) h. \3 ~& K j/ T
}
3 V" a6 P3 i3 A, z / }$ I k2 W8 l: K0 y4 j* g
}& }5 I* Q* _- D1 @: P9 N
& B2 h/ ^' c: S' X7 ~; j0 Cfunction getRGB(colorString)+ E- f8 A9 t9 ? O1 z) ~
{; _7 F9 j, H8 _& n; c4 b
var RGB = new Array;
% R& h; D6 p& q4 q# N0 m var tempSting=colorString.substring(4,colorString.length-1);
% b4 D1 l8 u6 ?! t" J& A var tempArray=tempSting.split(",");
- W3 r/ A! v9 D& G, _8 t' ?# N( X) S
RGB[0]=parseInt(tempArray[0]);- B" {+ U2 g( b" L
RGB[1]=parseInt(tempArray[1]);
& s: v; Z/ _4 {( b, B, }: Q4 a RGB[2]=parseInt(tempArray[2]);
1 Z3 c2 p; d3 J* U
4 \3 k% E5 r/ j return RGB;
" V& n5 r: e+ ~, _7 s" n$ T' A}7 _/ Z# ?) { k( h
function keys(evt) & `. \) b; \6 m
{
~' }+ U m$ Z4 ] if(evt.ctrlKey && evt.keyCode=="81") % @% q6 _4 ?2 `% ]. L
{
% h: Q$ _% F/ @3 H, m6 H CleanHideObj.on(0,1);
" W% [( A- R" X/ @' T$ F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 I* {- \1 y S; ?& n
' @( ~$ z$ n% b3 _* u* x/ ?% E
} + t2 R' h4 c' o7 |! l, |5 m
}
/ X& s3 z8 w/ p. T! Odocument.addEventListener('keydown', keys, false);
" V; R7 c1 F6 z0 a) x# @6 `GM_registerMenuCommand ('Clean Hide',
9 Z/ f$ Z% O2 C* ` n5 vfunction(e){
9 M8 }. P2 ]) u* xCleanHideObj.on(0,1)
( g1 r& ]+ f* a5 t5 H1 {, Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: D* u0 J" y9 T
});
% @8 {) c% e" m" k1 A |
评分
-
查看全部评分
|