|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / ~0 W: Z+ ], s* C
* z7 |% p' S+ p: i) ]8 h1 i; J6 R火狐插件,用猴子. f. A4 _1 R; ?0 F
8 H0 w& y! V9 a w0 h; v% T9 t, rvar debug=false; , k' e9 y! g2 @
var CleanHideObj=new CleanHideClass();* o$ y7 |$ ?3 B3 i" t8 v
8 |' h" w, C- I+ M- U' Z' Y3 F. \
function CleanHideClass() 4 E, K) i2 W( ^% T( T$ t E
{
3 x3 L2 ?4 W" J8 ?' e
; S* M$ y! S$ p5 \+ w" I7 t this.on=function(id,bMZ)
I: s. N h; M8 y" ]4 x I {
) R- z$ a/ r2 j% \4 ?
" H/ x" O9 g7 q0 z7 ]/ G if(id == 0)
4 L0 T2 | B+ p( q4 S" V8 ^6 ~" P {
- z9 ^. f, h( [ D+ W" V var page=/* document.getElementById("content").contentDocument */document; / D. N+ d; [5 l; A5 f
this.RemoveHide(page,"span");
! a U* j" X* c0 _, l1 V this.RemoveHide(page,"font");* M8 S7 k* } e$ `# T1 {
this.RemoveHide(page,"div");
- K+ R" k# r1 \ this.RemoveHide(page,"p");
5 M8 h! Q1 z' |; m, @ ( J9 [+ T& h% ^! g4 M' ~" P5 @" k8 S
}
O1 U6 t2 L3 P0 H2 E
; {+ `, e1 G+ ^$ [, G }
" X1 k1 o' A8 L/ S/ K this.getobjstyle=function(node,prop)+ l6 o4 u* S6 v; H, D$ |
{4 _$ ]6 `; x6 p4 d; I$ N+ }! y
try8 |2 g0 d5 p* O# S' P
{
9 M a5 ?# `! B* _8 t" h) H. ~ x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% _# @1 v, n6 l9 k& l) P
}
2 {% U; W- d, L* S) {5 _+ i catch(e)/ F; n! w3 w, Y# ?) O6 c: X, `
{" |/ z7 m% a* Z" i! a
if(debug)4 p$ C7 K* M$ V1 [
{
* C: e j) g' ]2 I* { alert(e.message);3 c* q W0 L3 B i
}; g6 I2 p2 V6 {
9 I8 O5 j& G) W- t/ g, O return "200";" `) Y5 r! i) t/ S: [
}1 l) n% m L; B- A5 Z5 ^: R: Q# Y0 x3 U
}+ f+ _8 q( c) ~2 j4 O
" h3 W8 @; P9 B, n
this.RemoveHide=function(page,objname)9 L9 q- s- |" U
{. r( s D# |4 A# ~7 ]* C( H
try
+ a: k1 t' j" q w. x {( m. c+ N9 b7 O
var minValue=15;, i" L( K0 Z! t9 x2 W+ x
var objs=page.getElementsByTagName(objname); , s. Y0 I$ d. J4 O R v( O! Z
$ Z# T V9 |" ?6 H if(objs.length == 0) , O: w7 P/ X: G4 [9 v
{) }9 [' L: }* x: d f* _
if(debug)
& r5 ?5 Y' m. {' C6 k {8 R, @' Q3 R, ^8 Y3 Q8 ?
alert("no object found!:"+objname);
! V8 A: M* V. a3 U6 j }4 \8 z+ R# C) N$ J# m' D
}
& n/ d6 v8 I. }. P2 x else
# E7 q" Y9 h* @& O4 ~; E$ r {
i/ G7 P: ^7 s7 \3 B9 v. w
" }& ~6 }( e; I/ d9 t6 R for(var i=objs.length-1;i>=0;i--)
' i! R5 Q' y( w {
! l n, p2 g0 d var node=objs.item(i); 5 D j" A* l, a! r9 v/ z2 @! \
) o2 V6 \& T6 T
9 l' _' {; \. @+ y' \5 S' i. h
if(this.getobjstyle(node,"display") == "none" ||0 E7 Y% w0 D7 X# n: L$ ~' U H
this.getobjstyle(node,"visibility") =="hidden" ||
: e% J: I* y+ {$ _& `5 \ parseInt(this.getobjstyle(node,"font-size")) == 0) 3 _, X; X) B9 f) i" S, u- W
{2 @# o5 N# U7 x3 F; [
if(debug)
8 I7 g$ U+ w7 g k( ?, l/ [ {
. V! h1 T# ? D# `! a alert("remove invisiable!");8 T! }7 F4 [9 F, G
}
& n9 I: ~$ x* e9 e) I- q# W node.parentNode.removeChild(node);
6 {) p, }1 U- x8 Z" a. x& Q" Q
H( `( D" i' x1 P }0 B4 z9 [' G# {: s: U3 I% m `: ?
else
1 n; p* s1 m% N! \. d5 \* X8 q {* I1 a* h2 G% t/ ]/ [
if(node.parentNode) Q- a9 z; ^/ H& ~" H* K. K
{
6 Z' c# M5 [* l/ j0 ] `- Y var orgNode=node;5 [3 s V/ l& ~
var orgColor=this.getobjstyle(orgNode,"color")
8 G9 a, ^1 q4 z var orgRGB=getRGB(orgColor);
\! o! ^/ _2 a' ]" [ 7 ^7 v( o/ J+ Y! g. R) |! V- F% [- `
var parentNode=node.parentNode
! j3 x1 @1 @0 z0 {+ M6 e8 p var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ Y" \6 X+ F4 h3 l8 g 4 n9 r) R& v0 ~
var isLast=false;
9 M9 o, n+ O7 m- l4 N6 s. b" z 1 Y" U0 c7 }6 H4 v! }
while(parentBgColor == "transparent")
1 f. E( |: {; |- c: { {/ f$ h2 F2 y( P6 s9 r7 U5 w
# E9 k) S. Q; E8 ]( S
* X( ]0 q* _* l8 Q! Q3 W
if(parentNode.parentNode == null)' D2 V: }* m9 s4 o* M, S
{
5 c2 |3 x/ J! J5 _' d3 r5 | isLast=true;
# i5 ]! R! z1 {8 q4 c ~ break;
; o; r" q/ n2 @7 G9 | }. s. m8 _9 Q0 r- L) G0 v, E
parentNode=parentNode.parentNode;& T: P9 C" V3 J
parentBgColor=this.getobjstyle(parentNode,"background-color");6 k3 N/ N; C% S% \. R
8 f5 W; i+ @9 p2 A2 Z+ H6 k
if(parentBgColor != "transparent") 9 e6 J6 M4 j+ L
{# V+ e7 p, t' r
break;
" I5 z/ x" W$ o, g _1 c1 C }2 {3 \5 r( H7 _7 z& \1 i7 `( w
}
% [9 s9 \1 A/ m$ o' }; Y% h if(isLast)
) R( o$ ^4 k7 k- l" T. o9 j' w# i4 r {# U+ k; u5 w$ @1 c' j% {' ?) [
if(debug)+ R1 ^. c" B; e' _9 R+ |% a
{' e k/ Z7 ?: r
alert("last!!");" O) v) D; N) B9 U+ y1 V" H
}
& T6 O p {6 Y; J, ^5 {+ E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% V4 C) H& h9 m: v5 c$ p. Z {$ G, S, ~; V; r9 R: \4 l) O' f
orgNode.parentNode.removeChild(orgNode); o1 c2 e, v6 v' G, m( u
}+ a1 S0 ^7 b) W: F3 e' n, M4 @
}
6 B6 B9 U$ ~5 [% a# _, r1 d7 R else
6 _# c/ ^8 i6 u+ r6 B( p# y+ | {
" \6 ?# u C; I% _$ N* `, b if(debug)
4 Y% _* m1 o7 u5 n, K5 w- | {9 }) m: W3 `# P7 S0 d7 |/ f
alert("compare color and parent bgcolor!");' |! j) ?" X/ _2 ^ [$ R0 ]; n
}
0 W( [% j& @9 p: a7 [ parentBgRGB=getRGB(parentBgColor);
9 [6 I0 D- P5 m( h( | if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' i) \/ ]7 w7 G: X6 Q
{
/ k" D. p' ]. e6 j2 l orgNode.parentNode.removeChild(orgNode); 1 K% l9 Q$ ^3 g
}& L" h# I% [" F5 { i3 N
}6 j) v8 J* t5 I. }2 S6 z6 p
}! g# D2 D! p& u
}
: _4 {" W, W- j }
& M; J' |, O* { j2 n$ a }
( X+ {7 Y4 \4 X% F8 h ! x' c# j4 T0 L: M7 i( E
: E! W( ~& ?! R2 p9 X; v2 a' I var itemFrames = page.getElementsByTagName("frame");
4 t. S. ~8 u6 n var itemiFrames = page.getElementsByTagName("iframe");
5 z% s( o. ]) W! }. ?: B0 g& Y ( M" E9 N6 L( ?
var frame, iframe;
, l$ k8 U7 d! o: U5 ]! F if (itemFrames.length > 0)
& M; O. @- h. K F {
+ K. o. Z$ v5 w/ q9 C8 X for (var i = 0 ; i< itemFrames.length ; i++)
! _/ _7 g8 Q& U% `% a" _ {
' ~/ V/ q# V4 M ^5 | frame = itemFrames.contentDocument;, _+ s1 Z) }/ l/ |
this.RemoveHide(frame,objname);
/ q* Q; x) f9 ^ S }
' \- |9 M' p! {$ f6 m" e; B& A }
* t! y' ?/ y& o5 ]) l7 e% J if (itemiFrames.length > 0)
; [/ j; N2 v2 E2 V {4 |2 c8 c- @' C! F6 b
for (var i = 0 ; i < itemiFrames.length ; i++) ) Y" P0 `: p% Z) G$ c+ ~' Q0 M
{
2 [- d% [) w1 N/ i0 A' e- [; L c iframe = itemiFrames.contentDocument;" r4 U4 S: O9 f4 V' V A- \& B, ?
this.RemoveHide(iframe,objname);
4 r) [5 i( Z, l' ~/ w# r4 ^& Z/ | }, P: O2 Q/ P" m
}
! j8 Q0 y$ F0 C0 j }8 Q6 q) k* h) J2 X
catch(e)" B. Q4 |" x+ n {) S8 f
{% L! z* f Q# F
if(debug)) A7 b3 n. ]' U2 W' M4 Z. F
{$ [' A! x/ p; p# B
alert(e.message); G, F4 Q4 O- w" |6 ^7 a
}: X1 W; y* _. g
}8 B$ k& H1 U3 n( y5 ^
}4 o- s+ k2 T% p
; |( ] X8 j: \& X- v4 |
}
+ h& \ C1 |' L! P0 A( {, [" Z7 q2 Z$ x0 p2 I! ?5 `* w
function getRGB(colorString)$ C( `3 E. {. Q" B6 @ a
{5 K4 } P7 C, K% f8 p2 ^- f, A- [
var RGB = new Array;
: h7 X5 D- q* w var tempSting=colorString.substring(4,colorString.length-1);5 L2 |/ S, w* f0 s6 t9 A
var tempArray=tempSting.split(",");
2 U8 g8 o! A* E; |$ g! c- p% P& p1 T1 h s
RGB[0]=parseInt(tempArray[0]);
7 Q9 X4 G/ ]/ U9 ? RGB[1]=parseInt(tempArray[1]);% L; d/ @! O. e5 u
RGB[2]=parseInt(tempArray[2]);3 f+ F$ q: x8 e. c
) s% g! r8 A, @3 j8 ]$ o
return RGB;
, Y2 k6 r# m& X6 a8 J2 s/ e, W}
4 g- }$ K. m0 e/ C- Qfunction keys(evt) k2 ]$ a d' v" E
{
+ F5 e. C; D7 E' _& R6 V$ [ if(evt.ctrlKey && evt.keyCode=="81") & u0 H+ U- a; }& x5 Q0 b+ o
{
! Y; ~2 q+ q0 u/ J$ H ` CleanHideObj.on(0,1);4 V$ @0 V8 {/ q+ b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' N( f/ V0 d* S+ P 7 K' t$ p4 r i& ]4 Y
}
2 \8 C; X8 C+ n; @ } ( g) N8 N* k. o4 `; \. W
document.addEventListener('keydown', keys, false);
3 k1 r2 w8 M1 L: t% \GM_registerMenuCommand ('Clean Hide',
$ k# B( B0 [' U; @3 f; `function(e){
& C, N( W$ [. xCleanHideObj.on(0,1)
/ w; j5 H1 \1 l7 H& w+ h+ S/ g) Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 e9 S& l- L& r. t});
5 N" n2 U9 ]( [; i F |
评分
-
查看全部评分
|