|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 g" H1 e$ k& s, r7 V
, u9 L8 G3 C! k7 {
火狐插件,用猴子+ R# @" ~- [+ N' E! D) s. [
5 v5 j- P: u; r
var debug=false;
3 z* l: q5 {9 P7 Q+ Nvar CleanHideObj=new CleanHideClass();
" `5 O2 q' }- B; H2 `) T: X6 ]' v/ h
function CleanHideClass() $ g, @; I9 n' y# `4 S0 \
{ : F- @0 a4 B5 u+ X, f( B+ ] C$ d
5 E% b: ^0 b2 ~- o% a% D5 k/ H# } this.on=function(id,bMZ)# P. `% f( C6 p* h6 z' _8 k4 ?
{
, f0 q: b8 V5 x& g3 l& d" Q " a1 F9 E* b# E. S2 O
if(id == 0)
$ b E" t. L# z, `( N {. Y. Z5 |% F( A9 H& L
var page=/* document.getElementById("content").contentDocument */document;
# C s0 w" F- E this.RemoveHide(page,"span");
* m% H# F! L6 I) k Z* p6 \9 { this.RemoveHide(page,"font");( h) g/ q8 C7 u7 w! q& ^& [4 c
this.RemoveHide(page,"div");
* g- O8 l. b2 m$ R this.RemoveHide(page,"p");
- r" [# y( ]& N" N; t+ M, U6 u1 ~
" x1 R8 v! `/ ]4 S% |8 G8 i: o }6 O# X( f7 d. [6 H1 N$ u
' s7 N, v: g) J* c$ ~$ N }
5 K, k) r# a- i. K this.getobjstyle=function(node,prop)
) W' b7 F. ] R8 n: M! |8 t: Z {3 n( H0 d! p% V) k/ s5 [
try# K) t4 W+ c) w3 J
{
T( x# o2 }# ]) D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 `' Y+ S# s% q
}
( }% z) k; N2 z i. S# T6 p catch(e)" a) w1 N- m. A0 O0 q' W& ~7 R
{3 F4 B. l# b* l% J: i
if(debug)
. ?0 n# M: K8 S$ S( v6 A% c0 M, x {+ N, v+ y h# ]7 }/ A% i' D
alert(e.message);
, ^4 s! v! a8 K$ a$ n1 R }/ C. i( @5 ?; t& H) O
6 @# e% b# d& @' f# Z9 A8 C
return "200";
4 i2 H/ l* m. w5 G' q& v1 r1 }6 } }# F# o& }$ R1 a! f3 y
}9 i, k. R+ D$ g* t' [% _- O
: h. F$ T6 G0 v0 F p' l
this.RemoveHide=function(page,objname)
. n* Y3 E+ } k# N# a {1 j/ K: ~- I7 U; x2 O
try2 b) m5 ]8 m8 q: t% g
{9 g6 P8 p: D6 A; G
var minValue=15;/ b# U% o: E- `: d0 E3 {: D# O
var objs=page.getElementsByTagName(objname); + M/ z6 y1 B. d; E( X
( Z/ y. K9 J- d% U! P% g if(objs.length == 0)
) S& J/ g( {, q+ V0 Y# A {
, ~$ N1 u9 B: H0 ^ if(debug)
' S( t# D+ P+ ?1 g% i {+ y8 o+ |: j: n1 x- r
alert("no object found!:"+objname);+ ]1 H5 y6 A D, W7 h+ L* j3 T: [' D
}
! K- r3 j6 B5 R0 B0 X }
6 x3 Y) o- _2 Q ^# D; ~7 e4 D else
0 H2 M# a4 ~3 x. J8 |2 n4 {4 O( n {8 `: M; G/ f( V6 O6 m, |
$ S6 z! q- {5 U& { for(var i=objs.length-1;i>=0;i--) ! Y8 T3 B. l% H
{
" {! w4 i- K' P/ Z1 K7 _ var node=objs.item(i);
, \8 ~0 m, n& J( k+ |( p # y# z* A Y( u
: U6 `$ }5 K. q9 ]" `$ w" \ if(this.getobjstyle(node,"display") == "none" ||
4 w" {2 Z8 k* b this.getobjstyle(node,"visibility") =="hidden" ||
; }: a4 E* [ z2 Y5 M/ S1 a parseInt(this.getobjstyle(node,"font-size")) == 0) * I1 o! u7 M' z: b, K
{( y* W0 g4 k0 J9 r! I; D' M
if(debug)" l2 }! j8 y- C, G, A
{
5 [* F# e- P" l8 b# h( @# h alert("remove invisiable!");" @$ e- H( Z, L" h7 y- F
}
* z5 A' m3 T: `" p node.parentNode.removeChild(node);- O0 a( G: c& @' T3 U9 q! R' J V$ D
: B' q. o$ H8 c H# Q } e* Q- Q' b! F& G
else ) Z4 R3 [6 f9 o3 H
{
: l# R( g) k% S if(node.parentNode)
- w1 e7 i, l/ r4 D2 t9 X {/ R! F! O- D& s/ F d/ Q/ r* e
var orgNode=node;% M7 _+ R ^5 L- |, |
var orgColor=this.getobjstyle(orgNode,"color")
) q8 k, T4 ~1 u var orgRGB=getRGB(orgColor);
: H. l8 H. ^$ X3 X4 t
# C8 R* o; w( s$ I/ I, M var parentNode=node.parentNode
5 L' s, C+ @8 B) n. ~& b& g var parentBgColor=this.getobjstyle(parentNode,"background-color");
. x" Q6 D5 i$ e( C, K/ d ] , v% P; ]; P: q
var isLast=false;
) D( u* p+ S- C( i4 N( [0 z$ e
2 h! n; n8 Z. `! f4 X, g, F while(parentBgColor == "transparent") 6 F4 d) T, P# L# U# ~4 i% W; v
{; |8 h1 A) T5 p2 q
, w. \' X3 Z: a( _. D5 p! c
, ~0 _2 [; {& ~! ?$ W0 D if(parentNode.parentNode == null)
- [8 W3 {# }) v8 T" u* P# A/ k {
5 e+ z- @+ l' ]( C isLast=true;5 ^& l, S4 F7 x& _
break;
: C) U8 P; {5 Z9 @9 z; ]3 \ }
; h4 `1 A, u* z' l5 m" K2 `! L* m parentNode=parentNode.parentNode;1 ?1 i# G* A& E% C; g1 L
parentBgColor=this.getobjstyle(parentNode,"background-color");
& x/ M- P% r; {7 I! P
1 `3 k+ I# r: U, f; k if(parentBgColor != "transparent")
+ D7 A' Y6 w4 j0 W- F& i {
' z1 s9 C" Q' Z- o$ m break;
+ q$ g& ~% g8 v. L& h }
) O; n$ j9 W. G. A, G }
% P+ P' c3 d" V if(isLast)
# n% t5 a5 I- M! x {
$ t4 t3 ?. V- h& |) G$ Z if(debug)- l9 S: U/ i# M- \) w7 `7 ]# F
{& F' G! N. L0 |0 M% q! h
alert("last!!");1 b. x N2 i6 x9 ?. j
}
% i: }# p6 w% j4 o( J2 r1 N6 h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), B z4 a0 C8 T
{ e5 K9 v- F1 @
orgNode.parentNode.removeChild(orgNode);
& y* ~( {; l% J! u' G W/ {- T }( x4 m5 C+ z' [ U
}
( ~5 M( g' n# l/ a! k- O& K else, {) G9 B! a1 v9 Q- R
{
s1 l6 P, n+ C' O- J1 H9 \ if(debug)) |. D# m6 n9 C7 g& D j7 R
{
1 k. O3 V9 v5 [( F0 j6 w- N# u alert("compare color and parent bgcolor!");
, t* R' t- a0 O! n# { }
% t8 F9 {5 b/ @% l7 j6 n9 [ parentBgRGB=getRGB(parentBgColor);
. Z+ F4 E/ i" w1 N# o. B5 N if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 x9 \8 H+ H" ?: a+ s8 q
{& j8 N5 y$ W$ D2 X
orgNode.parentNode.removeChild(orgNode);
0 ~8 J: T. l( K# V }5 n' \/ W- i7 M$ @6 Z. l; m
}
% T7 a+ I, _* r" D }
, d6 W: J* z' }8 @# s6 j; p }
' D# s6 V+ K8 o# E }
6 z+ b9 ~5 w- `& A& i9 B }
1 ^4 j6 V$ }8 V: q8 W O
9 i. H( \+ H* Q ) \: K3 x% T3 n* D& q! x7 l+ B
var itemFrames = page.getElementsByTagName("frame");
7 Z7 E3 j7 y) U" t9 a+ V* d& [ var itemiFrames = page.getElementsByTagName("iframe");7 v7 ?1 e" J5 z4 V6 t2 H$ I; m
. {7 K3 ^6 I [. M9 G7 a7 @ {6 U. U
var frame, iframe;+ n9 Z; ]* g# a4 q$ G$ S
if (itemFrames.length > 0)( h* m* g- `, m. ?
{& z3 k+ M' L/ b( t' R0 b. |
for (var i = 0 ; i< itemFrames.length ; i++) " @; e+ V5 K' I/ E
{
% {6 q% D: j3 h; f frame = itemFrames.contentDocument;) \$ b( J. ^1 e6 T$ N1 x
this.RemoveHide(frame,objname); - ^9 C) \1 x+ j/ C$ U6 R$ }6 H
}
4 u' e0 @% x: f8 M' z' p- ^ }# T2 k; b; K4 L7 c: u
if (itemiFrames.length > 0)1 m! j/ ]$ N3 a8 A4 ]- P0 s7 ]
{
- w8 c8 t5 K/ e% S for (var i = 0 ; i < itemiFrames.length ; i++) % R/ i5 M7 Q: w* e
{! b5 ~; v& T' j+ R
iframe = itemiFrames.contentDocument;
^1 H* l$ Q- @: j: u this.RemoveHide(iframe,objname);
}* G# K2 A3 D& Z. O& Z }
4 o- _1 x% b3 {0 l0 o+ l }6 P5 E2 M. @# ~( X! t7 X8 k
}8 |7 u- p1 M( c8 |
catch(e)
; O, g/ X; R, q' C8 P" O {+ L K" _( O; }2 S0 o
if(debug)
& J Q, ]% j4 a' o8 f% ^( E7 F {" n* I( n' P" J5 m/ f. I
alert(e.message);' h) P; n+ A5 ?
}- R* `3 U* R" I' n2 B& @& R6 f+ G
}
; Y5 b, ?# |) j$ b$ \ }+ f; C% p8 D9 E) E6 a0 ^7 b
6 h" g( I6 t) Y$ \}" K4 Z! I( L3 c7 u, g; ]9 J2 V
" e, e$ a, a4 f$ i) G
function getRGB(colorString)
9 Q2 I. |! d) d: ~0 s" @( G{4 {, `8 y+ E4 E
var RGB = new Array; d) F2 M2 M S3 V
var tempSting=colorString.substring(4,colorString.length-1);$ J9 a/ a. Z6 `) G' ?8 H9 K8 X
var tempArray=tempSting.split(",");8 q3 g" _1 m) w" n- Z- m1 x
$ ]# \/ u; v) i/ Q6 q4 O
RGB[0]=parseInt(tempArray[0]);
) h. B) ]% M8 ^; X1 B/ K' b RGB[1]=parseInt(tempArray[1]);
9 }2 w4 L. k5 [! q9 E" F RGB[2]=parseInt(tempArray[2]);
7 A/ T& ?8 R { _) b/ a 9 t1 w3 O: L: [" G) V
return RGB;
1 U4 E% I( R7 E! a1 Q3 E. f# U$ \}3 p* _& T n @. n4 e. \2 t
function keys(evt) # Z: q( a0 m7 s: ?7 }( l
{ 7 L6 _- D; Y$ L4 {( c; r- P9 ^
if(evt.ctrlKey && evt.keyCode=="81")
4 q! } b& }! G' M4 O( ` {
0 q: S8 D( D: f$ m! |7 B8 ~ CleanHideObj.on(0,1);
% k: j6 j; L2 ]$ y0 T% z1 e8 O alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 M5 R6 d E* O" v. x3 J' h1 V+ ?. u
8 w3 `2 @- N- l2 W }
" M" z) S" G: \. Y% R- w; A }
7 n$ |9 r* e7 S6 \. \8 bdocument.addEventListener('keydown', keys, false);
) b2 S* U) Y2 {9 t' |GM_registerMenuCommand ('Clean Hide',
, q l* u# R$ \* P3 Cfunction(e){
# {5 N2 M; Y ?; }, A! `* ~/ }CleanHideObj.on(0,1)# t% ?- R5 A! @0 F1 b H& q8 W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 p" Y+ G2 p' ]/ ?6 V" c- `& O});1 N+ Z( k2 j, P+ U
|
评分
-
查看全部评分
|