|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , O- v* C: d5 ~) b0 N; Q# Q0 n
- H, S: m7 Z$ Y4 c4 c
火狐插件,用猴子
" K9 N' {- p% w5 N5 ^4 g- g2 j0 z w
4 `* ^$ S$ ^: j! Rvar debug=false; . v5 _, T/ P! R# |0 J) a
var CleanHideObj=new CleanHideClass();3 S& l) R; M& ?: ~8 r; f! o
! h1 i) H4 ~8 D; y) W
function CleanHideClass()
( B6 k- F! x+ b{
: K; U5 @5 y* U J' ^0 ?( B. K) j' X
this.on=function(id,bMZ)
Y" o9 K' i$ ~( U! v {" ~3 }; m) W" `/ o& Y
( Z7 z. D ?. E* r% H0 s
if(id == 0); w& j1 _. c3 y$ r
{9 X3 G2 z6 U6 g! ]8 j" |. Y% ~
var page=/* document.getElementById("content").contentDocument */document;
4 c* P3 Q# q6 h/ L1 r7 m! w this.RemoveHide(page,"span");
5 W: p! G3 D# v6 e this.RemoveHide(page,"font");
/ S" o, t/ Z' j" [! k. t7 ?: s this.RemoveHide(page,"div");
7 T) P0 g& }1 l7 R4 K this.RemoveHide(page,"p");' C! p/ g! Z: e" R7 H
* H2 l1 Y" F, |, U1 r/ E% V J: G }3 L/ v) L: n F' k: Y' i
$ Q8 B6 N# P1 T. N
}- B! D/ T) O& W4 A0 F# W. ]4 `1 |
this.getobjstyle=function(node,prop). d; E/ m# o: a$ q1 o
{
} J9 r- A2 |: s try' z! w$ N# f# m* h& F
{
7 Y& L( H% g2 C. V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* A! a7 ?) D1 D" w4 z }$ X: ~! _ i8 Y% ?
catch(e)3 q5 r, Y+ U b! F
{) y# X, w$ p: i, O' u( b
if(debug)
5 O9 J! w& P: h8 l {6 P8 t9 ?8 p# A5 E' x
alert(e.message);
: N8 l2 f- a0 G( {! o) L }
" S$ Z: A) f; X" j: [
, V( A0 V; u5 h! I+ I$ P$ [ return "200";! L/ w) I- v! l4 b( {) m) _( n
}
+ v4 D$ M# z9 \& A9 i# O1 m }1 _9 d7 T7 ]2 g
# L$ P" \6 g& I& R$ H2 u8 q
this.RemoveHide=function(page,objname)
1 ?8 }1 q C0 E Q. B {
: A) e1 j1 X3 H/ `; ~+ c try
$ \" N+ g: K9 d, d( \4 V {$ p6 q f* [# U: \% [( i& P" x
var minValue=15;
' M) t( N# v* s var objs=page.getElementsByTagName(objname);
6 u& o6 [2 ?" h6 E4 C( i9 h( e; Z6 E; u& T" ^# N! W6 t6 S
if(objs.length == 0) 5 i8 l+ E- v6 d; X6 c1 q$ [/ Q
{' M# ?/ h7 [3 k& h+ P
if(debug)
: n6 @, e& P6 Q( n. [/ m4 s {
* J' H1 T% F# r! t+ }% F% e) Z alert("no object found!:"+objname);
8 u/ r" L0 l$ ] }
% h; x& T/ x8 l9 g } G6 \7 P; k f3 o4 x1 I: m- |
else9 t1 l2 Q* Q0 S7 d$ f, }
{
; b9 @9 s$ _! x: x' G; q( u% P
: [" w {8 q* U for(var i=objs.length-1;i>=0;i--)
8 O) b) ?( K2 ]' ]% K$ o {
) H8 f& {. A: N, \$ E, g var node=objs.item(i); 3 A( M/ z6 ]9 Z+ T$ V- a2 L5 D" i
" e; K; g+ T; Z! ]- g
+ T3 i8 W. H; k6 b if(this.getobjstyle(node,"display") == "none" ||
- \( K1 a+ N; u7 ^, z8 U this.getobjstyle(node,"visibility") =="hidden" ||
5 P$ s( x# ~# V, C parseInt(this.getobjstyle(node,"font-size")) == 0)
4 f# U i6 V4 @# k1 x' d {8 ?; [( ]- g- c, d) g- j; j
if(debug)
$ `9 W8 @* u/ _ [% ]: F {
( D+ H& t' m# M7 x/ Q/ I alert("remove invisiable!");' r5 X* a/ g) C
}
6 j3 r4 F9 S8 G$ e0 ]7 h Q; h node.parentNode.removeChild(node);
' o; _8 {8 f- _* \- u5 H9 C ; S- c# E, t# c/ n5 a! I c2 @5 b
}
' X- V# V# N# X. ~+ ^1 T else
- I2 d. S: L8 r W/ P3 X8 E3 e {
- U5 u( \; T1 v if(node.parentNode) * A7 a6 Q' p1 l2 f
{1 \ I5 @% |; r
var orgNode=node;( S, r2 Z& x0 Q; L1 k
var orgColor=this.getobjstyle(orgNode,"color")' c6 n' r% v6 ~6 l
var orgRGB=getRGB(orgColor);
t% M7 M+ x( { # x! P0 Z1 \/ Q0 h' `4 C
var parentNode=node.parentNode
9 w) P) {$ }: w2 }. Z var parentBgColor=this.getobjstyle(parentNode,"background-color");' n: i' k. a3 t, R: ~
4 I2 a7 Q' ` b9 a" x K var isLast=false;
2 {) y* B; B6 ~1 Y$ ]; U0 s5 H
( Y3 y( E) U0 I/ Y L: m! \* o while(parentBgColor == "transparent") - Q" `$ Y8 A- U: q, O! ]
{
% K. Y5 a8 ^" M; U! l; I' p. S) o- G
- m* C* l7 N6 w$ R; R; T . ^9 A$ a" J t, U/ M
if(parentNode.parentNode == null)2 l& q1 U' I7 B7 w9 h5 f/ `0 I; r
{0 O& Y: {4 N- K$ P q! P
isLast=true;
& B* x% I+ l% P! Q5 S break;( s7 e) p& ?/ P7 r6 t' c9 u; A: s
}' z5 H0 v# O R' e; M
parentNode=parentNode.parentNode;
Y6 ]+ k% T3 z parentBgColor=this.getobjstyle(parentNode,"background-color");3 `8 M# u4 ?* ]
9 g+ ~' v7 l+ _% K
if(parentBgColor != "transparent")
4 C$ K/ R# h; {2 f1 B {
/ g* ^( r+ Q4 F/ s4 @9 l# d break; U8 _3 m& Q7 m+ ]
}2 o+ r* a9 w3 L0 R0 d& Y5 j: Z2 f
}
5 ]4 W! Z+ A( z: K3 B# c if(isLast)
) }( s1 ~2 O c& ^6 |/ _ {
) H6 Q9 X$ w0 O if(debug) O2 w! N' F: I
{
! k: P7 W5 ~" s% @, J3 ?. y) U" e alert("last!!");" |( l) @+ U& U, W5 ]5 x' R
}6 P& Y. t9 U# G. ^9 s: B
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ H5 {% @2 X, l+ F {
$ O' z- X0 C8 N; i4 o8 b orgNode.parentNode.removeChild(orgNode); ' C1 a2 \0 n; ]3 L
}
8 @% L' `" B5 K5 ]5 j6 w% f }8 K9 y2 B2 k( y. m7 ?+ o0 j1 r
else" J4 Q& I6 j$ C; w! b! ~& m
{ n7 H' G* A; m. R* J" N( _0 Y
if(debug)$ j# ~7 `8 u4 G; z" N, I F
{
3 e# Y* O T2 A alert("compare color and parent bgcolor!");) p5 [* {+ U- P/ }3 M( B
}* g0 {( a1 y& ~6 X! r
parentBgRGB=getRGB(parentBgColor);7 M; z3 f% \; T& m( |0 S' s
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 W0 Z. `2 K6 @1 c. G6 f
{+ M4 z- i6 _. z7 j2 c z6 K5 o
orgNode.parentNode.removeChild(orgNode);
) n+ }: q u9 c1 @ }
9 c1 Z5 j& V! c! p9 S t7 l }
4 q* }$ y7 f$ q7 n; E) Z4 Z" w }& j& ]9 Y9 F$ ^' T7 i
}
6 E3 w: L& B2 m+ Z% | z" |* ? }
8 D; o3 E9 A5 ]/ F1 S( o/ U% g }! z; P5 S9 W) y# v" S: ~ \) }
- q' g, d3 [3 m) Z/ a, ]) Q) H ) {/ ^! b! Q; @! T* I9 g' V
var itemFrames = page.getElementsByTagName("frame");, x8 o8 ]( M# h/ L- q/ W9 k( @
var itemiFrames = page.getElementsByTagName("iframe");
' [- K! ]7 y0 ]+ I/ B
) D0 }' W' X# ` var frame, iframe;: m$ E- ]+ v! I, T; P; ?3 Z" o6 m, t
if (itemFrames.length > 0)" x* q- Z8 t( F$ ~* b
{
: G0 j+ v! w0 M0 w) h: d for (var i = 0 ; i< itemFrames.length ; i++)
. N) D5 ~$ c. O( } {
7 s/ }/ u" h; R/ v! K- ^. A" x frame = itemFrames.contentDocument;
8 u' [+ f" f- I" v) m this.RemoveHide(frame,objname); - ~" o( J2 j" S6 t6 c' x3 g. L
}5 k. F' S) L8 W( Q5 f* D7 R
}- G ` ?- i3 {# W+ P
if (itemiFrames.length > 0)
% T3 L4 T Y1 a6 m& x {, ^" q" }, }% ?1 W% _; ^! w6 [. q
for (var i = 0 ; i < itemiFrames.length ; i++) & k* I# w! O# \! P) @" ?
{9 u: m, q! E6 ?: s4 g
iframe = itemiFrames.contentDocument;& r) W% z& i0 m6 V& k# @* R% j
this.RemoveHide(iframe,objname);
* v- L) u/ Y6 B: r1 [ }
. i6 I' Y" i! ?8 c9 R2 s& W0 c }
: B' Q9 J. T/ z7 @ }0 |! I% U3 r& C( B; Q* O. M+ p
catch(e)- a! p& G4 E2 c- [" B$ o- Z L% ^; X
{# ]2 B7 S/ m3 K* F0 k
if(debug)
) ~* v& g4 _8 @5 U/ W {8 B6 R6 Q3 p# `6 @4 L
alert(e.message);
5 n$ r0 C% u2 L! l }
0 J+ t/ H) f. e3 f. A1 M- { { }7 K4 _, [# W# o
}
' l# m3 g7 T7 J8 l5 C/ @
8 }' I5 D0 J! t% J( A q} ~, g$ R! f# R: f" ?
7 @/ }$ l$ T6 V" ` C5 ]
function getRGB(colorString)* y" k- i9 P) b
{3 X8 n, d4 R. _) ]' d6 H t
var RGB = new Array;6 J$ y1 Y' ~- c' g
var tempSting=colorString.substring(4,colorString.length-1);
! n. n. R2 S; l& \3 n var tempArray=tempSting.split(",");
, J5 B0 B# Y" j2 p) i- w9 ~8 J0 J3 u k& ?& P5 g
RGB[0]=parseInt(tempArray[0]);- ^: ]7 y: ^# Q* L1 b/ W
RGB[1]=parseInt(tempArray[1]);
% x3 Q1 q. X P RGB[2]=parseInt(tempArray[2]);- b6 U8 Y( @ j( j% [' b: y
2 ~+ V) O' z; ?1 `7 d return RGB;, @' L3 d$ f# U3 E
}# x4 X+ n7 _; W( \
function keys(evt)
+ U: R, x: O, L8 z- D T0 S, ?' E- Y { 8 G( U/ c( r: `! @7 {
if(evt.ctrlKey && evt.keyCode=="81") $ |6 |: e$ V# h8 p
{ 5 J5 s! U; N6 `( o, R i
CleanHideObj.on(0,1);: A* b. i" e* Y3 u; ]: U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( `/ _7 q. b& V* v$ {7 s9 i" S
& J4 w5 ?3 a N" V" u* {* l8 {. r } 5 v4 n6 P) X; n( a! R, R
}
F) H# |! M4 @document.addEventListener('keydown', keys, false);
% q) J( ?( @7 w0 |( uGM_registerMenuCommand ('Clean Hide',7 d( j! T5 H* i% Y" e" Z
function(e){5 U$ F0 _6 I6 U1 f- t& X, I+ I
CleanHideObj.on(0,1)& E/ i2 }; Q3 K1 S6 `3 }1 O8 W- p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 k9 Q, R# q% D! F: D. z0 O
});
8 w' f7 {3 V* ?# [ |
评分
-
查看全部评分
|