|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
H! p, F6 }2 }6 E, Q' ?3 U/ b) g! n/ r% m1 V0 a
火狐插件,用猴子
3 |( s; C" B5 \
\; V6 ]& u) Y# y8 \6 cvar debug=false; * n! J1 ]5 b/ I6 {" J8 i7 v
var CleanHideObj=new CleanHideClass();2 a5 g- [$ P& |
' l) }5 l/ A3 C+ R% [: z! vfunction CleanHideClass() * F6 F, e/ I$ z8 ~4 I) \, d
{
: E4 Q2 A% ~1 m. l% q $ W' W1 H7 b6 S% `6 x# j: G. {
this.on=function(id,bMZ)# c; A- @' k0 ~8 Z; g
{4 H2 Q% D. p+ U1 b Y/ Z! H- g
Y3 s& I; |# L; _ if(id == 0)/ g3 P5 B, O9 k* j4 q
{
1 }, K( C% p3 C' [ var page=/* document.getElementById("content").contentDocument */document; - N E- s# i7 I$ B
this.RemoveHide(page,"span");
/ D4 I3 ?! c+ d* \6 H this.RemoveHide(page,"font");: e( D" Q" W5 N7 i8 C4 R W
this.RemoveHide(page,"div");% F5 G. B) K# o* c
this.RemoveHide(page,"p");1 t6 r- T5 R7 ^' Y7 J
+ S( Z& y% ^& }) q2 C& f) A }
; Z+ @* `: E' K4 r
- Z( F7 C: Q6 w# N4 J }
4 Y9 u d4 K3 C" P3 I) h, ~ this.getobjstyle=function(node,prop)
: Q# R- P5 L3 l( a {
$ p3 Z2 H- v& l- [! L try' u9 a2 j- `% m; `% W& N
{# o! x6 w, U) R& C9 \ j
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, t9 `9 _$ E D" M* H) U
}3 d7 D* J4 ]2 X4 A# A( _
catch(e). ?- x9 ~5 q. ]& w7 R3 X' K0 B
{
- L- [, }. [8 ]6 }5 v3 Z& i if(debug)- V, F" K, w1 R* R* B" q2 @8 Y, s9 B0 Z
{6 y1 }1 @/ r4 Z" K0 E# k7 \
alert(e.message);7 _$ K F! ^* Y! L9 k
}
9 l. s0 Y }. t8 y, n- ? - n) v `" d" A4 f4 {
return "200";
# k& G |& L+ b! g& y" S; }5 ? }
& t( m; |, N5 m1 I5 [ }; V6 Y1 M b% b4 B
- Q/ [, t7 n( ~; W* l this.RemoveHide=function(page,objname)% M7 f) y3 O, i3 F# Y) s
{
$ B( G3 Q2 Y0 C6 W: ?- e! y" [ try) ?* L% [4 {' b( ]7 m/ ]. P4 V5 |
{ x' I# Q. w' F, ]4 k
var minValue=15;
: k' h) K* [7 N% a var objs=page.getElementsByTagName(objname); 4 b7 O. N g3 ~! \ M
& H) `! k r2 v* _ if(objs.length == 0) + U/ Y6 g- Q% l* e4 ~; \9 D3 T
{- e: n G& |5 d8 _* i% I; q
if(debug)
8 e7 U5 S+ L- f+ i# o {* {+ x9 v/ n0 {( S# }- k
alert("no object found!:"+objname);
5 {! _) [1 y& z; Y) a' O* ~ }
, X! D# W0 N7 P4 I( a }5 G* h+ K6 f2 v7 h
else
8 G' ^. I0 z- K+ O% p( U F {
' Y4 W% {, U e : p# q/ ^$ m' m! U9 W; y
for(var i=objs.length-1;i>=0;i--) / f7 `4 F% m" ~' ]; g) K
{
/ }' J9 C* P. X0 _# w; T* g var node=objs.item(i);
5 i7 @7 W r3 C8 B8 A. O
# ~) K/ l( f7 X
) }2 S% u5 C8 s8 a- ]& ? if(this.getobjstyle(node,"display") == "none" ||! P f# B% Z/ [9 `
this.getobjstyle(node,"visibility") =="hidden" ||
f6 l- i5 [: p* I i8 F4 G9 H) d parseInt(this.getobjstyle(node,"font-size")) == 0) * C6 ` |* T! F3 V, e( @6 W
{; u" i$ \7 _+ l. w3 X0 i; ?/ ^
if(debug)# f9 N( j$ {/ ~' B1 M1 i+ O; W1 T
{
6 J9 m. X+ O( s. N/ h; E) c alert("remove invisiable!");0 o% E9 {/ w' M
}
6 ?7 j& I! K/ z7 z$ D9 L* l2 c node.parentNode.removeChild(node);
% ^! I6 u8 C, ~( J 0 T. G9 U6 G6 ~; Q, Z+ F+ `
}
( ~2 h* T8 ~, ^! ~- Z" r) E+ m else
1 R/ P+ g" N6 S4 e" a$ R- B% ^6 m {
; L% F' n& x- L6 u if(node.parentNode) & S4 z$ Z$ |" n a/ S
{/ H( E* J, `. [. A1 N
var orgNode=node;& U$ _' {* @2 C! w( v0 i
var orgColor=this.getobjstyle(orgNode,"color")) n: y" Y. p' H$ f2 [2 E
var orgRGB=getRGB(orgColor); j5 W3 E6 S- K" H
8 m3 Y" H1 x" \: V3 j0 l& D
var parentNode=node.parentNode; M* t- y5 R% S. A/ i3 k& V/ V
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 P$ g* L! I. v" a
. i6 D3 y3 S& Z; V- q1 S7 U8 t. f var isLast=false;2 J7 M- |: w0 n* F% a
; p# c( x1 y. e& M% A9 k
while(parentBgColor == "transparent") . ^5 e9 Z: g, M8 M; I) v
{
6 e, ~/ }( x0 v
( u/ H$ l1 n# V* m( m ( C- P% K9 j0 j% ? j
if(parentNode.parentNode == null)
2 J" a9 K4 g+ g {, `; I0 b- s$ p
isLast=true;. c: o+ n% i- B! \
break;
2 p9 r& J9 p9 X }
( e' ~1 ]2 a1 g: r parentNode=parentNode.parentNode;
5 {! |; ?$ j/ `7 Q) u" O4 C parentBgColor=this.getobjstyle(parentNode,"background-color");4 _8 ]- [4 f* H$ c% P s+ B
( A5 j9 u5 }) s2 ?( n
if(parentBgColor != "transparent")
2 d5 u; K: ~; ~ {
y W) `# f- w8 y) }7 J! ~ y+ P break;
2 X1 E- r9 j" \. n }! d# n% n g8 c( n9 ~ k# a" k
}/ T6 k& b8 L1 h) Y, U. \
if(isLast) G4 M- N* c* Q, S$ G" O0 ^* {* L; M
{ h0 l8 y7 v( `2 `# a+ ]
if(debug)5 R5 W' \, V7 Y: Y/ b
{' x8 x& t \# W! X. d
alert("last!!");3 V4 U, ~1 x+ o4 l
}
+ ?' |) T- V" G- t, O1 x7 u( [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); G0 S+ Y/ A# Q$ M' H" K4 u0 o
{
% s% W* v, a8 u. A4 Q orgNode.parentNode.removeChild(orgNode);
5 t( N# Q, ?! N$ `' | }
) l& K) P' L( e: A }5 q6 B( b6 f. A& ]% G9 I
else
* m- M7 H4 X7 c: ?% j$ u3 d {7 V% e" q- {# T$ G. S
if(debug)
* d0 `; u' J+ A' s( b& u0 f& R {) p! j: e. s/ I: U; D. J2 V; N: A+ Q
alert("compare color and parent bgcolor!");
, {; Z2 S1 Q0 H! ^7 M }7 p$ A g" t K' z9 I, }' X
parentBgRGB=getRGB(parentBgColor);/ I$ j, ]' C l N
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, {# I$ L+ \, r. H: L8 \9 m {
) g* f6 h; K7 m" ` orgNode.parentNode.removeChild(orgNode);
& y% ]- l ^4 F, P0 C Z }
% X1 x) I7 T- H' J- i6 O }
3 L9 `' g( v$ L6 Z' r }% v; L, j: `2 }7 w
}
: L) p/ U( g6 E6 ` }
# [5 d: ], [( B }, {' [! }/ V. u' Y
0 A9 ~* V, G/ W) t) ~3 E4 w
" o/ n: i+ d/ K4 G3 L2 \+ T* j var itemFrames = page.getElementsByTagName("frame");
, n2 n8 i9 s1 M5 B$ M0 V var itemiFrames = page.getElementsByTagName("iframe");
* @1 g1 g) i; V. _2 A # l$ g4 O+ w) P( f( h
var frame, iframe;" l$ h" B3 X) l; b) N/ q9 Z
if (itemFrames.length > 0)
; J/ K2 N7 O) H/ D$ \) C0 d r {9 q% @- S, v1 k6 f. R+ @& O
for (var i = 0 ; i< itemFrames.length ; i++)
. h+ V$ j) U1 s" t* s6 X) L {5 V5 U1 B9 Z. F
frame = itemFrames.contentDocument;+ X6 X1 B3 o+ s1 L. _
this.RemoveHide(frame,objname); $ B! @+ z8 u3 E A# m( g/ s
}
& { y! M6 k. e# N; o- [' J& N+ q }
- E* s) W3 U; }* _+ \ if (itemiFrames.length > 0), l+ f" ?0 Q: {
{
% `, @2 j' F2 @4 ? for (var i = 0 ; i < itemiFrames.length ; i++) : r2 H9 s# U# J. {* z
{
! ]. y2 M& N' p" }0 l$ R iframe = itemiFrames.contentDocument;
9 s) s! d" W2 {6 d! O this.RemoveHide(iframe,objname);
% E! Q6 B8 v! ?, X4 t* U4 V1 ^4 w }
: l% ^, p6 C7 G3 g4 k) S }. u ^/ K" k/ u. ]; ?" P
}
! M7 ]; K0 v- q! R+ b catch(e)
7 G1 p7 g, q) A' b4 ]% x$ { {9 h, `& [$ c3 h2 s
if(debug)( O3 j( s: ], k/ Z
{
+ R) _% k# u5 u alert(e.message);
4 P. e0 N5 f0 N% M s) T5 b1 i+ k }- U6 m. G) G' Z, g+ N J! F8 `$ _
}
0 c5 _" \! S; f8 h. n5 U }4 w; \$ U7 g8 t3 r+ F$ [0 M
p' [4 e c" J2 g}2 F. u4 P- i' m X
% E$ h/ T/ L# f3 V/ m$ H4 Qfunction getRGB(colorString)
1 T1 R& d- i5 Q9 i" e# b{
1 l) b* Z. d6 D2 L var RGB = new Array;6 i! ]% G' y) {6 Z& }5 k
var tempSting=colorString.substring(4,colorString.length-1);
0 l* E& p3 }9 d var tempArray=tempSting.split(",");( @% o) Z, t1 A$ |' _8 R
: U0 g) \! T$ i* i, W' H8 k5 s
RGB[0]=parseInt(tempArray[0]);) S' t+ ?* R/ W6 ~9 f+ J
RGB[1]=parseInt(tempArray[1]);1 ~ d) }% ]- j6 C& v6 F+ K$ K
RGB[2]=parseInt(tempArray[2]);
3 d- M* \; n5 w( ^4 a/ ]
! \/ T" U N4 n" y# {( {# J return RGB;
; C( q6 X: o( G}% Q- e- w2 G5 b
function keys(evt) * G& V/ m8 L( {: }! X2 U# x; u
{
! f6 A$ j: L# b4 ?$ g if(evt.ctrlKey && evt.keyCode=="81")
4 n4 r9 n8 J$ f: Q { & e. k' ^" T7 i, x+ @& V* n( z0 N. _1 M
CleanHideObj.on(0,1);
* g5 }4 P2 P( V+ y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* u# i, Q+ \# P6 \0 I 2 P" J" p% Y: `* z" F4 w
}
U0 F/ F7 U& @% s9 z } 3 O* v) Y) ~0 W& ] ~) t3 i5 q
document.addEventListener('keydown', keys, false);
4 W5 |$ t0 k" [, R+ t4 \7 kGM_registerMenuCommand ('Clean Hide',
. W/ ]1 F' G2 a1 p- T7 U5 J% [9 Nfunction(e){
; h/ I% `& h9 w* W* LCleanHideObj.on(0,1)
7 x6 t) V* a$ c: V* {0 A% v- v. }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 y% a2 H2 t/ i+ }0 z. B8 K0 r/ E
});
0 p: \4 o V5 [( O9 V7 K |
评分
-
查看全部评分
|