|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% Y2 s& T. d, m0 R, y% r$ h
1 p" m# N( V" W4 s7 p火狐插件,用猴子
- T, F5 V- V( Q* C9 L1 Q$ G# ?3 c! u. c# h X$ R. z0 Q
var debug=false;
. O) ~% M2 D/ xvar CleanHideObj=new CleanHideClass();' ^& y/ O5 f# ?2 d% f5 G
8 ^$ Y$ Q7 g! T9 t# W) Yfunction CleanHideClass() . _2 u9 L7 i5 O0 u' A+ J s9 @# B3 u/ m
{
! }+ ~' I4 @; s5 A) `0 i - a- A3 d# v$ `5 m; i4 u, W
this.on=function(id,bMZ)
9 `6 D3 x! {/ s; Y8 H {; I- s9 t4 I0 r4 M- [) b- z
: N$ ]$ v/ e: o# V if(id == 0), n& w3 S( n1 n$ e4 j* M
{
& t3 K a5 H/ e6 {5 V' L( X var page=/* document.getElementById("content").contentDocument */document;
1 A1 }+ }8 F! d6 z this.RemoveHide(page,"span");
% i, Q3 ^7 c9 Z. c9 o- }" W1 _4 c' B this.RemoveHide(page,"font");# a5 [8 b9 ?/ I l8 g
this.RemoveHide(page,"div");3 v- G2 K8 w7 L0 t& E
this.RemoveHide(page,"p");
4 I$ D. w* H& K
% e& k" e% w8 b, _7 P }
! ~ w9 ~" }7 m6 Z/ B : x- I( I1 j& W* g, N5 m
}
' o; J8 [1 a4 m! E) m% p this.getobjstyle=function(node,prop)
5 F% ]4 e3 J: X0 T {
8 x7 L c# _2 Z4 D0 c7 A try
1 N" Y) F4 u) p8 N, c: T {3 h5 K) u9 J* J, K ]- e! O" a' ^
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. K4 k3 i' Y9 u; t# e1 U4 m; f, P& W }
! G' \$ _) x' x4 O catch(e)7 |: I$ {' a+ {. Y& [
{9 a7 c: Z3 h2 l' d
if(debug)
4 n: _0 S0 N( F" e; @7 c {
) f$ B) _/ T9 K6 V3 t" ^0 x alert(e.message);
2 B; s2 v9 ^5 ?$ ~3 b4 y, j1 U }" ~- F2 b+ k3 J
8 c2 i& ? ^( a3 q# h
return "200";
5 j9 k7 F0 S% n7 N$ O0 _' K4 J }9 }5 v4 m0 O- S- h$ T# @- T
}% M4 b( G# b6 G- V T, x2 b
5 O! }; ?% u( U this.RemoveHide=function(page,objname)0 K, w* B: O) \! U: X8 ?6 v2 d
{- c1 a: A2 l2 L+ y! r1 A: f
try1 l9 P3 u) Y S; A9 a
{! [( ~' }# w0 c2 _
var minValue=15;4 N$ z" f1 N7 `* O0 V
var objs=page.getElementsByTagName(objname); ! Y2 F( n8 Q( d
% _5 ~, \2 L( J6 }3 k
if(objs.length == 0)
+ W! B! U+ J4 E, ~- ~ {2 _0 c) E$ y% l0 V/ {
if(debug)6 a& O$ ~1 k; ]7 i) _* K8 w3 Y* S* A
{
( Z3 f# L' f8 j7 ^- d! c alert("no object found!:"+objname);
: y0 }. w4 N U- d }2 `0 q' U; F: @3 r6 }- R
}( b9 D6 X' h& I; R- G+ h8 f
else
3 _7 i- Y& m7 w& l+ w1 s {; O3 \* n4 V5 X" \. U' t9 V6 b
' z2 x ~; ?$ K) Y# P for(var i=objs.length-1;i>=0;i--)
! Y# h5 t# l2 l5 g! X {& v- W6 f4 O4 O. |
var node=objs.item(i); 6 ~9 E: V6 e1 ^
$ z- e& S o f) i' ? ) Z9 r+ m* v0 Q4 Z3 _3 T0 E
if(this.getobjstyle(node,"display") == "none" ||, r" {* Z8 W% I2 g* z, F
this.getobjstyle(node,"visibility") =="hidden" ||
. v" z; X% e" U1 |% T parseInt(this.getobjstyle(node,"font-size")) == 0)
4 Q8 c! n. c8 w% i! o* U+ M {
, y9 s3 Y; M8 z1 J9 e2 J- o2 c8 U if(debug)
$ s- F0 h4 I: w3 D5 E- a {
5 X2 p8 E/ q' D: s! n& Y alert("remove invisiable!");" Z- _+ T7 c! \3 S/ Q- n' R, p% T8 b
}
* l( |- P2 Q1 G5 y9 d7 r node.parentNode.removeChild(node);
2 |8 u) S$ d0 _: X+ q/ \
% [0 N: t# Y0 M3 _! F }
6 E5 g: h/ B* h0 V' q- j! V else
5 b8 R, o6 ^# g: W6 d# [8 c: ~ {
; B% W- a- K7 b+ { if(node.parentNode) ! c2 `! K9 I$ w v+ b4 f7 ]7 U0 Q1 P
{
! r7 H" D& m& `6 P) I var orgNode=node;
9 R" L! I* L5 v8 h2 Z& d var orgColor=this.getobjstyle(orgNode,"color"): \* E7 O- C( ]& s/ M8 B5 M
var orgRGB=getRGB(orgColor);
0 m( C6 V/ U5 I
( j) s* j/ W3 g, f" N var parentNode=node.parentNode* h7 o9 H# Q4 }" O. H& \ P0 M4 _+ J
var parentBgColor=this.getobjstyle(parentNode,"background-color");
5 v2 o6 z& `/ k- ] ! b. A+ r( m G( g5 {. V2 v
var isLast=false;$ E. _- e1 W8 }+ R/ l
% @9 a8 M7 j* k0 Q4 y while(parentBgColor == "transparent")
2 }5 u* e5 ~! O3 z. ~5 B0 I* A: D {
3 b0 G3 e) M3 B6 W: N, u4 X$ G C 2 U2 O4 K4 } ^
8 M9 H2 Q) {" ?5 Q- z
if(parentNode.parentNode == null)9 R4 X' W6 L7 u% d6 a1 e: ?
{
9 N+ ^ X/ T) a1 S: g+ I isLast=true;; ]* O$ q; W7 @- z. t
break;
/ e2 s- U U X! f Y }- p% ?6 C" D. j; N: E- y
parentNode=parentNode.parentNode;2 i2 Z. v g) H: d- v. T* j% f \
parentBgColor=this.getobjstyle(parentNode,"background-color");& `" R) j) n, p- q1 p
0 S/ S1 u3 i6 E8 O9 b
if(parentBgColor != "transparent") _2 x+ E; f' Q) U3 V0 Y# L& e
{+ {9 M4 j- Q) ?' q0 K8 L3 S. s
break;
. E! M+ X! b2 K+ v- e! x0 ^% t }
3 y( ^* z% o* i0 \) t8 K }+ s- _! F/ Z0 j& k, }
if(isLast)
! r' P6 O4 O- x+ ~8 l- k {6 C! I5 o* r* q& Z: }: t
if(debug)( U( V' }' b) e6 J7 A6 D' r _
{
' e/ T7 x3 n& V+ Q* @( W9 S7 a) Q alert("last!!");
7 F7 `) x5 a7 E ]9 q$ c2 e2 g0 g5 y }
. ^" m2 k6 v/ {2 @9 d if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 A3 y# w, [1 I( j+ r) V5 e
{
/ Z$ v% t, r7 M: Y, ]# w6 C orgNode.parentNode.removeChild(orgNode);
, A/ W, |9 t9 g0 \5 G }2 ?' U7 W$ {4 n2 W! K
}- h- x/ S, _6 O, i+ T
else
& h* ^8 O, o0 t7 ?& f {
/ E0 M" g! i0 S( ^9 e, S) M if(debug)7 }9 O" F" L" L" S2 |3 N8 l
{9 A, O) U" f$ p. w7 Z
alert("compare color and parent bgcolor!");
: F/ B: \9 [2 {( Z9 m }
, m0 h* @( u- x8 M$ S7 l parentBgRGB=getRGB(parentBgColor);
& y/ ~0 u- F: C/ g% M. E s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
K9 \+ s: c3 A9 } {2 b2 d/ B. o; e5 L/ _
orgNode.parentNode.removeChild(orgNode); ; T; ?$ g( K, i
}( `$ V; ~8 ?2 V( l( Y0 k% `$ s( w' U
}
6 {/ Q6 f H u5 \ Z7 R- J }
8 M9 C9 S6 g4 u }7 d6 p) D) G. f, Z
}( T$ ~- M8 ^/ v' T
}! Y7 _+ N' V1 t6 u, y7 h
2 a' B( h* q0 m1 \ # k( q! u& c Z
var itemFrames = page.getElementsByTagName("frame");
: I1 c3 |+ b {4 N5 C. D var itemiFrames = page.getElementsByTagName("iframe");: v- o: W/ C/ _2 n: ]
! m+ N! |' I( q0 g o" p. j0 B
var frame, iframe;# _8 k5 g3 f7 @( W! R$ ]
if (itemFrames.length > 0)
5 G& ?4 ~5 d7 \' X# j) ^0 }/ t$ ^ {
6 Z! ]/ V- Y/ | for (var i = 0 ; i< itemFrames.length ; i++) ! s. U9 u G' {' t( g3 L
{0 E$ o/ \' M3 @
frame = itemFrames.contentDocument;* k1 k( _) x/ _
this.RemoveHide(frame,objname);
0 l/ k9 \" d' P9 m" u4 F0 L }- ~) A7 d/ A# n3 F# \
}
5 `# X6 B z/ w if (itemiFrames.length > 0)7 N" @) D% E* \. K+ m. _- a: x' H
{
& t% y( p0 g( }$ t* n- ` for (var i = 0 ; i < itemiFrames.length ; i++)
, x7 ]' ?# M, X2 g4 `: a2 D; g' F {
! h- Z, d" |& V; C+ F- M iframe = itemiFrames.contentDocument;
; Z: ? O4 ?; r8 @9 o this.RemoveHide(iframe,objname); - `+ ?8 e$ z, L4 F% Y7 N
}
1 m2 l6 Z* o. N. z: l# K }( p2 \2 f* y* k* ?) b
}
+ ~5 k% n( B& b! b catch(e)
8 J9 @5 y4 d& _- K( D* Y. v {3 W. f. {# k% i% H/ }
if(debug)
( s9 E E6 m* j8 M% F5 ? {
- U, L( w* p/ u5 d alert(e.message);' H0 w- V8 W4 Q
}+ e) j4 P% p$ H$ v% p" R/ _ G
}
" q3 s, d1 e( N! d+ u5 T2 K& r }
/ @. R! s6 S0 B$ u" @ . a5 {6 A3 r! Z9 F% j) B
}' a, j' k3 y0 _; C4 k/ B5 t ^3 ]/ W
( m, P8 f! v/ @& \
function getRGB(colorString)
- T7 Q& c! I6 e2 e4 @( D0 o1 Z& n; C/ J3 I{
, B4 M. B B- z) p- ], u! D var RGB = new Array;+ T o, ^3 Z" e* K) L
var tempSting=colorString.substring(4,colorString.length-1);
1 ~2 X7 i7 }& e" m Z. o: B8 L* X2 u ^% Z var tempArray=tempSting.split(",");
, _, D& l- M K3 g5 l' k; B, c2 W- N2 u- e6 g; R1 E
RGB[0]=parseInt(tempArray[0]);
0 J4 X) F! _4 w7 c* e- p RGB[1]=parseInt(tempArray[1]);" {1 r9 c# _ E* \) S; f3 i
RGB[2]=parseInt(tempArray[2]);; B: I2 S$ l& `% F7 G& ]
2 L2 ~& Z% P. P% C) W j
return RGB;" |7 Y6 h* C+ Y4 O
}2 B( U9 v7 u0 A: E' \# A9 a) Z
function keys(evt) % G1 I: z# S0 f7 D! ^2 p- B7 V
{
+ P0 c* s2 {) a B if(evt.ctrlKey && evt.keyCode=="81") + n/ d2 Y& `) E5 ~
{
t4 a3 U$ b/ |8 D# { CleanHideObj.on(0,1);
5 N$ E1 z9 I7 _2 Z6 ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( S& q; F: D0 @* ^: D: R' _
, ~2 {0 j( Y, ?7 F9 h% I6 U
}
! @9 `' N3 [( O1 S+ D- p }
% _4 y- f5 p- S6 d" v/ u7 kdocument.addEventListener('keydown', keys, false);
: `; a1 V$ x$ n7 [+ l ~GM_registerMenuCommand ('Clean Hide',
/ a1 Z0 z) R6 ^( Cfunction(e){
& G1 t3 s+ p, _CleanHideObj.on(0,1)
1 `/ c' t) s3 J$ _- Y+ E' w1 ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& Q6 h i0 z" H# @0 _8 c7 \
});
9 w1 H% G; n9 N" ], b ?0 o4 T6 Y |
评分
-
查看全部评分
|