|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 C9 N$ n9 n0 R: o: @, b; \
! g9 i1 R' k% N3 |
火狐插件,用猴子
5 t- G- \- S( k8 \6 e5 w, e3 S) |8 x6 h; Y% o, M
var debug=false; " K" q. d! i S! X3 c
var CleanHideObj=new CleanHideClass();0 D/ y8 U& j' l5 D8 [5 s# P8 P
2 e4 r$ G/ g4 g6 T
function CleanHideClass() ' n& M) N' r( _3 }6 \9 Z& o
{
+ k6 K5 [5 O8 Y: p * B1 E& ^ u- S$ D$ _9 o2 |8 [5 @
this.on=function(id,bMZ)
" U) C' D/ x) m) G( Z {
: W E; h4 Y: h - b6 E B* n, Z% k5 n7 k8 ^+ K
if(id == 0)% |% L! v( ~' f
{& o( X$ ]. H i! m+ u0 t k
var page=/* document.getElementById("content").contentDocument */document;
* o, d5 M; ?% L( S- F this.RemoveHide(page,"span");5 O, v6 q$ ~6 K8 e/ }6 g% v; k3 v
this.RemoveHide(page,"font");6 F" S* I3 F. J9 D$ W- B/ |
this.RemoveHide(page,"div");* s; b0 j7 s' l* v9 u
this.RemoveHide(page,"p");
$ l: `& | j# c7 y- x, Z ) s+ v: L6 M8 p$ R* Y$ C
}
' ^/ C O# k0 h6 R8 f: l
& c5 L# n3 {/ n! H" I+ J% a }$ z5 G/ X$ e! {6 p: r
this.getobjstyle=function(node,prop)& a/ b4 Z7 d6 | W7 S
{
5 }, `# r1 f9 Z( S& e try7 t/ S2 y2 w9 G, D0 N
{
3 A' c/ z% F( c7 I- @! S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 G9 q/ \6 _$ I8 g
}, E$ f% a! s2 m- D% q! y8 u# c5 V
catch(e)
# p- c; d" H G- d" X( R) X' B {
8 G y% ~" h! [4 R0 N( ?5 r if(debug)
1 m |' M0 r. }. S. _# \ {
: R% u$ u" C# s; p0 g alert(e.message);) \8 ?# f' w& X2 l! E2 K+ ?
}- N* H7 H) `1 V/ ^6 c ]2 y& Y
4 P8 w5 y" F& S& d1 ~
return "200";" g6 o: }9 U4 j/ F0 {! K+ n( B" ]
}
V! T$ b# G" }, e }
z, c, b3 i6 f# P& m
: H3 C5 l: C; ~' _4 `) f this.RemoveHide=function(page,objname)! Y# L9 f8 Z+ g5 o7 _8 I1 }
{
" ]9 Y5 X$ Z$ Q4 S4 d9 T/ P& _ try4 ^+ W; g" S4 U: x
{
* m" X" F( s" E, y var minValue=15;
6 ?; t1 e' L( R6 q var objs=page.getElementsByTagName(objname); 9 o9 F+ c9 e6 m9 [ _/ N1 j# p! }! u
. r0 u1 J; p2 W9 C
if(objs.length == 0) / q0 L% r. w. y" F
{
7 @& _$ P9 W7 `" r4 b if(debug)
. W8 J: {7 @4 o5 b& C% ] {% n% P4 w: M/ g* b, j
alert("no object found!:"+objname);' o4 }, { V8 H) b0 e4 ?* T
}* P' y- i( O$ V& U/ a! U
}4 h1 D; Z3 P% |' ]
else. c% N9 z9 E/ E5 g+ j' S8 H g h
{8 B8 X" I- A. ~; O5 i* ?$ l
. ?' y: ~# F( u( Q7 o3 Z
for(var i=objs.length-1;i>=0;i--)
; i6 V1 B, o5 {1 i2 H {& \, D- X- u: t6 [. h7 h" Y
var node=objs.item(i); 2 b% d9 g# y9 \# w% t1 ^
, c- L- M: q3 B8 a8 r
) E. n1 f' n" Q if(this.getobjstyle(node,"display") == "none" ||
* g$ m2 F8 e7 l; t this.getobjstyle(node,"visibility") =="hidden" ||& c9 f( Y4 N. ]& @. }$ X: U
parseInt(this.getobjstyle(node,"font-size")) == 0) . U0 Z& v0 [( g1 j
{
- M7 J M- M! S& N* } if(debug)2 |, a' D6 |/ S4 T; P, @! G
{# z% Y$ F/ c# R, }+ v2 w
alert("remove invisiable!");" W3 G$ O0 h+ z' [6 C. ^+ J3 C& |
}
% P- w) a. A0 R* `+ c3 J6 B node.parentNode.removeChild(node);
: l; ?( G1 s4 E+ O) t" t 0 ^; X* E! n5 V$ F
}
' f4 j$ I4 ~3 X4 h else 8 N" G" ?! S# h+ i( o% J
{
/ c% R% s* {! f' J! ] if(node.parentNode) 6 z( L2 z& \4 ]- Y$ k- M; V
{
1 `9 o7 d' f: E% o5 x( C* M" ~ var orgNode=node;
2 h8 e6 r2 `1 F var orgColor=this.getobjstyle(orgNode,"color")
% ~: @" _2 U0 A( V8 {5 } var orgRGB=getRGB(orgColor); 8 {; j9 S* j5 d5 x8 C% k: ~! @
+ E& S5 }2 g) P1 p- V F( L1 j
var parentNode=node.parentNode
# l" ]# C& @% f9 A6 Z- s var parentBgColor=this.getobjstyle(parentNode,"background-color");# {8 Z2 \5 V2 ^/ D" \
0 v# [% Y5 v% G: k& V1 Z5 r: l
var isLast=false;
* ~0 V$ p* m2 U, F, \$ b `, d
7 L( w5 D5 J6 X8 ` while(parentBgColor == "transparent") / L. X% O% n; s, w0 m! h3 i6 h4 ~
{
! {7 f+ k) ~) P3 m; v3 }* O
) E8 V5 P4 H% L( {7 B
: e( L# M, V3 d7 B; Y, {+ w! { if(parentNode.parentNode == null)2 M& L C/ K. H
{
) R4 H2 x' V& [% a* e- y3 f2 T4 S isLast=true;( i; a3 T0 k1 y& G
break;
+ R0 R+ I: A6 ]2 ?- a }
# T/ k/ J5 M* L8 J2 m- K1 |+ E parentNode=parentNode.parentNode;; `* u6 E. }2 |0 |2 P E2 g6 N
parentBgColor=this.getobjstyle(parentNode,"background-color");
' P c- S2 p, M1 P, {+ H" c
! o! ]* U- N: M ~) e if(parentBgColor != "transparent")
: o ]- k9 i. @; c. S* r! X {
5 k* i6 ~6 d# m; d3 Y4 d break;0 d5 f+ E; s1 F* Y8 N; m
}( P+ n% \ o# E- C. G! A
}( ]( L9 q/ |- H! r
if(isLast) $ Y! t x/ @1 @5 n# ]6 J
{
* h2 f3 z- `+ q) @* r5 R1 O l if(debug)& ]& B. k5 H- B( j& ]9 y8 r9 B
{; X5 P' `- d8 s
alert("last!!");2 }% l5 ~( j g& K. H8 ]$ u" X
}
$ r+ e) z) F3 \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- k% K1 Y6 i0 b v9 l- e) O/ g6 c2 N {
$ A$ l1 w( \9 ~# r8 |2 ~3 Z4 o orgNode.parentNode.removeChild(orgNode);
2 A: n, d/ X3 H }
8 \0 V" c' P/ y3 b4 I" p }
4 p9 T7 E7 ~6 E- T& Y+ A/ r P# d else8 k2 B3 `% N3 m2 e8 r
{2 |7 Z- s6 K: _9 b
if(debug)
0 M( R4 L d6 T! h! \ {* i ]7 G. x! Z0 @! @. u3 q. E6 e
alert("compare color and parent bgcolor!");
( T2 B2 Q0 }4 t5 t& B* j# J% J9 y }
5 C- J3 x' Y$ I+ P5 m. L1 \ parentBgRGB=getRGB(parentBgColor);
$ ]3 j- e1 Q7 {7 y' h1 C5 s- [! ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), u( G- }6 U5 b
{# p( `, d% \5 t, V( Y! H
orgNode.parentNode.removeChild(orgNode); 5 N! R; D# S0 r" \) V& s
}2 m, H N$ ?+ Z8 q0 g: Y
}- i/ W2 E" h+ U2 n( `/ N$ `
}* \9 \- o4 y b% p& }. h
}5 j$ u2 M g# ~- ~3 P# o9 N) [
}# L! A! C# H) U7 a$ K/ l4 F
}* p$ X4 p2 ]! M3 X: o" T a
& p/ Q; ~# g! B7 J: t1 ?8 @* D9 w
+ w0 D$ v) h2 q
var itemFrames = page.getElementsByTagName("frame");* p' Y2 ?4 W( S7 W* L2 B/ K+ U
var itemiFrames = page.getElementsByTagName("iframe");& e" N" t. j6 L& v* O4 p
0 h! x0 |7 z5 c0 e
var frame, iframe;
1 _. u/ ?% ]% u2 D0 H. t if (itemFrames.length > 0)) Q) p+ Q# R) J4 X- t. v- n2 c
{
% e3 T" R+ \+ s! `' q G for (var i = 0 ; i< itemFrames.length ; i++)
}# c& ?8 I. C5 y' ^ {
7 H) {. A& W; J r/ I# C0 B frame = itemFrames.contentDocument;
/ o1 s. }% z* Q! t g1 `, q this.RemoveHide(frame,objname);
4 \) ]5 c9 v4 |$ M7 } t6 M }
8 h7 y# ^8 p: M, I5 M: i }
( [4 N( g6 h1 G4 @1 R" g3 r if (itemiFrames.length > 0)& M( Z% W0 t' m3 M- J$ o9 H
{! t4 x; q% i7 W( X D% \
for (var i = 0 ; i < itemiFrames.length ; i++)
! B. n* _5 G9 J2 W# v; B {
1 F, W" U6 `; l, z [# L& r1 I iframe = itemiFrames.contentDocument;3 |1 v+ A/ L8 T' L* K( _
this.RemoveHide(iframe,objname);
{# P+ l+ M8 {) h }) y6 |9 P0 y. o
}% N" T1 |5 L; P; U
}
/ u: b: ^6 d( O; K9 K8 x catch(e)7 ^4 q2 Q- }+ T. g9 C9 n" i
{3 X6 d+ O' f4 `) C7 K% ?, W% t+ C
if(debug)
0 h6 O" s. x7 l; d: a {- [6 E( v' j+ O
alert(e.message);6 ?: h- N7 i% [9 Y- X0 u; ^. ^0 [
}$ l( f# b0 K4 W9 j
}
% z9 Z. j* E' o' P: }6 {, Y8 _" V$ z1 ?5 Y } e9 x: C. G8 n0 `0 ^
8 Y, F1 c! v. N
}5 f/ |# Z7 E: R- y5 y
5 I$ ?$ M$ N4 O
function getRGB(colorString)
) b$ T" a0 f; Q{
7 G! |* d7 s5 r% o2 ?5 R var RGB = new Array;
, y3 B) q6 b0 e1 c var tempSting=colorString.substring(4,colorString.length-1);& R& V U; `5 d2 f' ]5 n% n) h
var tempArray=tempSting.split(",");/ i2 i0 X9 R1 A6 w( q
% |- Y" i: S8 V1 {; K RGB[0]=parseInt(tempArray[0]);
! w+ V# N3 G6 _1 p7 c1 Q! O RGB[1]=parseInt(tempArray[1]);( Q% N- f" }& W' m" y
RGB[2]=parseInt(tempArray[2]);
6 r. I: _" M" f* @+ a" _1 y
' o% |- r) {; q6 x return RGB;
' U5 _. I: S+ u}/ T3 w2 e! U7 Q9 m! M% b% k
function keys(evt) 3 T, C! s' {& g
{
7 N8 \) I7 G, {1 l if(evt.ctrlKey && evt.keyCode=="81") - S( p: G, Q# n& q3 }3 }
{
! f( h7 }4 N1 s" T3 |, X$ c CleanHideObj.on(0,1);7 o( f! y1 ]7 f% I, b2 x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - O4 ~/ \& A, q2 o/ Q+ P2 _
- P8 |' _: e- V4 u# |% s6 R
} # ?: Y' M: z, e# M5 g5 l# ]# v
} {! K" M! Z. T3 W" z- x6 W. |
document.addEventListener('keydown', keys, false); ) U1 T( s9 ?; J: i% F6 W
GM_registerMenuCommand ('Clean Hide',( D+ A9 g& ~, ?! X- y& [
function(e){
# i' H( T0 _9 _CleanHideObj.on(0,1)$ }" T% |2 T! c9 ~; X3 G+ W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- ?9 V- S" \) T5 P});5 c' h* ^0 T: r/ x K, |
|
评分
-
查看全部评分
|