|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! q$ w/ Z$ j+ D& Z( L& g% t6 m% G
`2 r, R/ W( Y* I) @# ]
火狐插件,用猴子
0 a h8 f# z6 K! ~( V" s# W* i4 F' T5 W$ }' ^3 o! b& q8 r6 `
var debug=false;
) ?' j7 c; ^* evar CleanHideObj=new CleanHideClass();6 Z: _& Y7 h# \' {+ M$ g( D* W
. p, }/ ^% L5 V5 v
function CleanHideClass() / J) u" r' G" R' I, F
{ " ?& V7 v) _$ a+ G4 j! H
" W# o& U; P% J- J this.on=function(id,bMZ)
3 J- h" I! \; Y& g! H2 w {
' R8 g7 B$ ?2 ]( P
$ J. d: \0 z# j' _" V$ i6 u if(id == 0)* L# X) W* j& v2 ^) {
{
3 X+ h/ w- M. @' w6 j0 A$ Z var page=/* document.getElementById("content").contentDocument */document;
. R: q8 u" _* e/ P; ~5 U this.RemoveHide(page,"span");9 |, p% t- {/ X3 e
this.RemoveHide(page,"font");8 g8 ?6 X) m+ k
this.RemoveHide(page,"div");0 w* l0 H( \; H; N
this.RemoveHide(page,"p");1 C) L, j; F0 j& r7 N7 j( Q' ?
* R* f6 `3 v/ E$ S1 a
}& u6 w) Z& h# G3 H
; w% f) d1 [! [* E% z. I
}
8 c7 `) |" T7 `9 a# y1 Q( @& x2 o this.getobjstyle=function(node,prop)
/ }: l7 f% T! Z: k& E6 c9 J+ k' n {
/ Y4 v, ]7 s3 C- y# ` try
& w: O% X! y3 R( [; J% h; y* O {
/ c: B! v. q* ]4 H. a& | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 u5 K: \' ^! W$ ~
}
& ?9 G; M5 J* x! e( c$ s9 |/ w catch(e)
9 q/ ~4 T7 D% H+ j: X {
; ]& G( W$ x i1 `5 S% T if(debug)
3 Y. ^! h# ^/ ?4 h {
) J: ] \% ]/ i& F+ l, R alert(e.message);/ p# F; M+ g4 [& |1 f8 _! i
}7 u$ P* k9 I# f1 `! j& B
' G( v+ d* k& m) ? h+ f; E) o3 L return "200";
4 |9 P( [$ C2 E" s! E! { }
8 a/ H9 f- @& U1 d6 x: ] }5 Y7 Q5 X* W( i' k% }, V5 o
& i8 s7 q) _$ g
this.RemoveHide=function(page,objname)
X/ \* e+ ?. h {$ V. g) w R9 o4 p! j
try
$ F1 b! v; u, W5 t+ c# {5 k {9 i7 y" W, Q! R* J
var minValue=15;- g- V, D b; g" l! }
var objs=page.getElementsByTagName(objname);
4 x+ q, s" B- _" Y* z1 L+ U0 b% `
if(objs.length == 0) 8 R( K8 b8 O1 F( @! u& b4 e E/ g/ m
{
/ D( T2 x: B/ l9 a if(debug)" m- Z& [( A- s) H, ]4 @1 A
{( A- ]% |7 T6 ?2 l7 u8 g
alert("no object found!:"+objname);
9 X+ H9 Y# n9 Y5 r }
9 M3 G6 @+ v8 a( \$ z }4 U; d! D6 a- x% i' v' J+ b; j
else
# _; f+ \" @3 X) g! A* ] {1 q J8 Z' D- s4 C- g" j) B
- G# t* k9 O% L- \
for(var i=objs.length-1;i>=0;i--) 0 g+ i" L0 r/ X N; E$ A5 i
{
- P P6 |% ?3 g+ \% | var node=objs.item(i); 1 T* Q( u( a- i3 k2 M% o
: |" N3 T* r! P2 w* Q
% p) ~, D. K: P) F. Z" E if(this.getobjstyle(node,"display") == "none" ||
" Y6 O& b7 s$ v2 q8 ?! C9 ~ this.getobjstyle(node,"visibility") =="hidden" ||0 O* Q5 \: j( i8 E8 ]5 y+ V+ u
parseInt(this.getobjstyle(node,"font-size")) == 0)
4 o( ?5 r0 H! e; r# d {
8 I: P7 ~- p" G9 l; W* H if(debug)
7 W7 s( O" ~) ~) i& x5 p {
t3 b0 t9 P$ s/ q0 M alert("remove invisiable!");
8 w% K1 f. l" ` }7 H( R" m2 C3 e
node.parentNode.removeChild(node);
[( a' n5 b& P
# s: A7 S1 `3 n, S0 \/ ]7 u }
3 J6 j- p+ K6 R! Y2 D& K" G else ; T! l' j8 t1 Y: `
{
8 d. z6 p5 w. ~: O% Q if(node.parentNode) , k9 e [; v) F* p0 t
{/ Z8 K! r' p2 ?/ E- h# s
var orgNode=node;$ c0 a# I0 m& I
var orgColor=this.getobjstyle(orgNode,"color")
! Z/ T# U7 L( a" x; T: x' \9 W& a0 V var orgRGB=getRGB(orgColor);
. V* J& h1 n/ q, r# v5 P
$ z v0 @8 F o) a var parentNode=node.parentNode
. x* e4 U, ]0 Q Q* } var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 e C+ Y" u( c9 ~: p
% i- X6 U% p) W: g1 J4 C$ I! A var isLast=false;& q9 E% Q* q" P6 C) a
2 b/ r: ^+ X$ h" E% T( z) U& G* { while(parentBgColor == "transparent")
8 j o- f3 r0 t$ P {7 K% z. V# ?8 a: n
6 H& F" h# f8 G
$ y V9 r; N/ H% H$ H
if(parentNode.parentNode == null)
) s8 r' N( X2 K6 |) Z- Q {
) \7 X- g5 i2 H7 k+ l8 P( L; J isLast=true;
" w5 S7 j ]3 V8 l& B k9 V break;9 `4 m, D: o8 n
}2 V8 t: l B' R) k
parentNode=parentNode.parentNode;
" l7 j3 r; i) L parentBgColor=this.getobjstyle(parentNode,"background-color");% D4 x0 z/ h6 Z: z6 r
3 O; {" ^4 j' g/ K u0 o) F: h
if(parentBgColor != "transparent") / I9 M1 B9 H& i" m
{
+ u- u. w$ J# i* t$ G break;& e5 q0 o- z# G% h' `& K
}
; y. x* W$ q, b }
2 w- P7 w$ J3 K6 \; w- V if(isLast) , U" S- D- G4 C! M: }) ^2 X& b
{
5 ~ }& ?# M1 w; [ c7 K1 b if(debug)4 {$ a- d, `2 L9 U$ Z8 Q, P2 r
{
# r o" V) t6 V alert("last!!");
/ g( M5 Q" V N' b5 w) q3 { }% q5 G& B0 j) D8 c' u. J# k# R" n3 r6 I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% K$ ~+ h/ @- _; k; g {
! ~ j, p( C3 A) {6 a orgNode.parentNode.removeChild(orgNode); % J) q, ^! a. k7 `! G' q
}5 s: K6 V6 k6 H# v/ |3 B
}* p3 h# u! X5 k7 W- U7 R# |
else
5 u3 ?" ]8 V1 A! m0 k5 R {# x/ K$ y. O/ ?% Y7 u+ v. j
if(debug)
' q6 ]& I U4 Z9 d4 t4 p {) z( |" d7 D& i( S# J
alert("compare color and parent bgcolor!");5 x# w# E x# |; n1 K
}
3 X% [; f C1 L U$ K* h( ?/ M parentBgRGB=getRGB(parentBgColor);
1 Z; g( F: R2 q* H R if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- Z9 l/ S* H A7 k. [2 ?5 n {
, e0 B& _+ x* K- S$ r, Z9 j# O5 h orgNode.parentNode.removeChild(orgNode);
- T; K1 k6 @% T4 q }
5 L& |% c. k+ G# J" d }
" D# Y2 Z1 a( B5 ]0 i* Z }
T V+ c/ }) l' M }
! v7 e p+ p% T* P1 }- o }
! j" `4 h3 L( u O0 Z }% g; l l! e, u! @' |2 {# l
# X9 U& }: C4 m H# R
* J+ y+ ^2 D8 M
var itemFrames = page.getElementsByTagName("frame");+ k/ O! [* L. Q: P5 Y
var itemiFrames = page.getElementsByTagName("iframe");) |2 C, a9 L4 m" `# l. s$ g3 Z% h R
1 C& }( n8 F" F& K var frame, iframe;
# u/ z7 s& @9 p6 r8 X' l if (itemFrames.length > 0)
7 p& F8 f% C7 x+ _' T {% i( o+ J& \' O9 F/ u! q5 \: l
for (var i = 0 ; i< itemFrames.length ; i++)
9 _! p- O) E& Y9 r- z/ e {/ C* e8 i! S, B" W
frame = itemFrames.contentDocument;1 E6 V7 r" `4 E0 @* a4 Z Y! W) r+ L
this.RemoveHide(frame,objname); ( }/ A0 Y6 D [) q
}
( @ o2 z& ^- F7 k1 V/ i7 p2 Z }1 l$ L1 D. v7 y) o; A
if (itemiFrames.length > 0): _$ ]; @8 A5 H* Z
{
; _7 ^7 ~( {1 [" R5 a# P/ k for (var i = 0 ; i < itemiFrames.length ; i++) + U4 w% Q3 i- v+ t5 V7 E: T
{
$ O+ f9 x* [& {* S, y iframe = itemiFrames.contentDocument;
l; Z# W' y4 q this.RemoveHide(iframe,objname);
) C6 Z& [# T& x b9 e* w8 f$ O }: j- z% ], P% ~* w
}2 n6 P& ~# ~/ U7 r3 G
}2 }9 C2 ?8 N& N8 {5 F
catch(e)
& D6 T" g& u4 k {; T. t# }" [- g. I& {( ^. i9 O, x
if(debug)
0 A9 `/ G" r8 t: [) ^ {
. W, o6 O& z6 j! e' v; l alert(e.message);
: W$ m3 Q' {7 D3 {$ @3 M5 M6 e }% n9 t( x7 I- x, U
}
% J7 p- q4 k% f' @ }# k- k, x& I7 b: f2 S* M6 K+ h
/ Y) ~7 I9 e$ L
}
& \' a, R* B) ~& p- K( v4 y+ h% N% c& W4 U
function getRGB(colorString)* I6 i) S# j0 G$ k
{
: q+ [/ V, d+ i& q var RGB = new Array;
+ M' h- C4 n+ K9 |) n var tempSting=colorString.substring(4,colorString.length-1);" p& |" H4 M9 u& u
var tempArray=tempSting.split(",");) G0 S6 G, C6 Y; T6 L, z5 s: `4 i
# S1 l% o& t4 w+ v" O' [3 H RGB[0]=parseInt(tempArray[0]);/ g. _ T/ S& @# | N
RGB[1]=parseInt(tempArray[1]);
5 _, w/ |( ~0 q5 V% v& Y RGB[2]=parseInt(tempArray[2]);0 h$ d# `# E( X
$ b( D( j; T1 }% {) \ return RGB;2 |2 f9 L/ G- K4 S* | R$ }
}4 Q+ k( z. H+ ]# i. p7 S& B
function keys(evt) 2 g# A6 C3 j; R: z# L K4 E
{
3 o; D& ^4 M, Q% r( ` if(evt.ctrlKey && evt.keyCode=="81")
* t ?( J8 c: a& d+ Z# i0 E, n { # F8 ^& |- j- q0 V; V# J
CleanHideObj.on(0,1);
* A8 s6 }% X2 w* b0 l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / s! L3 z% G$ p- x8 z" g
v( |! F3 Q& w0 ~% z/ X8 ?" B3 j
}
/ ~; M# I: P" N y- w }
2 k1 a% N" z" Hdocument.addEventListener('keydown', keys, false);
, u2 v( o; Y2 B* \ V* p/ }4 UGM_registerMenuCommand ('Clean Hide',1 U2 b% e0 K4 e" _0 o
function(e){
4 \+ R) h( Z9 e8 @CleanHideObj.on(0,1)
, X2 \& |. J) y( C: Galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) b: Y1 }2 k6 O/ h( M( G- {});
' K8 O0 s5 a, Y' I; Z9 [4 e1 Z |
评分
-
查看全部评分
|