|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% _ U! u2 J% b y4 T f' G2 t. E) ]& B* Y* D! H
火狐插件,用猴子& M# k: j/ Q7 c+ S
$ _8 T7 V3 M6 Y6 M$ e9 Qvar debug=false; $ a4 M" c. O) h& u
var CleanHideObj=new CleanHideClass();3 m2 V, X. g$ s% t
0 z+ _& ` P" B: k3 gfunction CleanHideClass() ' h; `; `1 R1 u& n' `
{
0 x S7 q0 h* e' W& ~ H& W 7 Q9 P7 s9 |% \- P; \3 I$ M
this.on=function(id,bMZ)( f3 W; e9 ^. z1 g, @
{
) y# g9 U# ?- ]- c6 a T; O; `6 K; V; _$ i
if(id == 0)( ~3 R4 Z9 ^4 j/ `+ z" _4 a+ r
{
& a& i& i6 {! k- u2 C4 i var page=/* document.getElementById("content").contentDocument */document;
6 ?* Y" w* S1 k3 D( V7 X# X this.RemoveHide(page,"span");
+ d- [7 g: M b3 A' q4 y this.RemoveHide(page,"font");
/ X* \, S/ [! U! h3 d this.RemoveHide(page,"div");
4 z: G, {+ C+ Z this.RemoveHide(page,"p");- I$ U: k; u. I$ Q
- o; j7 |) T+ O4 l0 t }
] D4 }& [' d. Y/ {- ~, \ 5 @* h4 b! u+ O6 M! j
}
2 P5 i9 s3 r5 {' a0 |* \' C" E this.getobjstyle=function(node,prop)7 K+ `5 m: w' j
{
% |0 r1 d: k. Y, S& f try8 |$ h* H8 ]/ B' y
{
% H% c2 |$ x6 l# E* J" c( }0 v: [ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( w7 h" J$ Y/ G8 z+ F }
8 Y* `9 f# r" x& b9 I% s9 e# p- R# @ catch(e)1 q. o8 o& z( ?# H6 X1 S+ T, T
{
h' a& N3 V0 |( ^, ?7 K if(debug)7 g& }) u% H7 D# l
{$ l9 i6 ?; k; L! T3 ]
alert(e.message);2 a7 l5 H, \3 m; z! z1 i
}
3 N* p E# Z; N/ r2 J 5 R* ~7 W! T4 A. L. o' X
return "200";! G, ^+ A8 T) X* t. v* g
}
. P5 E" p- R2 S1 X6 I }( [6 F& V" D% m2 O8 k
K) B+ ]+ m1 G: s" t; k6 v# g$ T+ ?
this.RemoveHide=function(page,objname)3 @# M0 _2 K- E7 X+ e
{8 x, Y5 a: f ~1 Q1 M+ q
try! l- H9 I/ X# H$ U
{ M+ I) E' m4 y }5 ?5 z
var minValue=15;
/ ~1 J( K+ C# v' \ var objs=page.getElementsByTagName(objname); $ a( c0 l" V6 ]( V: A6 t/ M5 X
4 v, v" X4 H3 u- }! \; h, r/ \2 V
if(objs.length == 0)
2 x, I2 p: d; Y2 y! }2 C {
, ~! ?3 e H$ g5 q" D+ a if(debug)
9 T' C4 u7 X* F {
: J3 x2 Q: W8 p# H; g9 \ alert("no object found!:"+objname);. X2 Y& c; B+ d$ p
}
* b* }1 |5 W& G }# i, T/ o4 D- `6 `
else& C2 E* u* }- o6 Z9 b% z$ T
{$ u; {: K/ L. B; A+ R
2 W: L) ^& i( U+ I7 F6 ] for(var i=objs.length-1;i>=0;i--) ; M8 N5 ~, L- n' s9 a E
{
9 _" l8 t8 e3 y" `" _! D var node=objs.item(i); , j1 `! S" C. R# }
5 F% R0 \, T/ g, E6 S9 k
& U/ D$ A+ u& M7 i if(this.getobjstyle(node,"display") == "none" ||5 @+ z0 ]8 o. f5 c
this.getobjstyle(node,"visibility") =="hidden" ||
. i! [! d7 Q5 g* q parseInt(this.getobjstyle(node,"font-size")) == 0) g8 E% c( b% _! V: C2 x
{
' t' w5 E/ I' B% w! u/ m# K/ q% c2 w if(debug)9 b+ @; ^' b+ q' j
{
l' y! ^0 b& C. \4 |- H alert("remove invisiable!");" l# R7 v5 Y3 J" p5 t, H
}
4 K$ h& b8 A0 C# W/ Z node.parentNode.removeChild(node);4 v- R: h; B6 S8 |( o+ F
3 n7 \* a7 [, s; ^$ |5 n" w) _
}
( X R% w3 Y2 l6 n# B, R1 t. q else * m4 }7 T( ~2 B8 s4 O1 _1 M
{
3 a5 W' {3 f5 K+ k7 u if(node.parentNode)
0 J* d. \4 u1 \0 H {& e @% B, }- o9 a
var orgNode=node;
. ?/ i# p- c$ ` var orgColor=this.getobjstyle(orgNode,"color")
; T# Q0 ^* D1 C# y6 S% @ var orgRGB=getRGB(orgColor); + k3 [0 ?, _1 i @7 Q
/ p/ R4 o- D3 ~- M% d var parentNode=node.parentNode
/ j8 J, [& L7 B/ P var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 n9 m* h/ R/ W! Y* }7 {7 m) o 3 e% x7 {7 U2 `3 d$ m
var isLast=false;
% N+ h5 Q3 V6 S$ I0 [6 ^" y, r4 o
- D& M# `8 L; W j& b; e' J3 k while(parentBgColor == "transparent") . t- G1 v T3 ]& z% d4 F
{, T: v, S8 O/ P) A, q/ @- B
+ N# k1 s) p2 a- y
7 B, @% x! P# C$ q
if(parentNode.parentNode == null)5 C+ R/ r8 R/ b a0 ]0 g
{1 i6 B1 W& x! \, U" [( N! Y. q* @
isLast=true;" N0 o7 [9 ^. Q, Q4 Y/ M( `
break;
! I( w7 x1 r( @ W8 D y! f5 w }
% |" F( z6 U4 J7 S/ g parentNode=parentNode.parentNode;$ W. |! c3 s) e0 x, @+ Q
parentBgColor=this.getobjstyle(parentNode,"background-color");
& o, u! R7 O7 i# r. k- l) Y( k
; t$ c+ i- P M1 M0 U( [ if(parentBgColor != "transparent")
; P) x. i; E2 {% o' Q( ~; ` {
% k" K2 D+ _0 H break;
3 X% J. Q$ f4 Z$ O, B, l }
2 n/ I: F0 q% Y1 f7 w }/ m" M' J+ _! Q
if(isLast)
6 ?- d+ X! h8 D( w% b/ f {9 Q* j7 @! f& r4 c- k3 _3 m5 Y, z
if(debug)9 R0 w- M+ }5 O* g
{4 m7 u9 s+ L% J6 O8 ^6 V
alert("last!!");# u- C# l& ?7 r1 A
}
/ l+ _2 Z* Z t. c7 u+ o- X# ^ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): f! n/ s! S! B; o# l L
{/ c: Q# O$ V6 W5 v% u0 @5 _; `
orgNode.parentNode.removeChild(orgNode);
" \' G( x, H" P+ d. T }
$ k9 S M" t+ A0 k2 `! ^ }
0 B5 w% s0 ^4 X E else
* }; ~5 X0 G. {$ Q5 H1 s6 {/ k {. H7 _3 s: }+ V8 {3 ]5 ]5 b' @, Z
if(debug)6 l/ j6 o; H+ A0 v' {$ F/ H8 f
{; E0 ?. c8 k) U) W- s) w
alert("compare color and parent bgcolor!");
! D1 h) u/ C; y& N# } t1 i) o1 Q }
* o* N2 Q0 j/ J$ Z; S. { parentBgRGB=getRGB(parentBgColor);4 l. [: p/ E8 \) v( Q/ J2 t4 Z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 J& p: m) c# m0 S5 y/ ]
{7 n/ L7 ?* |. i+ a. ^4 t* f
orgNode.parentNode.removeChild(orgNode); ) g9 X* }5 C( t6 X& x
}6 y( I; ~, D6 n! D# I9 e- Q
}! M4 Y* N' E0 ]8 c
}
, D5 N' s9 z' g$ t }7 [* |( J& n' ? n1 j! L6 u' f
}# J s5 z$ j9 x F5 s
}! X$ \& c' p A8 u
5 T2 u/ u+ b' b
. y$ ^# [! z5 p1 v; E6 u4 B var itemFrames = page.getElementsByTagName("frame");& t* I) Q/ |5 S* g! A
var itemiFrames = page.getElementsByTagName("iframe");8 \, m0 ]# {. j' J! c* Z' e' c
6 a$ r' h; G" X var frame, iframe;
& ^+ c s5 k$ | if (itemFrames.length > 0)
3 l* ]4 w6 O& m0 ~ {
5 k0 n1 i6 E! S' e1 a* j5 } for (var i = 0 ; i< itemFrames.length ; i++) ' @6 D+ E9 a+ t, s6 x4 x5 a8 _
{" n" s; O6 ~6 S* `
frame = itemFrames.contentDocument;
; R; f0 E! _0 f1 k( u, B this.RemoveHide(frame,objname); 0 r+ T; x% w" ^2 w3 w% T* ?) R7 x/ y
}
2 y' t& M- B$ R0 v }4 t8 ]/ n7 a2 v. d) c% G
if (itemiFrames.length > 0): @0 N3 G0 ^( X* T. P T
{
/ O( y' o7 M7 G: w/ x. q for (var i = 0 ; i < itemiFrames.length ; i++)
' y0 B! y$ V( O$ O- K1 f$ w {
6 [- S/ c4 G; B% s+ x iframe = itemiFrames.contentDocument;0 `+ A- ?4 \+ J3 j8 A; f
this.RemoveHide(iframe,objname);
/ g4 _, l1 ]2 S0 }/ I# V9 U }
" S5 S9 q8 x& s7 }0 Q0 |+ d }
3 F' `! z0 ?; M0 X; x$ m }
: ?( b5 [4 U) [# T- W$ B; v catch(e)
: c% W! [% g7 D% f" ]; \2 p {. ]$ e3 r d! M8 j# S
if(debug)! E% F. v/ W8 e3 o0 h" r
{
+ @% \" K# e8 v2 K9 O* D7 T4 N6 X& F7 f$ f alert(e.message);4 M- l' ~/ @- T$ C0 p$ }# V
}" b0 R" `; e" q' o# q" `
}
& h, d6 |/ s# m# o }+ C0 I! s$ p; k" y7 G2 ?
* u% I# t' u U# f: v0 P
}1 A4 d4 N/ `3 z$ a, G
1 n- U+ E0 e0 V/ ` ?function getRGB(colorString)
" K+ U* b& l9 \* h8 {# z6 C{9 d2 [) T8 [# B: x& v9 M9 x
var RGB = new Array;
/ r! c6 w; O% H& z4 O var tempSting=colorString.substring(4,colorString.length-1);
! W# Q: K& B2 U j; V var tempArray=tempSting.split(",");. d+ g. O# t/ O5 [7 M4 ?$ ~7 H
) Y' R) G& j2 s4 N) q7 Z/ |3 O: G
RGB[0]=parseInt(tempArray[0]);) z$ [& n* [/ N$ H2 _; A
RGB[1]=parseInt(tempArray[1]);$ F% w ?0 r# y2 o- m& |+ d# g
RGB[2]=parseInt(tempArray[2]);2 n8 Z. ^( Y( w& R$ `) I+ J, ?
3 \4 L1 Q( E' ^6 a7 o8 u3 n return RGB;( v$ U) u5 u2 W/ x" }
}
5 C, _6 |+ q9 }1 Lfunction keys(evt)
" d0 f6 R: i8 ` {
* ]1 T% s7 Z$ L( J if(evt.ctrlKey && evt.keyCode=="81")
4 w2 W2 `, g+ }+ x/ n { 5 Z9 q6 O2 U8 E7 x
CleanHideObj.on(0,1);
5 ^/ G6 |$ ]0 c0 {! k+ t3 L alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 L3 D/ n" r& A& N+ @' r/ ]
% k& n% _+ `7 b+ g: Q) } }
7 c9 y, r4 [ a2 R0 V8 ^ } 8 L7 A4 F( z! s/ F8 I* Q/ G
document.addEventListener('keydown', keys, false);
+ v0 N: ^! N$ x! F7 |3 WGM_registerMenuCommand ('Clean Hide', }, v E0 ~$ G" V
function(e){
j- U. p1 O" b) O% w; W/ _0 G" cCleanHideObj.on(0,1)
4 L. Y$ E- a. D- B% q3 g: |0 c Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 E M4 l& v6 g. V/ u
});
' l% N1 b) n0 o: j& B& b9 I1 X |
评分
-
查看全部评分
|