|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , x- k) k4 x/ b4 h" i
$ S1 K. Z( @) n6 |* q. M: {5 ~) Y1 W5 F+ T
火狐插件,用猴子# l0 A1 l K D) k# N
. p" r0 t7 c$ y2 l9 I5 C( ^. ]
var debug=false;
+ W1 o- W/ K2 w# xvar CleanHideObj=new CleanHideClass();
+ F" c0 K/ {4 {. Y' U4 T* @) Y
$ d# \4 P' |0 `: [function CleanHideClass() - }" x9 U; ` ]+ m
{
4 p2 U2 `$ I( e ]# V 9 w. J+ @$ B2 o% c! R6 Y% ?
this.on=function(id,bMZ)' W! v- [6 C/ @4 R5 y* m$ a" C1 j
{2 |$ l" q/ B* _/ E7 e! d: S
" o) ? C- m* ]4 C1 t
if(id == 0)
* N) b p3 H7 i2 \ {+ |7 c( [- |8 ^, o
var page=/* document.getElementById("content").contentDocument */document;
8 {; I1 y8 h. E" s8 q* E& X) ~ this.RemoveHide(page,"span");$ G% F! d& `- |2 L c
this.RemoveHide(page,"font");
3 r8 d1 G1 Z, K# A$ l this.RemoveHide(page,"div");
# S( B; [. A3 Z V2 U$ [ this.RemoveHide(page,"p"); t+ d, q2 n g' W9 s
' S/ N8 o. ~5 U$ L# M6 O2 }
}
5 M& n" C: N& n! s# }
8 C- M7 U, \( u! V# p2 q' l }
* G! a3 g4 [: Y, Z+ e( _& F this.getobjstyle=function(node,prop)
2 {% c \- l! E9 z2 M/ n* u5 k {) |" i/ X8 A; B( U6 H
try
8 m: C( O; u f6 Y% g! Z% ` {
/ f" u* |3 h4 i# D# _: a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 ^! D9 S* D; {- W
}
) u5 J, a# z/ G$ H catch(e)
) ]& R6 O" M4 b {% X( v2 Z( M+ p0 o8 {
if(debug)/ k( y% v9 i# O! b5 i' o
{
6 t" Z- K3 z# J+ W5 } alert(e.message);
_, Q+ o& t, K. J r- e }( s3 K$ x& w! v+ E8 e
, H7 k& F9 _- x1 e4 ~) ^" S* O: l return "200";3 R k% Z1 M4 y% x5 I( D
}) p9 d6 y8 V8 D7 n; @
}
* n8 k- Z }2 p) D$ l
) o% O& p, M( A3 S- w% i this.RemoveHide=function(page,objname)3 g/ ^* T5 I) N8 I7 a. u: u
{
" p7 L% V, T3 {4 [9 M; Q5 \ try$ K8 S7 ~. Q: D2 y
{. J4 a2 ?' ^" r5 V% u; Y5 Q- a; t
var minValue=15;
. _2 r3 B7 L' j+ H e! \ R. x var objs=page.getElementsByTagName(objname);
) f) x: H4 P3 x- D/ i' S$ C, T& w) o- O8 t, e6 q, g. W0 ^
if(objs.length == 0)
& I w5 P! G; r c! W {
5 K. \' c: Q# g/ x; _' ? if(debug)
; Q# t7 Z' S: J: q$ o {0 \" f8 D- m: Y1 x+ p
alert("no object found!:"+objname);! ?* d) g, ]+ U. H: E5 T
}6 g7 Z5 h6 \" O' f Q; {% A
}3 T+ C6 x$ g, h7 g* x
else5 v; m- E9 b% [" l6 p' h7 Q# z
{
( X t7 ]* s! P/ k 6 }+ e, B9 B' U& P' W `% M
for(var i=objs.length-1;i>=0;i--)
- T( u- s3 k! W' Q- g9 e' x {
* H( w7 W' ?8 k: I( R! y" w var node=objs.item(i); 2 k; r# N9 J& _6 g6 J
6 q8 s. w* N8 C% N$ M
# [& `5 o# D, p! S. ?4 r if(this.getobjstyle(node,"display") == "none" ||
( f. N3 X9 l4 D! h3 Q3 `. w( g% E4 J this.getobjstyle(node,"visibility") =="hidden" ||
# |; ^9 ~( y3 @2 d! a/ }9 J3 c parseInt(this.getobjstyle(node,"font-size")) == 0) 2 Y1 J5 [* X2 K- K& q% o
{
* B( a' E) C2 x if(debug): ^* U; A. c% m% Z' s
{
' ^; z$ c& J" _" o alert("remove invisiable!"); R( i5 H' j# ^5 B! [5 N
}
6 F( X6 |. c9 W2 ~ node.parentNode.removeChild(node);+ p& O8 F4 `! `1 g
3 G/ t F3 N; Z B+ X9 b
}
2 j0 ^# ?- o2 g else
* T" X% Y F" h$ w$ | {- N$ q! J C( v- f% R
if(node.parentNode) + D, k7 f4 J) Q
{/ ?" I1 L0 y' B' o6 g' ~( @
var orgNode=node;. B. P1 V/ X1 e6 M2 J/ e+ C$ j8 P
var orgColor=this.getobjstyle(orgNode,"color")
# Z, C% s! t+ K' L) E2 ^ var orgRGB=getRGB(orgColor);
/ q2 r8 x- U/ A $ ^2 l: H6 c+ W" H$ Q) z% L: n
var parentNode=node.parentNode' `8 r, ]. k3 A; U5 Z3 z7 V7 M0 C
var parentBgColor=this.getobjstyle(parentNode,"background-color");. R: ^% B! z2 w
+ |$ M4 v4 ?$ M# G! ~- s
var isLast=false;
' _8 D# A$ B& C; _# ] * ?/ M* B- R$ S6 u3 z3 K0 Q/ `6 t* M
while(parentBgColor == "transparent")
# L% b1 Z( A3 L) Y. o$ c {
: C! a- C' G/ m9 x) `+ k; b6 N
4 X5 I2 E# K; I8 k
: c/ Y9 `. t3 m. q7 s if(parentNode.parentNode == null)* t, t- }$ |% D% Q6 i
{, E+ {; a7 }) E# {1 f
isLast=true;! |; ?3 P! \" I8 p* A
break;* X3 }* T! {$ j" j0 n" `5 t' z# f
}% F; O8 o" b, _ }: j6 o
parentNode=parentNode.parentNode;
- L0 G$ e! `1 B0 Y parentBgColor=this.getobjstyle(parentNode,"background-color");
7 ?0 X8 N9 u8 C* r: Z1 I1 ^! k( J Z E4 `
if(parentBgColor != "transparent") + V7 j3 k! {& m+ }8 W: X$ [
{( x2 m8 A$ N4 F7 i
break;) K0 l" _' w7 V
}, K, W8 A, @" U5 s$ P& r- V" z6 b% P d
}3 u- e0 z% A& d" x Z5 \4 ]
if(isLast)
2 o h) T& k) T2 n+ N0 M6 C4 R& P: A {" K3 o, e e8 Y8 P' D- N l, I
if(debug)
1 q5 p4 r5 T5 s3 [) |& M0 ]2 m {
6 V: o4 b1 s" p- k alert("last!!");9 {" K. X: j4 o7 }
}
) T7 G& M5 K6 p* h& r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" t9 z8 e" d0 T# C8 s0 U- `
{
- Z2 y' [2 l; X$ I% R5 q orgNode.parentNode.removeChild(orgNode); 5 y5 A1 Z0 O* ?. Y. ?% @! ^) J
}
w4 `) I9 V" S }6 O5 I2 |. C6 _5 N
else
, q# v7 u9 Y* W {
& X! T* ]# T5 J: \3 n, Z$ D) ?3 L2 X3 m& ^ if(debug)- x4 k0 Y. u0 N& s7 G$ q& v
{9 b( f* K& N7 j4 E
alert("compare color and parent bgcolor!");1 G0 Y/ M: C9 o3 J7 A
}- F& h8 ?6 J: T
parentBgRGB=getRGB(parentBgColor);& {; t7 p9 S+ ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ \6 l/ @8 j. k6 V {+ x! A8 H, z1 d5 ~+ }" M
orgNode.parentNode.removeChild(orgNode);
3 o* o3 d# d4 p }
* k: K) c* q; z' x) Z$ A- a } ^2 V2 g# e' ^. A! R- w
}1 M1 o( t9 g5 t# j2 C; W
}
9 \- j( R9 d+ j" M }$ W( [7 }) I4 j# ]: X4 G/ t
}
# i( ^& G {" m5 F l P; A
5 g/ q F* i* `, c8 T7 f
( V9 a8 W/ |6 b5 `5 { x7 z) W1 p* _ var itemFrames = page.getElementsByTagName("frame");! R4 t, h5 |* B P/ d% N( W
var itemiFrames = page.getElementsByTagName("iframe");
) J# q$ m( L8 ^/ I/ r) {$ C
1 B1 z7 M% _) w4 W9 |$ c9 j var frame, iframe;
9 Q0 ~, l9 O( _7 F1 y) | if (itemFrames.length > 0)4 U: Z* W2 ^( n/ Z9 d$ F( P
{; l! Q% S/ ?- t
for (var i = 0 ; i< itemFrames.length ; i++) - `. e5 O" A* m: k% |0 V V( h1 q
{
' w: h B- s8 a: T. B$ H frame = itemFrames.contentDocument;
* ~4 B* @! T8 E3 ~7 S# y& ? this.RemoveHide(frame,objname);
; D3 x8 S) ?& h0 h, E# ` }
$ Y% G. p) a( g }
! T8 k! C Y# M5 H if (itemiFrames.length > 0)
: N T/ c, S/ t* j8 Q7 a {
7 G1 F5 M! d( c' B for (var i = 0 ; i < itemiFrames.length ; i++) " T' L3 S( u% Y( J6 l* O+ l+ a
{
$ U: w2 o* L6 y% S: i! r! U' q% L/ G iframe = itemiFrames.contentDocument;! X( r( y: m& Y
this.RemoveHide(iframe,objname);
9 }4 F+ j% n z; {) s6 j# P }
2 I$ d/ j5 r" k7 ]+ H4 t/ \+ v }
" A* p/ |8 K U& }& A }
& d) W! A+ V6 w2 _ ]5 d! @$ h catch(e)9 A4 U$ s4 m s. u
{3 \$ [' x7 |( r% _7 X6 p( z
if(debug)! I) i% q6 v+ s
{
3 _+ T9 {7 {8 v7 H alert(e.message);2 T+ c z( V. k6 R
}7 i* g% T9 {5 b0 Z
}
+ L8 f. o" [1 `2 G0 _) |0 I }3 b+ r5 w, g0 f8 \
" Y: S- o* o4 n: O9 E}
- l% @0 G% S$ u, p! c2 A- C @
- T8 `, k+ r4 zfunction getRGB(colorString)' Q) M! ^* m; b0 R2 ` P
{
6 K# O+ A% [7 y0 ~) H! J; M var RGB = new Array;
" E( {2 C9 V6 y. a+ Q var tempSting=colorString.substring(4,colorString.length-1);
* M( `6 ?6 a9 d% N/ C' e/ a var tempArray=tempSting.split(",");+ f$ {* h9 e8 u7 a
* Q% p; X8 H4 E3 V3 B' k Q9 v
RGB[0]=parseInt(tempArray[0]);& t: g) D! A. t0 Z+ s: D1 M
RGB[1]=parseInt(tempArray[1]);7 C: k* V- F4 O; ^& x5 N0 _
RGB[2]=parseInt(tempArray[2]); ^9 M- o1 V4 G6 w" S
! L4 q, K/ f& `4 {( t9 ^$ Y
return RGB;
; b2 i1 O7 A$ W Z; s3 o& \* M}
" {! }, x0 N8 j8 hfunction keys(evt) & c4 u5 J' ]; a' T5 Z2 g
{ ! r) c3 k0 D* k3 t* F; _5 r/ V
if(evt.ctrlKey && evt.keyCode=="81")
: `9 d! G% p9 _0 p _3 a {
# A, R2 k% M% t% f CleanHideObj.on(0,1);% a- [ P: Y+ c0 K2 U' x" ] O4 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . f$ J8 I, V8 b5 Z; r( a) F2 ]
- _- U% S2 g3 g Q3 K' n/ c
}
9 D# P, X8 O+ E8 r }
* T3 s7 Q. s1 u5 d- \4 ?6 j9 O mdocument.addEventListener('keydown', keys, false);
4 s+ g% T- f& F W( c: q2 qGM_registerMenuCommand ('Clean Hide',
+ k( J* d V! R8 Qfunction(e){. c# e5 T" s* B
CleanHideObj.on(0,1) Q$ L" S: _/ M& R# E' ]" w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- b! |3 ]5 N8 c9 e( u6 [7 r, C9 R0 r});9 p9 ^* w$ k/ g' A/ r0 \
|
评分
-
查看全部评分
|