|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + _3 Q# i( t6 E( ?: G2 ]# }
/ |5 {; W2 p+ o8 q3 \( y* X火狐插件,用猴子
. E/ m- l1 f: L G
! g! O7 f$ H' S" t! Y) ]" Xvar debug=false; 2 p. m @( C g
var CleanHideObj=new CleanHideClass();
6 d0 ]# w7 D b# s) n2 m* X# |0 ]: d& g
function CleanHideClass() % W# G" j! }! i: c, O& W, }' R6 J
{
( k6 s5 X% S' p+ S3 ]3 \5 ]2 `. y
* v: [0 M# V: K% O* O6 S3 v this.on=function(id,bMZ), S* v& B6 T' c: P/ _4 i
{
# L1 I( n4 K9 t) S4 ?. ?
) l" O/ h+ j2 S) {3 m8 ^ if(id == 0)
" d, [8 Z) J3 a. }7 v( l' i {
, z) k$ }3 y" e! ^% v var page=/* document.getElementById("content").contentDocument */document;
* A4 v2 E9 u& C this.RemoveHide(page,"span");7 Y: M9 Z9 f4 q
this.RemoveHide(page,"font");+ Y5 n% G/ ^3 z) {( {% ^
this.RemoveHide(page,"div");% y; o' d# l1 h( n* L& D G3 i
this.RemoveHide(page,"p");
+ s3 L6 [; d* m* ^5 J, f5 i
7 i+ @' `1 w- P' S- } }
; Q% ]7 u' a' t7 ^* ] ) T5 c- H. G. f' g
}
, N! e% o4 N) i$ A- I this.getobjstyle=function(node,prop)5 n% f& M) o9 Q
{7 I5 H6 G! d4 X0 v# w# J
try& m' q+ z8 \& J1 K9 {; }
{6 c/ U3 ^# ]: Z- c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% s6 ~+ n o9 Q0 _& D$ I: d% b }
, j4 l5 c, C' Y: N$ n catch(e)3 i+ G; _# m, N4 e
{. N( a7 @" L& t6 H) T) d( o
if(debug)' G' F8 e. J; O" m ]+ s A
{' W% C( |+ h0 T3 t
alert(e.message);
# _7 b& `2 j7 m. i7 p }
; Z7 W/ q6 o9 g. |1 H" _) ?! A4 {
+ z; V3 V1 Z- A3 w" ?' G+ [: G/ k return "200";
! U! W) u }- x8 U }
! }& R$ B% W" F' `* b }9 ]# t$ {0 j* ^) J( i
: r- X9 @- v$ t1 E* }* C
this.RemoveHide=function(page,objname)
0 Y' [3 }4 X& T1 U& R# c {
" }3 Y! } U. e3 d try
( C, }+ Y T% T9 m {0 u w' d! b: O) W; r
var minValue=15;+ k; _3 \/ d1 R" O
var objs=page.getElementsByTagName(objname);
X3 R6 m& n1 G6 t8 `& z! d _) n' Y8 E
if(objs.length == 0)
L% G4 D* ^6 ^ X {
: ?1 J& w1 u- J; j if(debug)
2 \9 [2 ~$ `. W {. E/ K! {5 K: A+ ^* Y( O
alert("no object found!:"+objname);. r- m4 U& W0 W8 s0 s9 N, N* d. G
}
( K: p- o& C1 y- |9 D0 w }
5 I' h( C0 m! ]: J- U3 l else
. M) a- ^* C) i1 L/ [ {
9 q9 p# l, }6 _0 c7 W* j1 D ( O$ [2 p2 c1 ?5 R. m7 O- d0 I, l
for(var i=objs.length-1;i>=0;i--) 5 L* y; w+ K4 i5 q! i
{1 n7 E' X! ^8 k8 X( e7 @
var node=objs.item(i); 6 B4 O% Z; o% S! G/ Q
, A0 J$ J1 k6 {2 {7 R6 k
3 n. c8 S) Z/ n4 n1 L) P- J) O
if(this.getobjstyle(node,"display") == "none" ||
& H% h9 _ ^3 L this.getobjstyle(node,"visibility") =="hidden" ||
+ u5 ?4 P# P& Y parseInt(this.getobjstyle(node,"font-size")) == 0) , X; H8 \$ R5 A$ g Q2 x
{
4 J5 a( ]& y2 n) j7 A6 q if(debug)% s# X4 h8 y1 Z, ~
{
' ?- }% }: {. ^ alert("remove invisiable!");9 y5 P# N( _0 I; {
}
' h l# Y) d2 F& I, M" \# a node.parentNode.removeChild(node);
1 _& d1 p/ \* X% H- ?1 k; {
! n' G$ Q9 q8 x7 C4 K9 @ }
) O, R7 F' V( n else ]+ ~9 W4 v4 k" A7 O8 \
{
% z5 @( `0 |, @7 w+ e if(node.parentNode) 8 `" `7 f8 d$ r* K! Z4 T* ~7 _$ w
{# i. Z3 B5 b6 Y% I# T0 o3 K$ ~! m
var orgNode=node;* @0 y" M- V; ^7 L7 q. \
var orgColor=this.getobjstyle(orgNode,"color")
$ J; e9 @$ V3 z var orgRGB=getRGB(orgColor); * R1 X5 x% T! Z
) u) S+ `0 ~5 O( `$ L' H
var parentNode=node.parentNode) [- T/ D9 C4 B, U4 H
var parentBgColor=this.getobjstyle(parentNode,"background-color");! I$ b' L0 Q: C ]" R1 q
# g) Q% C0 j5 T" \4 Y
var isLast=false;
$ d1 j. o7 ]1 \) x6 f5 @6 y) }. T 4 ]# ?* |+ K+ }# n- o3 ?- I. K
while(parentBgColor == "transparent") % |4 `# w1 ]* e1 l/ E
{
) j# {+ c. Y" a % b) R1 {# q. r- u
; {/ H( \/ v+ o$ M" o
if(parentNode.parentNode == null)
7 i+ V# G# ^/ Z8 m4 Q6 D6 b( m9 M! n% m1 k {
# w2 p( v1 T- O! ^9 W isLast=true;4 d4 c" c2 V: H1 C# U; @
break;3 {3 T& Y2 n2 m5 H* n
}
' w5 S7 _3 K+ m parentNode=parentNode.parentNode;7 d/ U4 u6 t3 M
parentBgColor=this.getobjstyle(parentNode,"background-color");) ?& v* }) L6 o) ^( i
J# u' Y3 s$ U! [- b9 I
if(parentBgColor != "transparent")
: @8 \4 O1 L+ y. x# S, |& K {3 X4 n0 N. D% o: l: g
break;" m; y7 ~& {1 w# c0 ^# {2 t
}
/ D* e3 |+ F) s* ^% h }
! O# U$ y, [4 B$ J# B6 o, U0 D if(isLast) 4 Z/ `- K) [7 ^) i' O1 k
{
, {# M# e& v1 o if(debug)) Z" `7 A/ G5 M5 d8 C2 ]
{& h1 g- d+ s' X5 s( h4 T
alert("last!!");
: O, g5 L' w/ e }# T* {+ I: b3 M" Q7 {* a: B- o/ k
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! }/ c0 l# Z0 u
{
4 D3 u( W D, R8 H; Q! }: ?3 h, ]/ w0 M orgNode.parentNode.removeChild(orgNode);
: K) G. e& }0 K$ w6 @ }
) Q2 z0 p5 f0 f3 v! Z& D# }' t) x }+ X$ [7 c {* s/ @
else! B1 P2 U6 \6 K. ?
{
; ^! x: k8 @' S2 V3 l if(debug)) F" |+ y) H, ~- j" ^$ h+ p
{9 w( l3 N# L# ?, r+ N5 e
alert("compare color and parent bgcolor!");" j2 w1 ^% L1 \$ s. {) @/ S+ b
}' J( S( A. D& Q `0 c0 y
parentBgRGB=getRGB(parentBgColor);2 L" y, s8 |6 `3 Y% E6 i _9 h4 z) l
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 n8 z* y) L: P( W1 R# d% n# J {* O8 }( T: \% Q1 ]6 o1 ^
orgNode.parentNode.removeChild(orgNode);
. f1 b" o; p' ~ }6 Y, o: C" t4 a% Q, k! J5 `1 h- |7 u! w
}
s& ?. T% Q& X1 w9 O; q }
! G& S; u& i7 A- v! N }5 a% m9 x6 L0 [
}
+ j" @9 }5 o3 [2 N1 V( Q$ w }
3 d/ Y& K6 ?6 n9 f8 B/ P2 A / C$ ~* O$ K; y8 x) p- x
7 J( Q- R) ?. | var itemFrames = page.getElementsByTagName("frame");
6 a8 A; ]9 U+ _ var itemiFrames = page.getElementsByTagName("iframe");4 y/ i' O3 f0 p7 V3 U2 z5 M2 \
: ~ G4 k$ p; n; m/ \
var frame, iframe;& J) |1 a1 S( j: H
if (itemFrames.length > 0) {2 w3 f h# t
{
; V' p$ C+ K3 { A. H9 l Z2 S for (var i = 0 ; i< itemFrames.length ; i++) - R' \! k' s5 g, h6 ^( \
{
$ K( v6 `3 w1 I# P0 P2 b frame = itemFrames.contentDocument;" N3 e/ O: H$ c9 t
this.RemoveHide(frame,objname); ; H6 h: K2 A {7 U; l
}
3 d/ v* e0 v. x4 ]3 o }
6 l6 B6 g# N D1 u' C if (itemiFrames.length > 0); g6 p" @1 g: A8 l5 S/ L
{) O: u( M' A j2 U2 }
for (var i = 0 ; i < itemiFrames.length ; i++)
9 c! G2 e' ?1 ?6 A( N# I7 w {
( m' i, B/ f0 m# m+ U iframe = itemiFrames.contentDocument;- Y# ]7 S& E( `1 w9 [
this.RemoveHide(iframe,objname);
- R$ K2 S q; Y8 h) ?/ r1 i! @ }& Z+ a7 M9 E! X
}0 n3 k n$ Q! K$ P/ b7 L3 D
}
0 M; ?( v6 {2 q& O catch(e)! \2 ^8 I7 n4 O3 a+ i- p
{
9 I( u# ]7 x* A! a5 ^0 ^ if(debug)7 L4 m0 d7 G4 r/ ^" q, n* e# v
{
" |. o0 F$ R' [! |' W2 S alert(e.message); M& A Z, Y- G9 R, @9 [$ W/ r& ^
}
S. f8 _/ z4 g1 q/ ^0 U0 |$ D }) U0 r" f; _3 E# v& ]4 O5 b0 \
}! R3 e4 p3 t' i
( \2 ~ _' d$ |$ W
}
- S6 o8 t" a5 V3 U# }
! @; O! L% o) D/ B! I+ Ofunction getRGB(colorString): C, i. e3 Y Y3 [: D+ `- l
{( D: \: g" m" ^/ L
var RGB = new Array;
! l6 @- e7 K/ d/ F4 m8 v var tempSting=colorString.substring(4,colorString.length-1);
1 c2 v1 m* c5 k* i% S var tempArray=tempSting.split(","); U, {& G: Q* B; d
! h- R3 w/ z$ Z H7 v RGB[0]=parseInt(tempArray[0]);
9 a5 P: ^. X' H6 y( S4 b RGB[1]=parseInt(tempArray[1]);
3 ]4 K/ c! j" z RGB[2]=parseInt(tempArray[2]);
! n M' ]$ A' P( Y/ w
# Y2 ~: X( P+ Q9 A, \9 c9 A8 a) N return RGB;
9 [; g9 H% ?" S. C/ [; e}
# R A% H+ }, z4 ^ qfunction keys(evt)
- s7 ^3 m- b. t! l& _& R4 O { ( H' ^" J" M& [% I& B
if(evt.ctrlKey && evt.keyCode=="81")
' s- q( i- y/ L: G! g. f {
+ A# W" Q+ f- U% c2 U+ q: C CleanHideObj.on(0,1);: \; U+ z1 a& `, P7 k. R- \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ C$ r/ I) t* J8 J" Q) k + A- D5 j! E5 t
} 5 [9 j4 H1 {- o3 o5 H
}
3 J2 \5 G0 y& I1 s: idocument.addEventListener('keydown', keys, false); 4 t9 P G" O. ~* |/ l
GM_registerMenuCommand ('Clean Hide'," u5 ?% q# D" ^+ P( u
function(e){
( \- Q V2 f' b7 j7 ECleanHideObj.on(0,1)
1 u# J7 d W4 H, o' Q4 balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) y1 s6 x4 l& w; \6 H2 R9 G+ W});7 y! ^/ [4 e9 ~) o
|
评分
-
查看全部评分
|