|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! R) H% ^& K# A$ u; a
4 _) n4 k/ o6 S/ d* T% g0 ^3 h1 T火狐插件,用猴子: z1 D) e6 U) b8 B
1 K+ T5 C" J7 t9 {
var debug=false;
" r6 t2 G! X& v% svar CleanHideObj=new CleanHideClass();# y+ E& Y: _* n4 x5 e
; B1 s4 t0 B/ d- |/ ?% L6 b/ A/ I
function CleanHideClass() 0 ?- s7 q" D- q+ ^% |0 d: e
{
1 }) c x; F. K w; u) A3 t& u* X j
2 v& }, p8 `" L2 M% ~ this.on=function(id,bMZ) t/ m2 r- a6 M+ h0 |$ R, {, v
{9 o, Q* v" i- I# C$ }+ s* ?6 {8 ]
9 L ^& A( \ ?! }
if(id == 0)$ d0 V2 y7 I: g1 ~3 j) q
{( i$ w% |% w* }
var page=/* document.getElementById("content").contentDocument */document;
# E8 q( a1 P0 J5 `5 i% N this.RemoveHide(page,"span");" {7 y [% Q4 ?+ o! u2 G# S
this.RemoveHide(page,"font");
; @3 x$ ^6 {2 Q this.RemoveHide(page,"div");: o5 T% g; z1 Y, u7 n
this.RemoveHide(page,"p");. d" J& `& V, w& u. u2 b9 H
9 M9 I! |# R7 o0 E }
+ d. h- M8 _) h1 s) T5 P
+ u; X+ f# |: z3 _ }( |( }. [3 h9 L) n9 y2 u, y9 R3 v
this.getobjstyle=function(node,prop)
0 q4 u8 J3 @# ]' C( p: k1 Q {
' r8 |3 @' a! V" H5 F# K% e3 ~" m try
$ x6 E) E! V2 H {
* C1 O2 E6 r" r/ A! l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) ^# i- V7 C# b" k! f
}& @* m% c. w S& ]1 N. e S# D" I6 S
catch(e)2 R. u) W5 ~4 O" N5 v
{1 C# W! w* ^, ^( `. B7 ^
if(debug)1 Y7 j0 R5 y8 {4 c. M) }: p
{% ^' I. B1 Q) e9 }1 S9 }+ i
alert(e.message);
. m. ^, L2 E; S }1 ~3 J3 G5 |& K
# c8 D; I$ P1 F0 q return "200";7 P. i$ [6 `8 D1 ^2 L
}
6 w2 }! n2 F% S }
6 O6 g4 C u; f* C. M* m) n4 X + B# A( a: p, j' g) Q+ f7 t
this.RemoveHide=function(page,objname)( J- b2 Q$ |0 a" h2 l* {- L* U9 `
{$ W6 B' s5 y l3 ^7 N
try
2 L' I/ }: m9 e {
" B$ y N9 n2 P" U% r! N var minValue=15;; u; @* O- I' Y0 B, s5 E
var objs=page.getElementsByTagName(objname);
$ D+ v3 Y/ ?$ q' c* U/ k2 l; K. }2 v: B7 I" }6 B' r2 H# N
if(objs.length == 0) & o$ D, n2 k( ]
{
7 a/ {5 }. O( A8 G$ F if(debug)
9 Z; f+ {/ @% l. [ {: _& Y4 Q- w4 C$ f
alert("no object found!:"+objname);
8 ~% B* e; k4 |% v4 E% b1 Q9 q$ n }
" k& t3 _' @( c' N4 {2 ~% k. p } r: Q v4 y7 s( v0 G
else
# e; X! P' Y1 A {
k/ J4 F6 W/ I0 ?
3 l$ \' i# M" f6 @4 L# U4 c- o9 _8 p for(var i=objs.length-1;i>=0;i--) : I' L( o8 u7 D9 ?
{
$ Y- s8 z4 [( _& U8 J var node=objs.item(i); 0 y; t( u; R/ w" @+ K+ M
# h, o5 B" o/ n + `# p' f' z, R8 z- E
if(this.getobjstyle(node,"display") == "none" ||; ]2 h& r) k/ \/ s& C H
this.getobjstyle(node,"visibility") =="hidden" ||* Q3 y1 d, V% J; Q) Y
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 a& q) n+ I; U6 M
{
0 w) g! w. f: q5 C: t; q+ L if(debug)5 y# {% V( s4 [/ i
{3 \- r1 v0 E! O) X7 H* c% @ o3 Q
alert("remove invisiable!");! l: b4 W: l' p
}7 w$ V3 w6 o6 o) ^
node.parentNode.removeChild(node);
! g- ^3 C9 E# `& [4 l x$ {8 C 1 F1 @6 Q# N* P) g6 z( {9 U/ I
}
, c! e" \0 A# {5 N! c% Y' g7 R else
. X/ `" B0 g& \5 t; C4 ~ {
! k$ g2 n0 b% S. j- B1 C if(node.parentNode)
* p" m( F9 y3 O n {0 D2 E) a- z- t- c0 a
var orgNode=node;5 X$ [' R1 z/ D* @) c4 c% s" f
var orgColor=this.getobjstyle(orgNode,"color"), E/ h8 ~" H6 W, L
var orgRGB=getRGB(orgColor); 4 i3 V0 Z' ~2 m* S2 u
, j* ]2 T+ k% Y" G
var parentNode=node.parentNode
5 c# Z) `0 ]# ?) s1 i( k var parentBgColor=this.getobjstyle(parentNode,"background-color");& x% Z3 s( a3 }, E* U2 d
! V- Y# L. X; Y2 C6 }0 e, L3 ` var isLast=false;. ~* s( R/ I1 H# N' f9 V
9 y: j9 P, K. p Q6 U; R while(parentBgColor == "transparent") 4 F1 u: d& a/ E7 A8 P1 n
{
& [* ~5 t# Q$ N9 o- b2 F 3 t! \' g/ G) \7 |8 }" l6 ^
" W; x3 \, z1 _4 ?3 |( x/ L if(parentNode.parentNode == null)
; r) j7 G: e/ Z5 i {+ o( K3 k! K% H B8 ~2 ?) I. a! a' v
isLast=true;
; d. G* t( H5 H, e break;) Q# u% T7 J' Q8 E
}
( w9 x. |% P" T0 `$ w parentNode=parentNode.parentNode;
' N: }4 ^- \5 L M parentBgColor=this.getobjstyle(parentNode,"background-color");
4 ?- l9 ^& i( v& A' H! I! j3 m+ _& z2 P J2 ?, f
if(parentBgColor != "transparent")
5 T# j, ^3 G! v# u$ a {
/ ~1 B& @; w& `' g q2 R; k break;
' u! U" O4 C6 c& v" E: E- S# d# {: j1 D } |* t6 ]( U# G- c4 g1 ~
}$ R1 g o! L% g2 `
if(isLast)
4 K( ~* }7 N/ g {
- e, t$ H! s! G$ [# z' h. U if(debug)
5 Q& P# f! Q7 W. j- g {5 Z* |4 o; {6 q* a4 K4 m. a
alert("last!!");
8 t! ~0 b! B4 T }
% u0 ?! E" H4 q( o3 I9 V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( f5 k4 L: U" c4 ~ {
2 b, z% M1 z7 c# k' Q; N orgNode.parentNode.removeChild(orgNode); 3 b4 R6 I# ?, b7 v
}
) x$ I6 I4 ]2 A2 W, i }
6 u) O% l, ~- _5 ` else: ~- ^, P8 {/ v$ \1 e
{
- A; n% } G: H$ B if(debug)- J/ S% R. ^: x4 E- C) k/ V. _6 U
{
& \9 Q7 _/ M- h; f; M/ I alert("compare color and parent bgcolor!"); E) k! g! ?' q: h+ ~( T
}6 k* K, F6 Q9 |' l3 d4 l( q
parentBgRGB=getRGB(parentBgColor);
2 t3 _" \; U( u$ ?0 E8 B+ Q1 t& ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% |7 h9 C$ m7 U3 X$ p0 T+ l {% n# A: d2 ]+ x7 u# a/ P" {
orgNode.parentNode.removeChild(orgNode); ! [4 ~+ J: L. Y0 ?8 w7 {) p
}6 g: V6 N( C- I% Q' b! }
}
- W; m4 X1 _, `1 r& K, g7 H }4 Y7 u1 t" m+ p, m1 v3 f
}
( q, Y8 A/ ~& ?8 F% _0 N- X( h$ W- d }
6 ]& U; |' S( v$ p4 a }9 n- Y! x0 |3 X
, y b6 S! l+ C3 n
! [% m/ g7 ]8 e, p i) K) l1 B var itemFrames = page.getElementsByTagName("frame");: P, U3 C8 T% k9 l
var itemiFrames = page.getElementsByTagName("iframe");
6 K' p0 \- P" w/ L0 F/ u6 Z
: B- @# K3 j& _/ W* } var frame, iframe;: B$ B1 I! v7 R" a) C- B
if (itemFrames.length > 0) N3 c- {7 j& z5 M
{" j: t9 ]1 d# S+ |
for (var i = 0 ; i< itemFrames.length ; i++) 4 O" i4 N: P/ Y0 P' b3 K1 c
{
2 b6 Q( J0 X m* }! z' k frame = itemFrames.contentDocument; z9 f$ Q6 [0 J2 ~
this.RemoveHide(frame,objname); : x8 t) a1 f* z# ]) a. w
}; K/ P) X8 |+ {$ F7 o1 A& ~
}
2 g! I5 X* }# i if (itemiFrames.length > 0)7 L, m7 [) h. g& B7 ]0 \
{- T1 V# v3 r$ q) U* |
for (var i = 0 ; i < itemiFrames.length ; i++) 0 I1 n: l5 Q- d: b! O
{
3 d/ \ A9 f! A; K6 N iframe = itemiFrames.contentDocument;& e6 P! n$ [/ i, {1 c
this.RemoveHide(iframe,objname); # O& M: J+ ]$ J: I9 i
}
1 W5 M5 w% m7 P }1 K5 X2 \! T* R/ j) E$ I
}! q. Y4 {' Q' n9 Y) ~
catch(e)5 I; J& \0 N& o- Y
{
% n9 X5 I9 d2 a* u2 m( |1 Y if(debug)5 b- A* w$ ]7 E& b
{
; x- H4 _% j7 x' J# d# Z alert(e.message);) i# } `: ^* S( e2 I4 p3 ^
}/ }/ N1 o+ e6 |+ ?9 j5 [7 f
}
6 f$ `* f& c' c3 Z* i% q! b }
* h6 K* F# V! Y# q6 }0 A
: L: H5 o, t; ^& ]) [* X5 @! X}
: M+ ^' ^9 p* S* {! B/ i! j$ u7 r S6 z. f; K( t
function getRGB(colorString)
& G. e$ h3 f0 K, Z{5 l6 ^1 c# l& L; k2 ~: N7 V
var RGB = new Array;
; u" w" Y) }# v k2 m# v" [% B var tempSting=colorString.substring(4,colorString.length-1);! d6 t; R$ J' Z6 J8 u2 R
var tempArray=tempSting.split(",");
. F+ X+ y- l. S$ p0 p
/ ?$ ^' U: y# a" p1 u) ?. m RGB[0]=parseInt(tempArray[0]);
9 Z; z' g @ x" W" H RGB[1]=parseInt(tempArray[1]);3 `8 d u7 @2 G0 I- H7 E
RGB[2]=parseInt(tempArray[2]);, q- z3 t" M% y
4 y. @& j2 q7 J' s' Y! ~ return RGB;
* d; U$ P6 N! |. n$ i6 U. Y}* i8 \5 u6 j9 ^# d; B
function keys(evt)
1 }) l& |* \; j' N6 R$ q { ( A8 }7 N: B% \4 }2 [
if(evt.ctrlKey && evt.keyCode=="81")
$ B' l. ?5 s$ H- c1 n { $ h% ]5 F( ~6 y( R0 K
CleanHideObj.on(0,1);5 O+ U) Q' L! Y7 R' E9 f' K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. e% n. f& e* f, Z , W8 E. x. ^ L; v/ }
} 0 F+ n+ @9 E0 S
}
1 x ^/ o, c- T/ c+ |/ ~' [! Ydocument.addEventListener('keydown', keys, false);
0 D8 i2 n( P6 F1 H: ]& mGM_registerMenuCommand ('Clean Hide',
2 C/ j; |6 h. V5 c( L& kfunction(e){
8 H u" \1 T7 }, xCleanHideObj.on(0,1)+ `* h! {2 q) n, s! f! M: E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* k9 r2 \7 h% O' K+ k- t- H( Z});, q6 d5 V! k. Q1 @* ^& q/ e$ l" C
|
评分
-
查看全部评分
|