|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % L( N- T) h! O5 T7 S( W. |. d7 A
G9 K" z. s+ i7 K* z8 {火狐插件,用猴子
$ Z4 Z, m& Q& a* X4 Q) E4 N) _; {' a; A
var debug=false;
4 |2 }% I7 s* w. D- \var CleanHideObj=new CleanHideClass();2 _3 G2 r. X: a* V" X
- W6 M# ]% m* |1 F8 T6 Y
function CleanHideClass() % x9 G/ `8 N& j7 B2 Z% Z
{ 7 ?- v! B" |5 h( D; u% R- }7 A8 B
& j; q. N3 ^+ k$ X+ T
this.on=function(id,bMZ)1 M) h! ^1 z3 c+ |: K5 v
{
& W: @7 l. [; Y L3 i5 G
+ D+ V6 b4 b2 ?( z% h if(id == 0)
1 d7 P- L8 c! d2 A% I0 h4 s {
7 t; w% H( r; X, I& c( Z0 J var page=/* document.getElementById("content").contentDocument */document; ! t! {5 ^. n, m! c8 z; I m/ f
this.RemoveHide(page,"span");4 @7 a/ g* d5 o) b0 M
this.RemoveHide(page,"font");
. P3 C) B2 e8 l5 d8 ~6 i" n5 {9 H this.RemoveHide(page,"div");" N+ {4 S# x# a5 s9 _+ e, ]- ^( S
this.RemoveHide(page,"p");
8 |" I2 r/ j4 Z% b5 T. l, l . T2 C: x8 H$ p, t9 V
}7 K# y6 R) P* t
9 q% Q6 C8 ^* D4 x# E
}' E7 |% G* a" ^# H8 r/ v2 [' B
this.getobjstyle=function(node,prop)+ N) {1 Z) }4 h. Z+ e( L* d! W
{$ y% c) T* N/ w' H7 M5 y
try
5 a) J7 Z9 S. K: q {( p# x4 p* H7 u" a2 ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; k2 w- b. V9 h7 g8 }
}0 b* F8 H2 {1 \' z" q
catch(e)% i/ m2 P/ o6 j- H: m
{" n- a! ]- a) c
if(debug): y" L/ V5 @% V6 y% o
{$ d0 l; v, i/ `3 {* p
alert(e.message);: l& h9 S% A3 p- f1 D
}
9 q8 S) j. I4 T6 D , W9 M& ~+ t' ?% a6 b
return "200";
* E+ d2 O7 S# ] }+ E( E. W: E1 ^: U5 B
}& n) z, R+ @$ T- r
0 X/ z# \+ ~+ ~! L1 T) V* z/ q+ D" }* C this.RemoveHide=function(page,objname)' R$ P# V9 K( k: s# \
{
m* t, k$ O; h' l/ g& N try. ~! d+ b& Q% C7 J
{: ]4 g% I$ K/ D
var minValue=15;
& z0 P9 _8 x: O+ b% `# D var objs=page.getElementsByTagName(objname);
0 j4 H& n7 O6 i5 {( }5 f& o* a0 p8 ?
" L8 l& E8 O% [$ ^ if(objs.length == 0)
, l. u$ K) i% I9 ~5 ]- Y2 g2 E2 V {
\' b# f; O' c/ ]6 S if(debug)7 O' k+ n5 V( u
{
) i. b9 q( {$ z' s+ \# q alert("no object found!:"+objname);" \; p# q( n: g6 j8 G7 V. L
}
# Y ^! z1 c* e) x }
* k# N' G( s G) T6 ~ else" q7 @; ]. q ^5 K: X6 t, j
{6 U. V* A+ z; H: J# Y
6 M# \! J+ `, [, |+ v+ N
for(var i=objs.length-1;i>=0;i--) , V. q( j! e& l; O
{) ]+ M1 F; ?1 ^9 N0 U- f$ N# U
var node=objs.item(i); 2 P, z$ q1 R6 z: ]- m
4 q; |; }. v$ ~' V c& Q) D $ w! Q/ P2 @( T& {4 J/ _: O2 e" r
if(this.getobjstyle(node,"display") == "none" ||
2 s3 N( k! I9 y& N0 } this.getobjstyle(node,"visibility") =="hidden" ||
" d- \4 b! S% @1 B5 ? parseInt(this.getobjstyle(node,"font-size")) == 0) 5 P" g/ W. a! F
{6 e9 s6 ]+ F0 A* a8 h- G' R0 S
if(debug)- q/ V6 Z9 m, `2 x% @) C) A; b
{, Q# C+ O" m% L* k
alert("remove invisiable!");2 m8 M9 R4 e) z/ f9 \" K% E
}
( j: S) G1 a. a) L6 f) _9 I node.parentNode.removeChild(node);
- C0 X) c3 r, L" n) p
0 r* G1 W& \( m, G5 ?- U2 V }
0 ~ S/ q" S3 q, D else # e) @$ P$ h4 G/ U4 D
{" S" w1 y7 d2 F, x$ S; G, H2 W4 G U
if(node.parentNode)
V; c! {' M6 i6 W' z5 C6 I {$ K& j0 ?) `: ?+ j* z
var orgNode=node;
& b/ e$ @& f1 V' l var orgColor=this.getobjstyle(orgNode,"color")
, v- e, m# D; Z, @ var orgRGB=getRGB(orgColor); / n4 E4 E+ c3 E" B
! ]" w+ `$ V# Z& _
var parentNode=node.parentNode! J2 r- s( P. Q: x4 U. ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");" R+ V. c6 I4 b9 f, {6 }. R8 J
6 ]6 v! U4 G' O7 `6 i var isLast=false;; O; [4 L$ S$ ]2 p2 j5 e
5 V" ~5 Y0 Q! A! ^% R# R& z4 U while(parentBgColor == "transparent") " Y. V: n; r) _" A4 K5 G6 W3 g
{
1 J& P" @+ Z1 N" M. d. B7 k% s& c
, R9 S8 ?: U* v. U$ @; M; m , y A/ y( i* ~; q' G6 L% L- k
if(parentNode.parentNode == null)
1 D/ M0 `" y' r4 G: n4 ~' w( e! E {
6 \- n2 L: |3 q3 S: g: f' n4 o isLast=true;
: g \. o2 E1 F3 h3 y break;- ~0 k% N8 {9 {5 \7 Z
}
2 k3 u0 m, X/ I% t parentNode=parentNode.parentNode;: e7 W' }; L- X2 S' i3 H
parentBgColor=this.getobjstyle(parentNode,"background-color");
b7 O+ \7 P+ V( L& s, I' L
+ R+ v: Q( [- m; z if(parentBgColor != "transparent") ! r. t5 |8 s: D5 q
{; b+ F- O% \! ~0 n: R- x' k
break;
$ `+ {% b8 u2 Z. n# l& n. z% U }. T3 Q' [* c. W' T) b1 ^
}2 h' K/ w4 L u+ W
if(isLast) ! `, e8 x" }3 J, f0 H9 i
{: l& T4 H2 Y! N* O+ K3 o
if(debug)* `; U: K" R% ]: d9 P2 X& ]
{3 h# ~$ h3 k2 |: Y$ N2 r
alert("last!!");
/ }( P3 s7 q6 U F% l8 z }
: E. @: s) D% S; | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) L; M' y; A, C" N/ C
{' }5 l1 _; O+ p' W% n
orgNode.parentNode.removeChild(orgNode);
9 g$ F/ @" g/ y/ \ }
; |, p6 H2 b v% z }+ j# K9 s) p. L* G, \+ u) r5 {, U
else
: k) @7 \# Y# L1 p {
# \; N2 P, u: ~: ]5 a I if(debug)) s9 k G4 z2 @- X
{7 R' V# R0 y' T; H4 b; k% j
alert("compare color and parent bgcolor!");
/ Q0 a: \# K7 q7 b- L' U) B4 p }2 F) e2 V/ U; a* y% ~) G# s3 ~
parentBgRGB=getRGB(parentBgColor);: ?6 t5 J' k1 E) \- E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 t- ~+ q8 k+ \" | {2 [& q0 {! V; f' A; @
orgNode.parentNode.removeChild(orgNode); 0 Q+ h' \* O5 J7 u/ y
}
; B! S3 y0 n. ]3 m }
2 T; l) w Q) T8 W& g y5 b8 L" V }/ C- y/ R8 W' l \( v# j
}
# `4 V$ v u- ~4 w9 M% @, D$ o; P }5 y6 A x* \1 _; p! `
}+ {$ T0 Q% ?' \4 I! k0 W! k& C
$ s. \3 M3 p8 ~# V' D5 d
1 q! t! _. G: _- {! X' ~5 ?) F
var itemFrames = page.getElementsByTagName("frame");' }$ b3 y" E* Q/ v% t' P! g/ ]
var itemiFrames = page.getElementsByTagName("iframe");) l- f3 Z0 r$ z8 w/ t" r
* a1 F! Y z; ?7 L var frame, iframe; b: X1 t8 \ [9 v# ?
if (itemFrames.length > 0)
" H0 B2 D* ^1 T: c5 o* Y2 b {5 t3 q) @! F- e* V; k2 L; ?9 N
for (var i = 0 ; i< itemFrames.length ; i++) 5 w; ~5 ?' F) l9 W5 Q* m! P9 l
{
0 ^" M0 ?7 I" X5 s: O frame = itemFrames.contentDocument;
2 u! h, v* t6 x% K, f this.RemoveHide(frame,objname);
/ q6 y, p/ k2 T6 E. F }
% z6 x1 X4 N. i }
" V. Y4 l e: u w: x if (itemiFrames.length > 0)3 [ Z# u5 y: R7 u4 q
{
$ [5 Y4 _7 }; |% ?1 _+ I# R for (var i = 0 ; i < itemiFrames.length ; i++)
( z9 R! `# O+ N# y$ w! J8 H. S { I9 e& r* C+ ^9 a4 ^$ o6 y8 g
iframe = itemiFrames.contentDocument;
2 A) F4 l! O5 E* @9 V; a this.RemoveHide(iframe,objname);
* ^' ]+ h6 e8 |7 H' e0 V: h& [ }
5 L3 h+ ^+ m" {* \, T% c Y, X$ R D }' R" p/ N5 _" I6 ^/ u0 a8 w
}2 x5 T# u9 M2 q4 y% C
catch(e)1 g9 c7 Z" {" y# m Z/ D
{
4 W4 q( s8 P! O1 ]5 p% K% s6 X; K if(debug)
8 C, v5 Y/ F, J! F {
" O+ J4 l# k1 X) O alert(e.message);
; x; h* R' E- Y( G }5 ?6 k9 o/ ?) {. z
}
0 `4 |% B( L# o }
: F! Q8 e- r$ m- ~" M, ~/ w) | + B0 ?0 y3 l" I7 M1 {3 N# Q
}
Z+ Q" P* s, M7 V" I9 ]: G
7 t$ [9 t2 k+ e+ y- N* efunction getRGB(colorString)/ Y; W1 `) P& ]& P8 U; n
{/ {2 A. p. g8 i3 `$ J
var RGB = new Array;$ K( [$ D) {& H! s) U$ G" U
var tempSting=colorString.substring(4,colorString.length-1);
4 q2 f" I+ S- f# R var tempArray=tempSting.split(",");
, H4 b- E; [0 p ]' V2 I
: A7 d7 _' `' ^! a) f RGB[0]=parseInt(tempArray[0]);: ?6 m( { _1 U+ t; p% L7 m
RGB[1]=parseInt(tempArray[1]);
7 D: }& U2 M. t& P& D- W3 P RGB[2]=parseInt(tempArray[2]);
! F5 D( d7 N& y3 ]7 ~+ i
( A) ?" z2 o; t. e, A& b5 w3 e4 c return RGB;
; S1 e# z0 `+ ~9 ]! o6 ~}
$ s! W% o \7 I4 s. t7 wfunction keys(evt) ! W0 G; q/ r. k4 z! P0 q; F
{
& ^; y7 w/ u) A# C) z if(evt.ctrlKey && evt.keyCode=="81")
+ q9 {' `5 u9 i/ `" ? { # `# J0 J; s0 g- k o
CleanHideObj.on(0,1);
" \1 x) i/ [+ @3 i L$ e" ^4 D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- N7 T) u: T) _
" v+ g, a- `" y' ^ } - ]/ Y' y/ S, m
}
% q: I9 y2 L* O: zdocument.addEventListener('keydown', keys, false);
! M' _; J: K+ V8 R5 CGM_registerMenuCommand ('Clean Hide',
6 a V2 @( c6 u! E& h$ [8 B# lfunction(e){
9 E9 j; k8 K" Y# V @" a- JCleanHideObj.on(0,1)
2 u4 V1 |$ {) R" C$ B4 O/ Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, w6 ~( s/ w" x4 V0 p4 P});
# W; s) z* {2 E) M |
评分
-
查看全部评分
|