|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 z- F: d* ^; o9 O2 T6 `
: k% F: @$ M# b) X6 o2 T3 s; Q+ X- q火狐插件,用猴子
* N' f5 E& w! q; J3 O3 i; \
0 o* F6 f" P. N" [- {var debug=false;
/ z' B7 b- b6 N) T) r3 l& ^- V. [var CleanHideObj=new CleanHideClass();: |- x& f( E! M1 N R
/ S8 a' s! D$ j Z. Z. xfunction CleanHideClass() ! g9 E+ z/ X$ I# R- K9 h
{ & o7 [) m+ F6 A- p" z0 D) t1 j& G X
* h2 d0 X2 C! ~
this.on=function(id,bMZ)" a# o! ] M: k4 e# c9 K9 }. e
{
+ x0 |' u0 b: \
& c& h% C! x: S' H5 E, E if(id == 0)) U+ x# i+ e& E' i7 A
{% }- x8 C8 n: I5 o7 Y% m& v" [9 Z
var page=/* document.getElementById("content").contentDocument */document; - ]. n- p6 T& J
this.RemoveHide(page,"span");
! p4 ]& S3 _6 u6 g3 y7 o1 q9 |* w this.RemoveHide(page,"font");1 N* @/ ~+ P& E' A* e: B
this.RemoveHide(page,"div");
1 t. N& t+ `) \# z( G4 @( T3 e this.RemoveHide(page,"p");, u* G" G& g) i- ?4 V3 n: B7 Y5 B
7 ], q9 O% u! P; X: } }* @, P/ F* S$ ?4 {2 l& x
: U5 l: f" n+ r; } }
% o" ~2 K/ F. g9 j! f5 \% P# O this.getobjstyle=function(node,prop)/ G* O# h _! i7 b0 I
{
) D' ~$ z, f E4 T& ^8 G try
5 ]4 Y: S* v0 G' T# J5 P A& x9 l {
, I! g) p% s% ^$ W$ _. Y5 _ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 W& h( N& t1 R, T }
4 G' A% ~4 n% i W" P' | catch(e)3 D5 P6 ~* T7 A/ S1 ?
{
- S. O3 q9 B) z, w if(debug)% w' P# ?: Y0 b/ |/ Q5 d% P
{
6 ]! n5 y4 S3 O7 i G alert(e.message);
; ?/ r# h; K+ \1 S9 X; }7 d }+ U3 _! T! y2 ~1 {
( [/ q, [; j- B$ i8 }6 k+ ~ return "200";5 a! t( F9 F+ p' w" r9 g& y
}0 e9 c s3 s- l6 ?" f, d& n
}9 Z8 q, f7 Q4 D* r
5 P8 }. f' G, m7 J' X0 v4 [
this.RemoveHide=function(page,objname)
( l# L; H5 P9 C8 E: O% K0 H3 L {
: n( h6 y; a! y! T try
8 K+ q; }! ~/ l9 T2 W3 Z" C4 T5 ] {
$ J; z6 f) s) _( O var minValue=15;2 d( x( c n% N* n. N8 |1 D
var objs=page.getElementsByTagName(objname); 6 L ]3 C$ v0 E; N+ b' T; \% O4 g
1 s2 V2 S6 [6 I0 S0 Z# q* u
if(objs.length == 0) # U7 }6 y' a) }/ C) W4 `* i% M$ j2 K
{; @0 v' u; R& i, k, N6 y
if(debug)& U$ i5 j. f$ w0 d
{
% w, `+ ^5 l3 y5 }# I6 X alert("no object found!:"+objname); q+ {5 H9 x9 E$ F
}7 Y1 P2 U% d8 W' w4 G4 a
}
+ [9 I8 S* }0 Z9 O0 B else
6 K# p' V' j: m2 c5 _" Q {. ~# {0 I9 Q3 x
- R3 y( q, W- ]/ T! q6 j' `
for(var i=objs.length-1;i>=0;i--)
. f2 t2 C9 U" C0 M, V9 T; M# K {
1 L) ~* c( p# e Y w4 H var node=objs.item(i);
' |+ E9 D, I7 j4 x8 R# ^
9 {' I$ e8 L3 E# H) W! @7 j $ W4 o' {* f \$ T! G2 k% Y
if(this.getobjstyle(node,"display") == "none" ||; g- _! Z% M6 m' j1 U3 \6 A
this.getobjstyle(node,"visibility") =="hidden" ||
5 s! Z' |$ B n5 ?3 _+ t: T& i; r9 Y parseInt(this.getobjstyle(node,"font-size")) == 0)
6 Q* D9 f C, G: Y( w1 x; W: b! J$ m {
% D- T4 z0 ]% G- h( v+ J if(debug)
9 h% j2 [+ B$ @/ }( N {
$ r+ e0 b5 t* Q7 P# @ alert("remove invisiable!");
, S( u- z8 b0 Y. a }
+ e- B. K( r. Z1 V node.parentNode.removeChild(node);
3 i8 t- |+ I) k
+ F5 u( [; I3 e2 w% B }
0 E# x0 {- M. g) { else
& f- _4 f. ~5 p9 E; y {
' [$ s0 L) \, a1 h. @ Y: i; C, A if(node.parentNode) 0 `! W7 t4 w+ }9 H$ e! C
{
" u! Y& H' U& x* o# ] var orgNode=node;
; p! v Z& ?' U$ W: ]2 H var orgColor=this.getobjstyle(orgNode,"color")
. h2 Q0 _ V1 s) F. r7 J var orgRGB=getRGB(orgColor); 3 m1 i' l9 y0 A a
5 J1 H. K# ~* g# r
var parentNode=node.parentNode
. ]; e: a: b; }5 l# \8 z4 E var parentBgColor=this.getobjstyle(parentNode,"background-color");3 y5 [3 ^$ i% l. |1 f6 u0 C' {% f
& N8 v0 T) g1 @& t9 M/ X var isLast=false;
* p1 c' {0 s$ d" E! t( ] : e! N" K: w) W! k
while(parentBgColor == "transparent") . e) D5 G* g* q; A
{- ^+ w2 P0 }* ?; R
: P: a( O8 |9 m u
; }) K6 a' P4 Y if(parentNode.parentNode == null)6 S2 r( p" ]: a$ O* h1 Z% Z
{
" ^; `% M. M' o2 f$ c- \$ P5 T isLast=true;. \5 i3 H$ ~: E9 q) G* y, M
break;/ P$ T' o3 E5 d% E# t/ y/ K# \
}
# s& ~+ p7 D# }4 Q5 }: q parentNode=parentNode.parentNode;
9 [4 C- b# i6 `* h) N2 ~: c parentBgColor=this.getobjstyle(parentNode,"background-color");) n/ S# h2 `& z* N; x8 p# h
7 g5 W" l4 V: u0 p
if(parentBgColor != "transparent")
2 T" {7 ?- m4 A" G8 O a {3 S4 I) d6 O9 r5 c( {8 I. U; ^$ `
break;
L5 u1 o+ N' s0 i3 d! W9 i z: G }7 h! M6 }5 ~3 A
}+ L# \ O N; {6 K) d' z
if(isLast)
6 l* T/ G$ Z. t5 G {
% T$ g8 m0 e( p if(debug)
2 G* a; }# Z9 `$ p& @6 y' m {0 g( l7 D! O# M) k7 d* y
alert("last!!");
# x7 R! C% [" }9 U. t* @ M4 L0 z }+ F7 o+ F0 t$ A4 N* Y) h
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 l. S. v2 r9 a0 O5 Z7 j# U {+ B8 a- v, F) ^
orgNode.parentNode.removeChild(orgNode);
% T x8 h& G. S7 M) y }
: l2 D- K3 H+ v$ W: R2 [+ v" o" K$ ` }% b% [. q- ~* Z5 P& ]
else! z# s1 w( R6 C7 A
{6 Y5 ~! p+ M8 ^ H+ \9 u& @" d; D, ~
if(debug)0 h* M7 U; Z. q4 _, i
{
( t# h7 W) p; s3 E' K! E- R& `7 S7 U alert("compare color and parent bgcolor!");
$ @5 Q+ g& m' {& ?$ Z: B }6 @: X: S, g( m- {7 P" n8 E: E
parentBgRGB=getRGB(parentBgColor);* P2 F, |& b" l H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) k' c* i% X) J
{
9 S6 D1 x* J3 J) P, G, l$ n C1 | orgNode.parentNode.removeChild(orgNode);
( ]) F7 I7 E) ~& t, ?: k) v }
) o" b6 c V% E- {/ E/ z) k) T. y }3 v$ M! p, E8 s2 g2 G7 Q
}7 Q9 M8 ^7 a! n' _
}+ R Y7 f4 V* j. z" V, S+ ?3 u
} e& V7 ]' F0 Y; K' N
}1 B+ \" V# P3 {
- B: i: F* U! ]& p, f$ R
. y# E) C+ [+ [+ S1 ~ var itemFrames = page.getElementsByTagName("frame");5 w' E2 _! V# w$ i$ }) j+ k
var itemiFrames = page.getElementsByTagName("iframe");3 ^8 ` w: ~- [+ y0 c/ ^
1 m) @3 J* R* X2 V var frame, iframe;
3 u1 R' P: F% h$ [0 s7 `8 a if (itemFrames.length > 0)0 ]0 a5 z2 t. B/ F
{
3 [- h6 r1 p! u# v* d for (var i = 0 ; i< itemFrames.length ; i++)
+ Z7 n7 r3 N8 z- J4 ?, h5 ~+ ~ {+ R' J0 u& R ~1 e' _2 n
frame = itemFrames.contentDocument;
0 g. @/ G& X# D: v7 s' Y, v this.RemoveHide(frame,objname);
, t5 D% u: s; e }' C* J8 Y5 n1 a" o- D( B$ E% i7 o8 K
}" [1 P' _3 Z4 o, ^/ }: \( V
if (itemiFrames.length > 0)! A% x/ x$ M' k! c4 {
{
; h) G! B& T. G: a7 d for (var i = 0 ; i < itemiFrames.length ; i++)
; N# r8 M5 Y1 m7 h+ f0 m" V7 ^ K { q% e" |1 Y* t7 f) ]: n
iframe = itemiFrames.contentDocument;
8 j4 ^; _: q5 J! f this.RemoveHide(iframe,objname);
6 H+ T5 Z: I7 Z( l9 {5 [8 U }
8 ~4 P0 I e0 r3 m/ D- o }
9 M" @3 B! x" ~ }
3 H) R6 P j' @ catch(e): ~3 U Z" d$ H3 h
{0 X$ K# A- B$ K8 H# H, K
if(debug), _& y" U- x5 e4 Y( z0 v
{5 L( j& q y' f
alert(e.message);
* W8 o6 D4 B! G2 n" _ }
$ b! m: d Y8 U; g+ H% x4 O }! u+ N7 Q4 c2 N7 x8 r; s: v
}
5 F+ n- O5 g" u: C) f! Z 8 `8 _+ H3 ~: m1 Y7 z& V% d
}
& X7 F, d' }1 v) s
' s8 x! Z$ ~+ z \. a# H3 Q7 hfunction getRGB(colorString)* a _9 c/ ]) ~9 h; V
{
. b8 w1 k M) V. E: [" H; j9 P, p8 }) d3 l var RGB = new Array; ?' M3 q$ _6 i* b
var tempSting=colorString.substring(4,colorString.length-1);
; S) W& Z' V3 j; ?! V8 | var tempArray=tempSting.split(",");
+ p+ y4 B0 f. M) @2 w7 o' [. F; T9 f1 V: [. ?: @3 D2 H1 F
RGB[0]=parseInt(tempArray[0]);$ @* w9 X% o, ?( ^3 N
RGB[1]=parseInt(tempArray[1]);
& U$ |$ v. l7 P. f- w% u1 q- o( l3 Y RGB[2]=parseInt(tempArray[2]);+ ?5 b4 J' T' K% C
/ ?- e9 e( H; e" x ?
return RGB;
5 @, c W! [* ?5 p. f; L}7 C$ S4 h0 @$ i0 }0 ~7 h6 b
function keys(evt)
2 `5 w. `8 |% \: a {
0 {/ K7 N- j% ^& I5 R' g if(evt.ctrlKey && evt.keyCode=="81")
4 U* `0 c1 p ?; |& W {
; `5 l2 Y- F: }) G CleanHideObj.on(0,1);$ l4 {+ R$ n5 h, @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + [6 v% H3 j7 J! g; h
$ `0 H3 X4 Y* ]! j/ N! \/ Y& ~ }
( q, _; h0 d$ R& m' W2 g# P+ v' G }
8 P. K& @$ c. Z8 Edocument.addEventListener('keydown', keys, false);
) \) Y- }! {" mGM_registerMenuCommand ('Clean Hide',
5 |" W' o/ m/ K- d1 ` Ofunction(e){
) p& i* w# [) _CleanHideObj.on(0,1)
v- ^2 g# i- Z) H# C5 a" salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 h- }/ z7 f8 T0 Z+ @
});
& {: y2 ^+ c) ~ |
评分
-
查看全部评分
|