|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 e; I% V9 y- m; o0 f8 y- I& ~( ^. {7 k( c% e' n0 _$ m$ U
火狐插件,用猴子- |9 r/ v6 O2 S. ]9 F$ s+ W. d
6 ~. p3 F0 E! j. r z. ?# H1 avar debug=false; 6 h1 w6 B$ D' y2 B) d' o$ Y" ^/ h
var CleanHideObj=new CleanHideClass();9 h4 h. e0 _! E u7 \; v
7 h1 K4 t3 ]0 o/ Sfunction CleanHideClass()
' s3 n" F! l- ?0 a' Y{
. W) }2 R0 k* ^3 q ! B8 B/ d4 T+ n
this.on=function(id,bMZ)
$ n1 z0 c0 D. O; j7 Z {1 N9 h( I+ D$ K
+ b6 J8 m+ k9 Y0 w
if(id == 0); o% O0 y5 s1 J9 K/ g
{
, a$ B) S7 ~* U( B var page=/* document.getElementById("content").contentDocument */document; * v# J0 }9 e0 |- Q( S# Y
this.RemoveHide(page,"span");2 M+ M V& C( T( ^, ^: ]
this.RemoveHide(page,"font");" E' C! @' k# T
this.RemoveHide(page,"div");
' u, u, S, v2 t5 `% C this.RemoveHide(page,"p");
: K# u* ]9 I9 ^" G0 w' C 0 |) e4 r0 ? ]) b: \$ G# I6 a* J
}
' h* _0 M; g" K2 ?) t' J + ^7 u1 t) i& n* S7 c1 T" \. W% `& `
}
' K6 Y) ^! c* b y this.getobjstyle=function(node,prop)1 p0 N- i1 }9 X% t
{
* p6 h% g# y* ~. N8 f4 B. m& i try+ H3 H- }0 [* U
{
* x* ~8 }2 @/ `: _0 D7 \( ?) | \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 [, a @( q! |5 P' B5 [# H }
. i; O, A/ O# J$ U" k- R! G) J catch(e)/ H* W" n& `( K9 _: h
{" { k p; O0 f3 U; U
if(debug)2 M; I' Y+ {- d3 M4 S7 E+ N
{, z1 E; G7 e3 @
alert(e.message);
5 h5 D2 R4 z7 N0 z$ y5 |# x' b }9 X) m6 C$ q5 A, d5 X. a
# K! B/ z- Z% e8 _
return "200";
+ m8 u: h% j: |9 Y0 b2 y }- Q7 s2 z! y, `
}
: ~, {! a2 _; p" Y' b $ B$ q7 O. g# f; h+ n
this.RemoveHide=function(page,objname)( w- V; S4 f) o
{2 K' e9 K; X2 r- O# \( ^1 o
try
5 j5 U+ r1 v3 E, G1 _( @ {& C7 z! G/ J- |* W) K6 I Y6 L7 c
var minValue=15;
4 B: V E) ~) d$ o1 J var objs=page.getElementsByTagName(objname);
s* l, f1 ^; i& o
9 h" F8 R( o, Q3 o0 A# N! y( O# k if(objs.length == 0)
- T' L1 K" W5 B {
* Z C P4 E' K5 b$ r) Y if(debug)% `1 p. N v" l+ W5 [$ `8 @
{2 s o* {# z. f- M+ R( h5 f2 g
alert("no object found!:"+objname);7 s8 Y( I2 K( b: r! f, B
}
6 J: k. a; n' C. \. c }
4 C3 `- w2 d% t: o F7 ~ else
; `. q* [4 b q7 _1 l {' Q1 U" @* Z! {' S; _
& P7 P$ N1 ?& Y! `8 C" P! x for(var i=objs.length-1;i>=0;i--) 1 C2 @6 l; r) k4 v
{
6 d' m. D. I q" i var node=objs.item(i);
/ L% g5 }0 o) {
8 U: B# V' t, W& A2 U* a
8 r& z V6 @9 M& i. c+ T/ D( X if(this.getobjstyle(node,"display") == "none" ||
2 R0 p. _- Q5 v: v this.getobjstyle(node,"visibility") =="hidden" ||" D( B& [1 ~4 l
parseInt(this.getobjstyle(node,"font-size")) == 0)
, I c2 L3 i/ V3 M* C; h {
6 i2 H' q2 I# h, v1 G* X if(debug)
5 Z$ m4 C9 F( c% \( F( I [ {# _3 i7 C/ t7 v: V- v6 n
alert("remove invisiable!");
0 a$ D/ x( ^! J, Q' @/ O }
2 f1 P* d: H. c( v2 ]/ x node.parentNode.removeChild(node);/ N+ d) ~+ m% V2 W7 @: u+ L0 o% i
& Z0 B+ y5 Q+ y+ Q7 a6 K& h }4 I: Z4 V. h2 C' ~
else 0 w! @ v! q; {. z" n
{' w' l$ ?8 f# r- ~
if(node.parentNode)
% g8 L2 k$ ?2 } {
2 W1 G% u% ], N* ^. m3 l& ` c var orgNode=node;' v/ K# ?4 z6 ~, R# N
var orgColor=this.getobjstyle(orgNode,"color")) M; x; I1 u1 X" `& l* f, r
var orgRGB=getRGB(orgColor); , l8 F5 O4 {$ e \+ X# \
u7 h% d3 K9 q: F+ f; I3 V
var parentNode=node.parentNode
/ l) _6 _$ }* l: ^& R! W5 B' Z var parentBgColor=this.getobjstyle(parentNode,"background-color");- ^- I; X' N+ U+ s) o" n( ?
+ g/ x( ^4 {+ S* q6 V6 W! ~
var isLast=false;5 X& E3 h! h1 b h# C" B* \' s
0 j) C: z) l, Z
while(parentBgColor == "transparent") 1 W& G: @& Q5 ~# X# ~8 e8 T6 {
{
$ e: s- r* b$ F" u/ V
5 y+ ~, s. B4 k$ Z. O' E J+ Y/ Y7 s; u, W6 m
if(parentNode.parentNode == null)1 Z* ]1 ^& B/ H1 E8 I. _3 s
{
) I+ f) ?! [8 f# S. ^% | isLast=true;
4 u$ a3 e, c8 I" f w break;
C; C: x+ O! R3 i6 x) ]" A }
3 {9 V) f9 b9 f; Y parentNode=parentNode.parentNode;* X4 r% ^- w/ F3 w
parentBgColor=this.getobjstyle(parentNode,"background-color");
% ~2 I/ Q8 w- M! Y- w
% }4 i/ f3 X0 G7 b' y if(parentBgColor != "transparent")
/ \, n Z# L2 ^$ F' N3 Z' M {
6 q; E( R* d9 | break;
. ^8 c: ^" S# O }3 K$ G1 Q! Z# z7 i6 @1 ^0 K$ ?
}
" S9 R d. a0 L9 @5 R. }. F5 } if(isLast) ' V8 a7 s/ `$ ^
{5 z. o( s. k7 a$ u$ k# E1 G1 [2 S3 g
if(debug)
. b2 i; D# X1 M v2 k; t {
# {4 F' D& w4 l: g$ I3 z alert("last!!");
3 I$ L) W6 e$ V/ m2 Z* a: e1 v2 z }
! P) }0 P4 c3 ]: {% U if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- \. I, }( k* {$ }4 m5 G I
{9 I$ Q$ Y/ ]( _6 A" }1 {3 C1 Y
orgNode.parentNode.removeChild(orgNode); ' w/ G+ D* m" H, R" w* ]* G- Z9 k/ b
}
# t! U" r5 m2 J7 v8 {( d' N0 U }
H7 r7 q7 ]% q* L, E else7 b1 Z* \4 L; e+ H
{
5 K9 P$ _$ z5 s1 B# L- ` if(debug)
5 W5 r& t' _4 a {) W2 ~$ k1 C; B l" E) L' K0 G
alert("compare color and parent bgcolor!");
! y, M" `6 T+ W# J }$ [% O5 {- b$ K c8 N+ S
parentBgRGB=getRGB(parentBgColor);
7 A: m$ k- z0 M/ V* N" w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# H- ~+ q8 S, V) L" R
{# P9 A1 H* S& L3 _ `! N
orgNode.parentNode.removeChild(orgNode);
1 k4 ]1 I( p5 }: { }
$ [+ _3 `. E7 ~4 U3 u }
$ j* U. H2 X1 A' E% A. A4 o }
5 V% Z! X7 w6 Z) | }
& m( z6 Z$ Z4 S+ a }. v- P. ~4 f" X+ p) G, C" C
}
6 P; d9 _* Z9 d& e" f; o2 O
+ K+ i# \: M$ y" H
' h% C- d8 ]( ?& ]! W var itemFrames = page.getElementsByTagName("frame");& W; ?, Q+ k6 N) @/ [; K
var itemiFrames = page.getElementsByTagName("iframe");
) I+ h0 l$ Z0 O 1 z& h$ q8 @3 D
var frame, iframe;' B& T7 v4 t4 L
if (itemFrames.length > 0)
; B7 M1 `$ z+ ~) F% K2 J) f, d {
1 t% U6 N `6 |: f for (var i = 0 ; i< itemFrames.length ; i++) + [. |9 \8 l V c5 L
{
3 t. w9 N4 ~4 [" P frame = itemFrames.contentDocument;
% M, H' x; ^4 }0 y* h' e- ]8 g, N this.RemoveHide(frame,objname); $ P4 Z2 B P4 c9 ]
}
. h: U% i) L. r- X7 c" @ }0 r8 A' B2 h' ~# L0 o+ K
if (itemiFrames.length > 0)
6 f* n6 d6 ?. e$ t {; C8 e% D8 ^4 Q7 }4 R+ P
for (var i = 0 ; i < itemiFrames.length ; i++)
6 S5 S. g; t% L1 [: e' O8 @: D7 R2 H+ Z$ O {; i5 H" b7 `& v6 N' X" I
iframe = itemiFrames.contentDocument;
9 a# |# Q" r z% o; w this.RemoveHide(iframe,objname); . X3 R- L7 C) M
}( }- u( Y- l' \, H4 c! V
}$ T/ I- X1 P9 p
}3 A- V+ \0 j/ H( P2 [
catch(e)
# w; P' @2 G3 m' e6 R0 ~ {2 Y$ Y, q, O% [3 _# a/ a2 K# y* r
if(debug)% i# s+ I9 ^! i
{
1 ]$ q9 ]0 A7 X" c5 [# \6 T0 R alert(e.message);
: A* `1 d+ Q" ?- I4 D }
1 w3 ] Z0 S% H% O }; ^6 k/ s7 _/ e3 U4 @0 K" z
}
6 ?6 A( t, a6 O/ V2 Y! J* g' |* \) W
" p& J# W8 q0 H}" C$ Q E. o2 n6 p$ O j% g
; ^2 h2 }7 q9 J4 b3 b' ?& t6 m
function getRGB(colorString)( W5 h) P5 g: k8 z* H
{+ ^/ m0 Z2 R, C4 P6 R
var RGB = new Array;1 \6 t- F6 f6 G2 \3 P
var tempSting=colorString.substring(4,colorString.length-1);
/ `0 F( W4 ~" v- Q% [; ^. k0 \+ @ var tempArray=tempSting.split(",");
N" p: b8 ~) |( M" Q& \
9 W7 D N* Z- N9 I RGB[0]=parseInt(tempArray[0]);
9 Q8 g, F. p2 J2 `8 H' Y9 R# E RGB[1]=parseInt(tempArray[1]);7 _- C+ o8 `; o$ X7 U& T
RGB[2]=parseInt(tempArray[2]);
; R/ K* J1 k6 H( T& F9 `
4 ~/ |! a' S, K N return RGB;8 L! @: F& K( X5 N8 t/ ]
}
. c6 `* o$ [% {3 O# h F( zfunction keys(evt) % o N/ @* ^% e& o
{
; [) ?" S' v' U* ~" { if(evt.ctrlKey && evt.keyCode=="81") ' |- U* A7 R' J; {1 o# g& v
{
R* _- J* R" d4 l CleanHideObj.on(0,1);6 Z2 ?* }0 C J/ ]3 A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 d5 L1 _+ c- d
' J1 r: e& D3 s! O }
2 s" S) f; i Y9 p. X2 a } ' E0 O1 o9 y1 T' L- f/ _: x
document.addEventListener('keydown', keys, false);
4 ]" U7 \( N. ^5 Y' _0 pGM_registerMenuCommand ('Clean Hide',
$ U' z& N: L1 V j4 Pfunction(e){( g5 v; O: W7 f. v8 U" Y
CleanHideObj.on(0,1)
; U z2 `" @9 D! lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# C* L- q) a. n' x [& ]# r# g});8 P+ [7 f3 I) M% e. A
|
评分
-
查看全部评分
|