|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: U' W4 G# \- M" w4 @* u* G$ a
+ R5 q6 A: c8 g8 D火狐插件,用猴子, a8 v/ f# d" g4 N" w5 d9 \; V
4 c3 ]& A0 S$ }6 a, B! q4 uvar debug=false; " y4 M. a1 b, H1 p/ o
var CleanHideObj=new CleanHideClass();
) Z* F9 S5 Y E6 m' _
* B! l4 z9 b' `5 g, ]function CleanHideClass()
# k; a, B, h r2 l1 C5 P{
3 h5 f% T" ^$ h$ u( a1 g8 i
3 w9 ?5 f8 S, v this.on=function(id,bMZ)
. v" e5 m6 ?# X2 ^( Z) g7 m! x {
# h% b$ ]6 x1 W
/ p* B- R# X; l: K, w9 i if(id == 0)
( S, X" \1 s8 H* j' } {
, a) F( |! A1 ]5 s var page=/* document.getElementById("content").contentDocument */document; 4 K% T' s) B7 q9 K! T
this.RemoveHide(page,"span");
/ x# N+ Y5 D- e8 j1 z: V5 Y3 N2 _ this.RemoveHide(page,"font");
0 Z; E7 R" Q+ Z) X this.RemoveHide(page,"div");
) c, D. F: u# `5 R this.RemoveHide(page,"p");
2 K. q7 N: _- f, o2 c) B ( ^2 P" C' ]9 O5 W* d$ Y1 l; n
}
6 n4 R9 I( l0 H- d7 }/ e / G4 A e' c* C* N W
}
' o& @5 D- b Q) h6 ] this.getobjstyle=function(node,prop)8 l5 {7 [8 A4 A; A, G% K- X8 [$ [
{
' e8 W! z! A0 H1 \7 V try
* y/ X5 e+ u, }* E. s {& I/ H5 H" M- j0 n6 r6 a: |$ K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, M! O( z7 v# x, V3 N+ N. ]
}- m( Z; \% B! k; F* c9 z% Z3 u& A
catch(e)
" m1 g l z$ m" A3 n( B! J {$ B3 n& _3 C h' F
if(debug)
$ W8 H. U. ^8 ~* p! l {
% q4 F7 x- m$ x2 h4 \1 r. O& P) @ alert(e.message);7 Z0 j! l4 ?- v# q
}
/ k1 _# E+ f( P$ W
0 g6 a+ H* i, E( ?9 _& W# Q return "200";
, \ g1 V) \: N( s: A7 n }
8 o/ J4 h5 z0 S% ]% l* A: X9 _: b% c) { }
/ G* {1 S5 X8 p* j3 ]3 Y- q% l 5 R# Z2 k: z4 z, Z J
this.RemoveHide=function(page,objname)
7 j3 L9 c% \9 V- |# [! u {8 }, a) |2 X R, L$ G
try6 @( {7 j m" K( z0 |, t
{
0 H8 k* o3 o5 k: ]2 f/ @ var minValue=15;9 [, @' T1 q# L+ }: H
var objs=page.getElementsByTagName(objname);
3 v/ S4 V$ \# i" o; e" S* d2 a v' N- J4 C
if(objs.length == 0) 8 e3 y% p: I$ P- Z m
{9 P' w& S/ z+ z2 ^8 e' f6 i
if(debug)
! v% d+ e/ n0 B8 o* ~& S* } {% `0 b. S/ [& Z! Y
alert("no object found!:"+objname);5 Z1 k5 u) i$ |+ Z2 k
}
( n5 Y$ a: W' I) D }
- T3 k% g$ P' Z6 v6 N else
8 c/ Z. P3 p' n# _4 Q {
; R' K$ _6 }! i7 E8 M 8 ?% U2 R2 P' Y0 J$ o3 n
for(var i=objs.length-1;i>=0;i--)
* A9 D a- U; e0 f* s {
+ X9 r5 Y" i$ w0 S var node=objs.item(i); 9 j! _1 m4 ? d- _0 P. V
( ^2 C8 ]' I/ f* G* |8 g
" o+ \( u6 Y! f: Z if(this.getobjstyle(node,"display") == "none" ||2 G2 Y- B( M: g( F$ j" D7 F
this.getobjstyle(node,"visibility") =="hidden" ||
1 Y3 _, I4 ~$ K9 F0 Y" s parseInt(this.getobjstyle(node,"font-size")) == 0)
" ~, [6 I5 a d* x {
0 O# a3 G. v8 ~7 m if(debug)* v1 a/ Y5 P% n$ p6 e
{
+ [) J9 e& ]4 J alert("remove invisiable!");9 O2 h; P0 b0 d( T5 ^, O k4 v
}
2 g' a8 I8 l9 e$ x+ B node.parentNode.removeChild(node);5 m7 w3 A8 U0 R5 n1 Y6 ^4 V
9 w4 a* G9 q* l* O$ r0 |
}% ]' v+ d; I0 D% A
else
2 g, S0 _# G* i [( h' w {
& X5 N* }+ }1 e if(node.parentNode)
& y- g% A1 A! ]7 y* d5 h {
, D: C* p9 P4 _3 [$ O1 J9 m3 {0 C var orgNode=node;
! j n \6 L8 ]& B) u var orgColor=this.getobjstyle(orgNode,"color")' d% Z, p0 @1 R) k
var orgRGB=getRGB(orgColor); - ]9 P" z+ F2 u8 ^' v
% O6 H6 D2 G& d- e4 z var parentNode=node.parentNode% o X2 {2 M* k3 v' i4 w. x3 u
var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 }) d6 t# g8 ]( W' P S0 @1 ]
7 U: ]0 T4 J8 Q" _: s% I0 R var isLast=false;
" {8 i: t. x. G7 X3 `5 K6 j
1 A. Z4 J! e* d' b5 k+ o# r while(parentBgColor == "transparent") , E. e. @2 n6 ?$ G5 J; ~
{
9 c2 w+ S5 W' Z" Z; d }; X) _ ; s3 U0 `: s7 w! z/ Z( H& R
: |- R9 X/ I/ k# Y+ c. b4 L if(parentNode.parentNode == null)
4 {4 t1 y: \2 n: F% j! ^ {
2 e& n* _( h/ D; e- q) U+ O isLast=true;
3 n4 z. T S+ X$ O% y; [ break;
5 l e" S4 n9 n% Q9 N0 Z }! ^ h. ^+ g6 p, f: O5 p [) D# s0 b
parentNode=parentNode.parentNode;2 B7 q: N; w, B* y+ G- Y0 f1 E: {% T! I
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 c' a H( h/ i4 n) h. V: ]
5 j8 n1 m) Z$ u; d if(parentBgColor != "transparent")
4 J2 ^( e& |( A! U+ {, U {
) h, T& o5 g y; R9 ?8 H- [8 M/ S break;/ Y. s. h6 e; d1 v2 m) `5 o
}5 } O$ J5 a( |; `6 P
}/ k( B- W( O! h1 Y7 c- O
if(isLast) ! e9 o$ X) G8 m# |5 f
{5 g4 z( |- C4 I+ s, W- K% @2 Z8 J# I
if(debug)
( m! \4 E5 X- T/ N/ G3 l* N {
, P* U" q* U1 {8 {7 c alert("last!!");
- V/ I0 Q" W1 ^% y8 _' j7 j }; p, `0 a4 h) n6 ]+ x* [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 |0 @9 n' g, E: n3 ] {. P7 ?' l9 s4 } l0 X2 j
orgNode.parentNode.removeChild(orgNode); 0 W. |$ G+ h4 \! p/ [% e
}' D% ?% P% r8 v/ B4 [" U+ i% X
}/ C6 A( O; l7 F1 L; w
else
5 g5 O; O# w: f0 }7 s' c- | {
: y, F: L# A% |. ] if(debug)
, z5 b V" j" o8 F& p, C9 j {
( g' d3 v0 U3 L; I; x alert("compare color and parent bgcolor!");9 r1 o) A9 y* z5 E2 ^% j
}* i% d3 _& p2 [6 w/ _" |
parentBgRGB=getRGB(parentBgColor);" n* P3 c$ T% H1 z( }
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 ]8 L0 L& X* Y% H! O
{ S* ~2 ^% K3 |
orgNode.parentNode.removeChild(orgNode); 9 M; x3 l- a% b
}; Z3 ~# w5 q* s9 x- f" I/ a2 |2 M
}
+ M8 n3 w/ U O }
( c' O8 H# w; [ }$ j- F' `7 g% K- A! D; Z
}
" q. |3 R* @. H. }% M- T- O }
1 u- G/ L3 L( N+ z3 F- f 2 k, V! s" F! z
$ c/ T; I6 c2 r$ J- P0 @( u3 E4 h var itemFrames = page.getElementsByTagName("frame");
: y% |; x6 N: i7 j! v2 c var itemiFrames = page.getElementsByTagName("iframe");3 M% S6 N, t- _! R
1 E0 T+ E6 ^7 A4 d( z- Y
var frame, iframe;
# Q2 ]" q1 @9 `9 ` if (itemFrames.length > 0)/ D2 J/ k/ W0 {! R4 Z
{$ L/ p9 e) u! O. R, P6 B: q
for (var i = 0 ; i< itemFrames.length ; i++) $ A) B, ?, C7 c# L
{
# K5 e; h0 M8 R M frame = itemFrames.contentDocument;2 H4 _6 \# c8 Q9 w+ r5 K
this.RemoveHide(frame,objname);
/ g8 T. P% p/ ~4 l/ r% P# R }) [/ D, O2 F' ?5 d, T, {* E
}
2 `2 w/ T" [, } if (itemiFrames.length > 0)( S2 E) {, g7 [5 a: C2 k
{
) D$ c* O# M" T& W+ @4 E for (var i = 0 ; i < itemiFrames.length ; i++)
/ y. @7 `, M! q4 V. i) ]1 C {
5 J) |9 t4 \* U4 j' X3 M$ d iframe = itemiFrames.contentDocument;
[6 y" ~1 d& ?) f this.RemoveHide(iframe,objname); - K' L8 u5 O8 A; v, C9 I0 u- m
}' @ G2 ~( [4 {- ]/ g& K0 V
}' Z( ?+ O; f3 f, d" ^* H; z
}- M2 Y0 |% k6 S
catch(e)" Y) _: W. h' g1 K: t
{
+ A9 q/ c- O/ T1 M8 k- F if(debug)9 E* b( {- p1 [
{" N) f1 z: |4 `6 c9 ]4 b6 t4 x
alert(e.message);
_" ]: P+ ?: q) c# S2 x% a }5 b1 }$ h# o1 g w0 O' ?
}( Q0 d. c7 h% l Y1 _& U0 [. r- R& _
}/ U7 p# Q2 p) E- Z
) ]0 j; w- s: b4 e% ~- N
}
X2 t& b! N! E5 G2 x* }$ ~* ^ ?$ h
& O; X! |% P9 i6 z. sfunction getRGB(colorString)
' A4 B7 @5 O' v! S$ W{
+ X3 i0 v# g% [( \9 c# m9 D5 S8 C+ o* T1 ` var RGB = new Array;( z1 X( m# G) ]8 O8 r
var tempSting=colorString.substring(4,colorString.length-1);
L+ B' b, J; J! r var tempArray=tempSting.split(",");6 t+ ?2 ]0 t. w, E5 L
$ i4 U0 i3 W6 x3 V; i
RGB[0]=parseInt(tempArray[0]);( u, Z4 l7 m7 o
RGB[1]=parseInt(tempArray[1]);* t6 l6 G, ~" Y: A5 G' M7 D. }2 k3 |
RGB[2]=parseInt(tempArray[2]);6 r1 B0 ]0 h4 \ D/ B
$ f" Y; P# b& [" w, E# f return RGB;
5 Y; M% p; @ ^* ^}
7 M0 p1 Z2 G6 x* v: rfunction keys(evt)
" [$ a+ G$ E) a# x$ F { # u3 Q/ _6 Y2 M6 x
if(evt.ctrlKey && evt.keyCode=="81")
/ t1 S' ?3 i& a- R9 ~ {
, @$ J; _/ p: k s; q& a: D CleanHideObj.on(0,1);
* W1 | I1 C2 W) h: i alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! x+ O6 j& h) R6 W
: ]' }- n' t) P9 @& D
}
- c' V! s) J% o- }- Q( P }
0 t4 u4 |0 @: ~* i" c, `$ M5 xdocument.addEventListener('keydown', keys, false);
, t6 N9 R5 F' \$ j" j; s- o- hGM_registerMenuCommand ('Clean Hide',
k( M1 E. G( B4 rfunction(e){
0 O! d* v, b7 B) @( LCleanHideObj.on(0,1)
+ t; [* G2 M. Aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 s4 e+ ]. @9 D; q0 \. z});
. g9 p* f3 A" ?% \3 @( u! q |
评分
-
查看全部评分
|