|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # i5 b2 ]( @- ~5 o+ P- {2 m' `
8 n) v" ?1 l* T1 u
火狐插件,用猴子; q, G ^2 j" `# \; {
8 G& ~. X: E; d% e# c, C. L9 Pvar debug=false; . q1 I: \8 b4 _% ?+ Y6 e: Q4 q
var CleanHideObj=new CleanHideClass();3 h, H9 C* w+ a- K8 C
" U3 k2 m" h" h- K
function CleanHideClass() / J! S) ?# G) E6 H+ v
{ 8 D3 I" |/ m8 |
& p( h9 w0 H+ {
this.on=function(id,bMZ)
: M# i. f: k- W& s) f. H6 U0 K6 F. l {
5 C5 b0 l$ f& f" d3 o( p
5 W* d9 X$ E- C. v6 y if(id == 0)
m) T g" ]8 ~6 d {
0 |, ^. m/ y9 w# c' s+ W+ L var page=/* document.getElementById("content").contentDocument */document; 1 }1 r' R+ f5 v2 w- Q8 c. ^9 q
this.RemoveHide(page,"span");2 w( a' y& v2 X4 m/ w
this.RemoveHide(page,"font");
( S- C4 X' s4 o+ W& V& T this.RemoveHide(page,"div");2 l j; b$ a' `6 g$ a
this.RemoveHide(page,"p");
* u* p9 @ r! g3 s0 E
' g0 @* e1 x+ S2 k/ n& Z5 y. j- y; z }
/ R5 M* t* @& K( l & ~6 G. a2 C8 d3 C! j" H* O
}% O+ C5 G- E& k$ m* p5 Q9 z
this.getobjstyle=function(node,prop)* A& D" L/ F5 } ^7 }9 z* t
{* ?! b2 p( D4 T; K. j- t
try6 t; ]/ Y6 H: a- M% s$ T
{: q! K9 F- t$ @" J. L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 O! W# x3 e, }+ o7 {! U
}6 U$ s% p- q1 E$ X( F3 E4 ^0 v
catch(e)6 U z6 y, E2 s M' r
{& x& X. T1 ^1 V7 F
if(debug)
; [; l( G3 @) C0 Q0 e3 Q9 p {$ L7 ~ ?- w5 |( v' `
alert(e.message);3 _2 q6 m: D" {+ Q
}
5 r+ I3 h5 L; R- c" q0 d
* ~& h% m, w0 u7 a4 \ return "200";
" c f" @+ d" i: Y; r }( ^$ }0 p+ L7 I
}
9 ~ t3 i" [' I5 r6 ~9 C' h& t : H- \8 o4 t; s, R+ X
this.RemoveHide=function(page,objname)
, n9 e! R2 C, z# W" k( w { c1 Y; p0 W! s, p
try
8 a4 b7 {$ v, k5 V% @ {
7 r$ Q1 T9 s9 ]- z" i% G; F! R var minValue=15;
! A; I V& Y- ]9 a2 H var objs=page.getElementsByTagName(objname);
, k( D/ J9 S- ?7 n. W2 {/ L' M" k
if(objs.length == 0) , k2 N# @4 _( H
{
9 D7 q# d7 e6 y# T+ p; K# m if(debug)
! R( s" Z6 @5 W: O# e {
; ?% \1 \1 _0 O. B. d7 m alert("no object found!:"+objname);, _) t- E/ Z/ W: U
}9 ] O/ b5 p" r8 R; {! m
}
* \ [1 D3 P9 n, o0 ~2 c+ c2 H9 T4 ^ else) d6 S! x6 G: z
{# U# G6 s. @; U3 Z
8 B b& `( L$ C: p W9 L for(var i=objs.length-1;i>=0;i--)
! T0 I1 C3 q% ?( i* K+ Z+ B6 J {
! u z) c) D$ e& F var node=objs.item(i);
4 I U1 W8 }$ i; m3 ^. C
& A4 l7 U* E% R! S0 w' m ! ^7 A+ g2 I8 E1 I" |
if(this.getobjstyle(node,"display") == "none" ||
, v$ _/ R. W7 S this.getobjstyle(node,"visibility") =="hidden" ||
\, Q e( f# X( K' |8 d parseInt(this.getobjstyle(node,"font-size")) == 0) B& L0 y7 D. }+ O- A
{
: ~ P& }/ L: C! I/ ? i3 b |5 n& k if(debug)7 J2 r9 B- D" L; S1 A6 P
{
) o# @0 w7 ~- b. l' v# L- K alert("remove invisiable!");. A8 [/ e+ o$ }; N2 z
}
% H' t2 A" u6 _& P# ] node.parentNode.removeChild(node);
/ b# D; F6 w- ^- ?' w . z& q2 `; _& U/ a
}
- L+ s1 y! W7 Q3 s else
, ?4 Q, a9 r" r7 a- `7 R8 Y' w {
# A3 F. A2 @, S if(node.parentNode)
% G$ V1 q d/ V5 D- G; Q1 a1 ` {. B5 r) y& X1 ~2 _+ e
var orgNode=node;
& I: Q$ p4 Y, c; H9 p var orgColor=this.getobjstyle(orgNode,"color"): Y9 w( {6 k8 e
var orgRGB=getRGB(orgColor);
6 Z. r- s( b8 U* {+ ]8 F+ m+ @
}; b5 X$ K( o2 _% ?+ S- c var parentNode=node.parentNode$ k; I2 t. A( A6 i
var parentBgColor=this.getobjstyle(parentNode,"background-color");+ P3 Y! p7 Q3 D k4 q! m" g) R
; d: @+ J9 m! V. ^/ q var isLast=false;3 j% ~1 [+ ], u3 O4 r8 W
. x K) c8 ^. F# ]7 Y6 x h while(parentBgColor == "transparent") + y5 ], e% @& f5 Z
{
+ Z- K3 ]! d5 z/ Z3 x. e 8 I0 f0 L$ G6 h9 X G$ Y, M
7 k+ N2 K' O. m/ p/ } if(parentNode.parentNode == null)
) `9 r" s7 \. G {( b9 D& A0 F" f
isLast=true;
% W4 I" ~1 V, s9 V" X# K break;
& H2 X' u5 D9 t$ C- B( q( O5 D* f }! |+ w$ M1 ~6 r4 d5 t' q
parentNode=parentNode.parentNode;
8 @! B+ w! E$ O parentBgColor=this.getobjstyle(parentNode,"background-color");7 D; X- ?+ B( m: X( v G
* }& S: ^) @ n2 }' d9 S) K
if(parentBgColor != "transparent")
1 a! F. V1 D! e' B {4 j8 L k, [. x2 [. X8 N# Y
break;
! Q4 C; R5 W, v: r }3 U7 A- J5 ^7 d. E
}
2 Y3 u M# v `# h" o8 ?$ i if(isLast) 8 t3 w5 o* c3 S4 [/ |9 j! v3 Z
{8 v" r0 U0 `: B5 @ j
if(debug)
+ k! H# o; ?, j2 b" |* U {
4 P: H: D0 \ D alert("last!!");
7 o7 q: n$ e6 c }
4 N @5 I3 w$ z" N. w' Z: D6 | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 ]4 Z& Y% w3 J! S
{( @$ k. f, \$ p6 J" r
orgNode.parentNode.removeChild(orgNode); 4 N! K7 L8 z3 K. q+ J
}* E: [* m$ n. U& B* b
}2 g. i' K) s7 S7 O* b: i
else
2 [+ g( y7 _- ?( m {
' e" N& Q' ~* _7 j+ y; x3 _- P/ f" `2 w if(debug)
. i: r' [ b, V( e6 e9 m/ O {! e0 J3 H0 Q* T9 Y3 `6 S
alert("compare color and parent bgcolor!");4 N' M) ~3 L. W+ n
}
$ |9 @+ {1 l3 k parentBgRGB=getRGB(parentBgColor);
0 u0 O. C+ p# G) {- _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! K: _8 ?; u5 x9 v6 y {
* q+ c. @* E* H6 O; ~ orgNode.parentNode.removeChild(orgNode); % t _' k$ @7 F
}
) F+ ^1 T# X; X }! _$ a1 t9 i9 F1 h7 s" f% N4 @5 t
}
8 |# k# o% [" ^! d }
9 t* M3 E! N3 D$ k }0 m6 C' C/ m+ @; {/ d3 n
}
6 A0 C Q4 G# X; a r
9 o( ~8 _/ P3 M1 P9 ~/ L
+ ]0 Z8 s) G& g# h) S var itemFrames = page.getElementsByTagName("frame");+ b' c* L% c% R/ F3 `
var itemiFrames = page.getElementsByTagName("iframe"); O j- d* S0 O5 }
) i/ W. K3 F- ?. X% n var frame, iframe;
" u/ {: p2 J8 x: v! L1 \ if (itemFrames.length > 0)( r2 x ?3 h9 U- G4 }. w
{2 a$ D$ p# u5 t- C4 b* R8 W2 I$ B
for (var i = 0 ; i< itemFrames.length ; i++)
, {( z; E% z+ D7 |6 n {
$ d6 s- D3 `) O8 g. m% x+ z ~6 O frame = itemFrames.contentDocument;
+ s# s0 K6 \( V5 Q" _ this.RemoveHide(frame,objname); . H. `- U; i/ u5 F
}* `, X1 B' T0 H6 F8 r2 O2 |
}
" m3 N7 o" k6 \% a% J' W& @& L$ D" u if (itemiFrames.length > 0)! ~. I. l" R5 Z
{
1 N5 d3 u/ b- `; K8 V2 w- G- e for (var i = 0 ; i < itemiFrames.length ; i++) 5 W" X4 t$ U6 ^6 d' D0 ]/ H
{
# [6 M, {( q' d# N) a x- ]7 o iframe = itemiFrames.contentDocument;
9 b' p" X" M( m1 z this.RemoveHide(iframe,objname);
d7 B" B" ~- }6 j; o }
' M$ |: h0 k" w7 H* m }
# ~$ O# x. Q% c, w, Z& E+ d A4 u4 { }7 ^( Y D! i5 Y, T
catch(e)
* d F2 h: S- ~* Y6 G6 V3 m {
x: K' Z" r2 G8 i9 D# e if(debug)
1 i! J j6 V9 n1 Y$ E {2 C8 A9 j; u/ a/ l( j
alert(e.message);& ?* M5 A4 t& {0 y8 i" N
}* N* @/ F' M8 a& g
}4 t) K. m# ]/ i( x3 Y
}
1 B/ N' i1 i' @! O
- x# W3 D' R) L0 B" E, n}6 Z9 g6 G! P2 @( W" G+ N
; y1 B5 ? L5 C1 Zfunction getRGB(colorString)6 v6 U: `* ^7 J/ G: f+ B y
{
H- T& b8 o6 u, ~. n! b var RGB = new Array;8 I9 d7 b" W; A1 m i S l$ V
var tempSting=colorString.substring(4,colorString.length-1);
& L1 O. q _. a# }1 _# Q var tempArray=tempSting.split(",");, `! g0 B/ j* P. i% r" h
" k- t4 m0 R; O' t9 x! a Y RGB[0]=parseInt(tempArray[0]);
4 \$ _ h" D( n& l6 D! a0 a8 {5 h RGB[1]=parseInt(tempArray[1]);; B2 `3 A2 }& H
RGB[2]=parseInt(tempArray[2]);' \; {& J1 Q9 |+ i4 c$ m
! g2 }+ I9 `1 C: w% ] return RGB;! I) G% g) X9 Q- t
}
3 ^; A. G1 t1 P+ lfunction keys(evt)
& k X4 f& q: x4 e; _2 m$ G {
1 T. s4 S& O* m if(evt.ctrlKey && evt.keyCode=="81") + |% \. ]$ x$ H! U* y
{ : l; s4 q! o" w& U7 Z7 ]
CleanHideObj.on(0,1);9 r7 ~5 D9 E+ _+ e; ~( s( l2 @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* u% A3 G3 `* S/ P+ Z! e
! x3 d3 U6 q3 ~7 t& D# B3 C3 H5 i } ; W- o J4 [- x3 _8 |' d; R
} C5 z' S- m9 b% {
document.addEventListener('keydown', keys, false);
! K! A4 q8 i% }) s* QGM_registerMenuCommand ('Clean Hide',/ |" ]. V! l0 J2 {9 {
function(e){0 w8 _) g9 [! h. ?
CleanHideObj.on(0,1)8 U+ p7 Q" \' m- Y* w* h' ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# ^7 Z; v6 ^5 q) Q/ t* s5 e! _" W+ {9 a});7 j" u) t% J& N" q; e7 e
|
评分
-
查看全部评分
|