|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% i6 Z- }' y8 w) z* S/ n2 y
* Q I7 j5 K* v& N" N( g- F5 h火狐插件,用猴子- B* R0 T: t' q+ ?
9 Z) d* r4 X3 [8 I g8 S
var debug=false;
; n* s. C" R. g- Gvar CleanHideObj=new CleanHideClass();( A' ]: ?. L& |* d
: i7 p* A2 C" l. I+ I% ]
function CleanHideClass()
) Y" U- ? G3 W8 a" Z{ 8 U: J0 }$ ?" O' k
# _# x: O* v& ?% `7 z- X
this.on=function(id,bMZ)
8 v9 e; y4 v" `) | {
! X, k' }5 `# r* T9 ^2 a" W
: v# e& n7 B0 v1 Z9 O- B8 ^5 O if(id == 0)
- B: ]) V; K0 |2 Q6 S: z* \ z* F { H7 ?$ M% |% u: T' O: N+ u* R
var page=/* document.getElementById("content").contentDocument */document; , @, M2 k& @4 [& \3 y
this.RemoveHide(page,"span");
5 i! P0 V: y; P/ B' X this.RemoveHide(page,"font");/ A+ U4 Y4 p% T# S2 e% z, g/ Y
this.RemoveHide(page,"div");8 l {3 O. @& d! L. r
this.RemoveHide(page,"p");# W' M# g2 n# t! y1 E$ D; ?
4 W# V |" N0 V; x$ ]( f, g
}' Z) m& m2 r2 d+ l
! z" a3 q# m% b* @
}' R# ~/ v( B: F9 I* e
this.getobjstyle=function(node,prop)$ C; C' H! Y: t: }8 A/ l& E
{
4 b# h& S1 ]+ `9 Y try
) f) b3 b1 D. E4 f9 U6 U {
! B! Q+ s L3 l- y6 z- ?0 P2 J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' Z( g1 c7 V9 |: z( n/ M* A
}3 A5 G) h* o/ p% N- C
catch(e); `) `: Q+ o- Q
{7 K8 \% C$ V' H
if(debug)
) P7 z* d" v' [1 d D/ h+ S {, \6 {( T# i! v1 ]
alert(e.message);
+ o- b7 a+ l s6 i5 e- t5 B) v3 L }* c- p7 k6 V; V) q$ {3 _" h
! _: y# e: X {2 H V- g: [2 l
return "200";' V8 ^' G' g& K# V* f2 g
}
3 N& c t7 Q6 I- z& N' w3 z }
2 n( Q; ^9 Q. s$ k8 O# c- d' q. E $ E3 m0 X& A0 b$ P( O
this.RemoveHide=function(page,objname)
$ L5 I4 A* q' X; t {
: x" C% j4 t i e try
9 r* Y, T% ^. K7 V9 m {
5 T* K6 u7 k7 V. i" ~! B+ \ var minValue=15;
0 \7 v* F4 q- w% u var objs=page.getElementsByTagName(objname);
; A* @# W% z9 t3 V9 }9 z, B4 N- T7 {% K( y
if(objs.length == 0)
& `: K2 f V# {8 p; z- D4 `, k {
5 ^1 z* W6 K' S p T0 ~6 \4 {; ` if(debug)
+ B' J5 g& s' b, _ {. H e- W7 r. n" B
alert("no object found!:"+objname);6 L0 z! j6 C. I" A
}
% h0 \* a; D1 H6 {) Q }
$ d& a( R$ B; c8 X4 ]3 D: ] else
9 Q0 G' } d' D# i6 r& ^ {
! B$ {* q1 ]; s, ], q
4 P* M, f1 J9 ^8 X' U: C3 Z% E8 M7 Q; v for(var i=objs.length-1;i>=0;i--)
/ ]9 `, Q- j9 |: h) T( R0 _ {
* \& C9 k! x a2 e$ \ F7 u var node=objs.item(i);
4 a) b. {2 Y0 H: y* B 6 L. t, E6 R4 v! w5 {. A+ b& X
: g1 d% O$ e0 \: G2 [& u! I2 {
if(this.getobjstyle(node,"display") == "none" ||
3 [1 O. l" T0 `, d5 _& b ` this.getobjstyle(node,"visibility") =="hidden" ||, ^1 c- L# r' U% M. b7 [. M
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 ^$ o1 D$ p2 _9 ^6 U
{
- y0 I+ A6 H( T( s6 b/ } if(debug)
: M; i0 W; D f2 m' G$ M {
# A* x8 ]+ v4 D# I4 L$ G3 k, f alert("remove invisiable!");2 h, A& @4 m5 l6 v/ |( {
}
8 f- T- D/ F1 K) R! c2 i node.parentNode.removeChild(node);. U. ~' w, T2 t1 Q
# _1 q4 ]6 r+ U7 C
}9 H6 s H c0 z( N0 P b
else 9 W2 e6 s) I5 i. l% W
{% ]/ T; } ^( R5 }8 N" I5 H* i
if(node.parentNode)
! p; K7 E/ _! J) P. V! c9 V- { {
$ [4 [8 j) f9 t$ S9 b var orgNode=node;
G M n% G6 J4 M, X var orgColor=this.getobjstyle(orgNode,"color"), n7 J$ s, k- i' M
var orgRGB=getRGB(orgColor); ' E; F/ j6 V# h: N( V
* h- }/ p5 B/ t4 X3 ]' t8 J
var parentNode=node.parentNode
: P0 C" H- l. b( H3 v+ i var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ C. H7 `% v2 ]2 W: ^$ b* p8 x ( x3 e4 ~+ ~4 r; @4 a$ m2 k
var isLast=false;
. X! o( P9 T Y" z
$ d# ?; s; k9 C; |7 v while(parentBgColor == "transparent")
! U. f1 l/ x1 i" P {& X% {0 P$ N: i$ ]& }
# k& h$ |" B" E2 F. f7 M4 l
) C( u7 A* g# d
if(parentNode.parentNode == null)
! {3 U# H( n7 H/ a" f/ L {' Y( Q6 e( P% i
isLast=true;
$ r$ r H4 b' j+ z break;
7 V# z* z4 U/ I; Y+ W }
n4 {" G& M A- Z$ f9 ?1 f9 h! ~ parentNode=parentNode.parentNode;
0 T9 [% U h3 s% Y% G parentBgColor=this.getobjstyle(parentNode,"background-color");4 V3 i& h7 I7 X; J0 \! s/ e
& b" t" m: e W# R if(parentBgColor != "transparent") 6 e9 D( A* b- h9 @/ ?
{
! V7 L3 p/ B$ J" S9 x4 [ break;" X7 @( }4 Y N) h2 A+ C
}
+ ]3 `$ q5 [7 V( |! s( w6 }) `) t }8 r" c- M# m0 g4 ^- o
if(isLast) ( L* j9 X8 p3 d- D/ y+ |
{# n& [; s( @, v9 R* J- Z! j6 }4 ^
if(debug)9 w- R' g4 ~+ G {# T: e, w
{8 k' }1 ?# I) j0 ~* G7 ~4 V
alert("last!!");" ~+ l { P$ ~" g3 K7 M
}9 p! w) Y' x3 W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& p* A6 I# W+ q6 u* j |0 j {; c! c$ j% E9 Z: i$ e" s
orgNode.parentNode.removeChild(orgNode); - g { h5 W/ C" Q, _" E1 \
} S b. [, M! s/ a. z; ^! g4 I
}1 G/ d; s% R3 Y, O. n- j# r
else
. D6 G' Z& ?. u: a {, T i3 m' p! |* }: k% D& Q) S8 i
if(debug)$ r! P/ _ C/ [
{
7 l, d: W; G. D, p' W! f alert("compare color and parent bgcolor!");
. d# U' X$ g. m: {2 i* l0 P }
. x7 L9 F4 H( f* \ parentBgRGB=getRGB(parentBgColor);1 ? w6 Q/ e5 E. \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' X4 u- O( ` V$ l; M5 L4 x" R {5 o+ _, h( U7 u; V% i# l$ e' p @
orgNode.parentNode.removeChild(orgNode);
6 E$ B) Y- `2 s' ]- \& G/ m( | }- E2 F e( R0 w: Y4 B7 V& V4 Y
}7 Y. f }0 e* o
}) }/ }6 j7 _. ^
}9 z M8 E+ r/ p! @% v
}+ s$ O! Z1 ?' b! Y* W3 j
}8 k+ _7 G" ]! M7 H K5 _% f/ U
+ G0 m# w8 W3 j' c/ O 1 v0 j3 F& m" ~! `% k
var itemFrames = page.getElementsByTagName("frame");& x4 A5 ?* g# n6 k: e* v
var itemiFrames = page.getElementsByTagName("iframe");: q* ^/ J8 P2 }3 A4 P
2 ~4 ^2 {3 P6 a& [1 I/ E
var frame, iframe;, ]( u: e7 F! r$ s; X
if (itemFrames.length > 0)
5 Y' _) p7 M$ L1 } {/ K* m% i7 N4 Y$ z3 H0 l
for (var i = 0 ; i< itemFrames.length ; i++)
3 y+ ]/ @4 S/ w: z" H* {1 }" b {
5 f5 A2 ~0 W; Z3 p& b) ^' b/ Z frame = itemFrames.contentDocument;5 B9 N6 |9 W2 R1 e% g# d3 x
this.RemoveHide(frame,objname); ' }9 l) i+ j# V5 g- D) U1 {4 ~
}) ?. y% ?# ]6 N8 W. ?; O
}
( G$ b# q# H' ]5 F6 K, l if (itemiFrames.length > 0)4 \ _9 Y! O, b4 ^! L
{ k6 `! P3 y, H1 g" O: S
for (var i = 0 ; i < itemiFrames.length ; i++) 5 h9 U" D# ~% T8 Q
{
1 z. f. P7 {* `# z9 t iframe = itemiFrames.contentDocument;' U+ I w/ {7 {" a
this.RemoveHide(iframe,objname);
& }4 ]. p" y$ M' \7 Y }
* h! j6 Y$ _& Y9 H8 \* S }, s9 U- [ b& s' | A
}
4 e1 U* O4 X$ ~" w- l; R catch(e)# L8 L6 N7 E) N
{5 q; v. t( @, k" m$ Z2 H& L
if(debug)3 j, g* }4 |8 `* e {/ B" i- S
{
S4 m0 m6 Z0 S a& W2 f+ G alert(e.message);5 n" ]9 y4 ]/ \( C; B, o
}# _1 W6 H. _) C/ w5 `2 K
}
- s, t4 l$ b; |/ `( s" R }
- i0 U$ `6 _# v! M % O/ A) k6 s& C. i) y
}6 O* E- e4 O+ H
. @6 G8 [$ x; O5 @8 Wfunction getRGB(colorString)( k6 R7 H+ B" N; J+ F G
{
2 K' ~. i* a! J5 {& U# c var RGB = new Array;& ?$ N0 b6 ?4 Z" f3 F b! b
var tempSting=colorString.substring(4,colorString.length-1);( W9 q1 c" B- R/ [7 m, c6 t
var tempArray=tempSting.split(",");
1 F, B+ L! i6 n; T8 E
4 F8 g9 {- H$ u+ ?! P3 z RGB[0]=parseInt(tempArray[0]);
1 ? B* g5 R3 } RGB[1]=parseInt(tempArray[1]);
( u/ f' S$ m- I' V5 h% u: y% I RGB[2]=parseInt(tempArray[2]);0 V2 E) x9 T7 A: @) g) ~
5 l3 `1 J9 r3 F9 @
return RGB;; f1 O* ?- Y3 E* y( x
}
( @6 x: j- D! \; Cfunction keys(evt)
" m) M: M& j* Y2 I! T { 2 ]* k+ X8 Z9 j. N0 `+ v, T9 y2 t4 u
if(evt.ctrlKey && evt.keyCode=="81")
; X x: R1 L1 U* n { 0 B% U' c4 X. D4 s
CleanHideObj.on(0,1);- M/ `1 i, N0 d* S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# e/ Y+ Y* M% Y H ) o0 ?( Q: Y3 b8 E! U) \
}
( t4 O) [- D6 `! B. } }
5 J) n9 P8 H6 \, fdocument.addEventListener('keydown', keys, false); * R( o; X7 B) O" K
GM_registerMenuCommand ('Clean Hide',
" t- `# E1 L K, ?function(e){
6 t5 i1 L8 S |$ x" ]8 ZCleanHideObj.on(0,1)
* G, G9 M. z7 w F5 Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' V c7 r. ]' G( q; s7 `
});/ r& h- q) K0 ?5 z) j6 ~7 X6 d
|
评分
-
查看全部评分
|