|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) J" _( g5 |) [6 n, R
$ F9 W: d. [6 ^' R8 J火狐插件,用猴子: {3 d: Q) \. _, Y! n
n# G% k6 e+ _4 L- ~7 |* B* t
var debug=false; + D7 G- w& n" X* G& T
var CleanHideObj=new CleanHideClass();
( O" ~3 N K" d$ I$ t# i5 r# e- w
- o7 w# \* }" f, Tfunction CleanHideClass() : S U) F0 X, O9 K1 l( b
{ 7 r$ j' d+ N9 i& }8 s* J, v$ {
2 r" j; Z+ m1 p, {1 W4 U this.on=function(id,bMZ)
+ J) x" h8 g0 U. U {
7 w" e3 ?; I) k/ Q5 G" r( R( V % P4 c u6 a8 N; Q$ R8 ?3 }$ Z2 ?% t
if(id == 0) g( B& r5 @: T ^' b
{
1 U) r7 M3 N1 G! k5 W var page=/* document.getElementById("content").contentDocument */document; / A& p- A+ ^9 c/ j
this.RemoveHide(page,"span");
9 Q8 l+ q: n, k4 e2 w3 N( D5 i! Z/ b this.RemoveHide(page,"font");
& @' |9 L6 @: f$ A& k$ Z this.RemoveHide(page,"div");7 P; H, r) |. L0 s( g: [: `# p4 \
this.RemoveHide(page,"p");
; [7 Y3 {) {* E. k( A" L
5 v( R" I' o+ |" j5 R5 w }
0 u/ N p7 t; {* e$ _ ( ?4 Y2 c- G0 }( I
}
$ N" h; g o" R M$ A/ V, L$ \ this.getobjstyle=function(node,prop)4 ~! c3 J$ [. c3 Q! J3 s% U. p
{
G) {' b! N# p) `9 T try
1 h" ^5 o9 j/ z' ^( W- y {
m5 T/ ~2 X! P) Q2 Q! M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. {; F! O% J2 D& l
}
0 B( M; G" r6 g/ `( m# f: y catch(e)2 \+ J4 ~" ?( @: S7 o V7 S% m* ]
{, m& \2 }2 Z4 u, _) f- k
if(debug)
; ~: r$ h+ p8 s$ \, V# Y {3 x# z; A' n$ r$ @+ E/ P
alert(e.message);( `9 v$ j* r0 e
}
) R2 h! |/ V6 N! P4 ?7 O
& R5 I6 s; ]7 S; j' n return "200";
6 C0 p( ?" f) S% X. ? }) g' d$ N( x$ s- ]4 ?
}) W1 ^" T. ]6 l& d3 l& W% l7 z
2 u6 u3 c4 L+ w+ p
this.RemoveHide=function(page,objname). s' z: n- K- O/ X @& N# U
{. [8 L9 K6 P$ b; n4 J n% W8 _
try7 n, ~0 A* Z6 o: D. A4 X2 o
{
9 R* ~/ k3 R% T var minValue=15;
) a+ L5 E) O% c var objs=page.getElementsByTagName(objname);
- R# r/ B& H% p/ p, W( t E& b5 J$ v3 {* U
if(objs.length == 0) / f0 Q. t4 W$ r
{
# d! z" Q$ F* Q if(debug): i& ~) @( r) v6 } x) G: t
{" q8 w7 s, F4 C" s3 h L
alert("no object found!:"+objname);
+ H# r1 n2 q0 q1 y3 D; J }
. t& a' Q% u) T( W$ E3 n }
3 P, J0 Z# ` u else6 [$ G# d3 u0 i9 _% U9 g
{: n! s2 b4 Z6 ?- W3 h% n J2 _
# o- @1 x! [, P# z! Q for(var i=objs.length-1;i>=0;i--) 7 k' q J! }7 H) Y2 Z+ ~" E4 b3 n- K
{
( V$ m' ]- I3 i8 R" M var node=objs.item(i);
" _& {! z! z. A9 l- r/ n % @% D5 Y0 L1 b
6 x0 A- L5 J) B: `3 J1 y: O
if(this.getobjstyle(node,"display") == "none" ||
: H8 {. `. W# m5 q this.getobjstyle(node,"visibility") =="hidden" ||3 E* x3 h( C% A; c% {
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 m U# W: x8 i. z) l
{
8 i5 P5 t. z& x8 a* u6 b3 x6 n if(debug)% \' ]# W% O! f% A* n- f
{
4 Q3 D2 a5 o M/ ]2 q% g alert("remove invisiable!");
) P4 L4 o1 V3 P- D8 s; ~ }* J7 a0 u9 Z6 q
node.parentNode.removeChild(node);+ Q, O% N0 K, Q, U* S
; \6 O! K. S9 T
}/ t g& A% x* ~: e% C
else
, w/ X- h4 d Q. c {' N9 H9 }$ v$ c& W
if(node.parentNode)
/ C2 U! L+ n( M- K6 r. Z, U {
+ x. f, I% J2 m2 H5 L' v ?! w! S var orgNode=node;( g" N: s; A" e* y- T( b
var orgColor=this.getobjstyle(orgNode,"color")
* ~6 E" L2 q2 Z var orgRGB=getRGB(orgColor);
( X* O7 U0 S! V |, r( A1 L
: G2 Y* w- r6 G7 C" H var parentNode=node.parentNode
7 K) T( w! P4 `) K var parentBgColor=this.getobjstyle(parentNode,"background-color");" P6 t) x) S! D7 k9 _9 K! m0 K
! s# }5 b% h( d# _' a var isLast=false;. C& ^* @$ k, q
2 z) f3 }8 X0 P( G3 n
while(parentBgColor == "transparent")
& j* h0 X& P. ^+ E& S) W {
9 u/ N! V6 w# c4 ?% W% G! f+ S 7 @0 q8 C2 x3 G/ h
4 F1 P+ ~/ D' h6 N4 n/ z) g
if(parentNode.parentNode == null)
% k2 g) Q' Y5 F. ?7 o { U' e1 A: |, R8 n/ f( w! G- U& j- Z
isLast=true;
9 V# O- C6 L( Z9 q" E+ L* ]2 z' t5 Q break;) S% d" @$ h7 Q
}6 W0 q7 R+ J. G+ M9 c7 ^5 Y3 p3 ^
parentNode=parentNode.parentNode;: @, g s) _1 `( h# N
parentBgColor=this.getobjstyle(parentNode,"background-color");1 ~% L; K: }* G$ W2 O/ C5 T a. H! b
# f1 q8 }: o# A( g' h8 A7 A4 J
if(parentBgColor != "transparent")
2 Q' n+ G* F1 h6 z7 e {& w s0 A, e" b' S8 a: f8 d
break;
0 P$ c: _+ ^# ~- V, v }' [* S. I! k5 w- o( x! y: \
}
* s2 [5 O- y5 d9 w: R2 k if(isLast)
1 H# _1 p& P7 H% H5 B+ y% G {
: o" Y; o0 g+ O3 M. w if(debug)0 `9 D% \& Z* K6 d; D% R3 m
{- Q( d* l/ J- n6 t- [- R' O7 k: H
alert("last!!");0 o8 `( L$ C, |1 |7 o
}7 d" i1 @; v5 c2 b: C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 W1 w, S$ ?+ e, Z
{
z/ `" y" M3 j. A& j2 b orgNode.parentNode.removeChild(orgNode); / w: F3 e l" p' B
}
+ {+ c% i# Y4 s7 J3 I* @ }+ U2 q+ ?3 i! g3 Q2 ?0 ^
else# S0 W" h H1 e* X
{
3 m) |, m a, @$ [4 I0 Z" ` if(debug)2 [& }$ P; Q7 ~: n" _6 ~8 O4 R& j+ s
{( l% \# _2 j" P
alert("compare color and parent bgcolor!");: l1 V# D/ Z5 w9 y @/ O
}
/ U9 x) {6 @& B: n( [ parentBgRGB=getRGB(parentBgColor);
! M" l* }* a7 {, ~ T" y) x4 h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): s% `/ _8 I( I% y
{- _& h& M ~6 b" R) A
orgNode.parentNode.removeChild(orgNode); ) |) U0 g) n; i) w( E& W
}2 R* Y' Y5 w8 n8 w- h7 l3 ]2 c
}
5 i0 N! C3 ~* a. b' _9 c- K }5 E8 ?% V! B1 ?
}! I. h# G# m. Q4 ]6 q/ k
}
( l0 v: A: \4 T5 o }1 T2 k( \% C% q6 m
4 _8 T8 s3 h6 v! i/ \
1 L, u& k# N" ?/ \- ]1 Q5 Z6 z var itemFrames = page.getElementsByTagName("frame");& g. U' c+ D6 i
var itemiFrames = page.getElementsByTagName("iframe");
: Y9 `* M; j/ `8 P 1 @9 h7 E7 _$ Q
var frame, iframe;, _, P6 h) H% L& D, C
if (itemFrames.length > 0); y7 [7 l3 r3 k2 E7 J# @8 z* E4 A
{
) v* T S+ d0 L! e# X6 W for (var i = 0 ; i< itemFrames.length ; i++) 3 J, _8 G, ^/ X
{
[4 S% Z' q$ h+ Y2 l2 @ frame = itemFrames.contentDocument;
, D' d" K( V9 d this.RemoveHide(frame,objname);
4 S1 \4 k4 W5 ` H5 x } {$ P1 m f: K
}* r( y" f2 x. t f$ i: L# S
if (itemiFrames.length > 0)
0 L2 \% ^; {" j {
* s0 I* n- Y3 x2 j% h" T- u' } for (var i = 0 ; i < itemiFrames.length ; i++) # _) ^+ z7 }6 k" O
{
. _1 T; l3 v8 r iframe = itemiFrames.contentDocument;' }) a% Z( Y2 @% R8 [
this.RemoveHide(iframe,objname); - Z( D# I$ I! \& d$ k% N# a
}0 x) i' U3 v8 ^: B2 }" z) z
}
- z$ F" z6 ~+ Y( r! e# v }7 q* F' J6 b5 t) s5 F
catch(e)
. _* l0 I' K$ ^! R( n {1 R h9 V2 b3 i
if(debug)) Q; |0 k4 ~- _ i' Q
{3 ~' K$ y% v& J" y; o7 U
alert(e.message);6 ]+ L3 {; `" H: k
}
3 R+ s3 @- ]( j6 L1 E }; T, z/ N6 t* r6 W d- S# [/ Q
}( p0 b& O. y8 W' p- o6 |. D6 @5 \
% p; O* \0 G- F1 {" D& n' f, c}
" j: w0 `, x0 X) t' Y3 Z& ?* O1 @3 E- p6 @8 K& w* w1 }- ^
function getRGB(colorString)
8 g/ R( {" g* E/ g% j{
7 l6 x' x1 [& `0 I7 |/ [% ` var RGB = new Array;, `+ F$ x+ @/ Q6 @2 O
var tempSting=colorString.substring(4,colorString.length-1);
; U$ s$ I: I. g/ u! _ var tempArray=tempSting.split(",");% i0 R t7 N5 u# H
# q" b* D# L, m6 i, k8 h( J3 M F RGB[0]=parseInt(tempArray[0]);1 A& \/ B. V# J& M- p1 Q. T3 u
RGB[1]=parseInt(tempArray[1]);
. ^! m- K+ ?0 I7 n% k2 b RGB[2]=parseInt(tempArray[2]);
8 P3 Q9 H% _" s7 n- c& U
: Q4 {7 [$ O: K5 @8 Q6 O3 O% f( ^ return RGB;
% r- y' ^1 A/ w3 Q8 k}
2 l! X" T& X6 Z& }6 q7 H5 gfunction keys(evt) % l* p' Z1 J5 z. Y5 u9 W
{ 7 O, P* U8 Z$ T/ i6 o
if(evt.ctrlKey && evt.keyCode=="81") & Q# A# D, ]1 _4 n1 i, `
{
0 e1 z! Z$ j, n+ f2 n D$ \ CleanHideObj.on(0,1);( l" J$ J, ~5 y) ]0 C) i5 X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: V! x2 {0 p: @* | y# B7 C
" }& c. u/ f2 a2 u }
/ _& |8 H. u4 K1 y! [: V1 U( S: ^8 p } , O; f; ?, x% k/ H; }
document.addEventListener('keydown', keys, false);
: r- V2 t$ _9 P7 {. |GM_registerMenuCommand ('Clean Hide',. q& ^2 }+ @7 I- G0 u
function(e){$ T# K, d, t7 E0 Y* Q: x- O& N. B
CleanHideObj.on(0,1)" p6 p* @5 \" ?" c/ H1 M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 N+ H& J: _! G5 [; }});5 C& f* G4 F/ \, y$ E- Y
|
评分
-
查看全部评分
|