IE8终于出来了!完装后重启,IE7和IE8模式可以并存.
官方地址
http://www.microsoft.com/windows/products/winfamily/ie/ie8/getitnow.mspx
做了简单测试.
新问题
图片标签没有设定长宽的情况下,设定float:left;图片会消失。
对网站文本进行选取,出现文字不可见。
html标签在不设高度情况,如果汉字行高设为奇数,会使外html标签增高一像素。
不支list-style-image;奇怪了。
改进
从IE7开始大部份标签开始支持伪类:hover,现在IE8开始支持伪类:focus;(复选框不支持);
继续测试中…..
Internet Explorer 8测式版出来了
三月 6th, 2008IE中z-index层叠失效
三月 3rd, 2008最近在制作HTML页面,很多两列的地方需要一侧因定宽度,另一侧自适应宽度.当需要一个下拉菜单效果时,无论把z-index的值设为多高,菜单的DIV始终不在页面最顶层.
HTML
<div class="a">
a <div class="menu">sub a</div>
</div>
<div class="b">
b
</div>
CSS
.a {
position:relative;
background:#f00;
}
.menu{
position:absolute;
background:#0ff;
height:50px;
z-index:99;
}
.b {
position:relative;
background:#ff0;
}
以上是页面代码,menu的z-index已设为99,但在IE6,IE7中DIV[menu]始终在div的下面.只能通加设置div[a]的z-index的值来提升级div[menu]层叠高度,但在火狐中无需设置.可以看出IE对层叠顺序的继承性比火孤要严格的多.但本人觉火孤的方式接近设计者的意图.虽然对IE和火狐对CSS不同解析深恶痛绝,也只能感到无奈.
用Flash AS3正则表达式实现百度的MP3搜索
三月 2nd, 2008利用flash的URLRequest向百度发送关健字,再利用正则表达式提取mp3结果列表.再对结果列表再次请求,获取mp3的真实地址.
下面是具体的类
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.net.URLVariables;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.xml.*;
import flash.events.IOErrorEvent;
public class Mp3Search extends MovieClip {
private var xmlTextField:TextField = new TextField();
//dansion.com dansion@163.com,;
private var loader:URLLoader;
private var sub:Number;
public var Mp3List:Array;
public function Mp3Search() {
Mp3List=new Array();
Mp3_search.trackAsMenu=true;
Mp3_search.addEventListener(MouseEvent.CLICK,search);
}
private function search(event:Event):void {
var variables:URLVariables=new URLVariables("f=ms&tn=baidump3&ct=134217728&lf=&rn=&lm=0");
variables.word=input.text;
var request:URLRequest = new URLRequest();
request.url="http://mp3.baidu.com/m";
request.data=variables;
loader = new URLLoader();
try {
loader.load(request);
} catch (error:SecurityError) {
trace("A SecurityError has occurred.");
}
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);
trace("btn is donw: "+input.text);
}
private function loaderCompleteHandler(event:Event):void {
progress_txt.text="加载完成";
//var mp3Exp:RegExp=/http://([w-]+.)+[w-]+([w- ./?$,[]%&;:,+=u4e00-u9fa5]*)?216/g;
//var mp3Exp:RegExp=/http://[^box][0-9]([w-]+.)+[w-]+([w- ./?$,[]%&;:,+=u4e00-u9fa5]*)?216/g;
var mp3Exp:RegExp=/http://220.181.38.82([w- ./?$,[]%&;:,+=u4e00-u9fa5]*)?216/g;
var mp3_array:Array=new Array();
mp3_array=loader.data.match(mp3Exp);
//trace(loader.data.match(mp3Exp));
/*for (var i=0; i<mp3_array.length; i++) {
//trace("输出: "+mp3_array[i]+" 结束");
var chineseExp:RegExp=/[u4e00-u9fa5]+/;
//trace(mp3_array[i].match(chineseExp));
Mp3Name.push(mp3_array[i].match(chineseExp));
}*/
trace("——————–");
formatURL(mp3_array);
}
private function formatURL(array:Array) {
for (var i=0; i<array.length; i++) {
SubLoad(array[i],i);
//sub=i;
}
}
private function SubLoad(url:String,num:Number) {
var chineseExp:RegExp=/[u4e00-u9fa5]+/;
//trace(mp3_array[i].match(chineseExp));
//trace(url);
//var mp3name:String=new String();
var mp3name:String=String(url.match(chineseExp));
var subrequest:URLRequest = new URLRequest();
subrequest.url=url;
60; var sub_loader:URLLoader;
sub_loader = new URLLoader();
try {
sub_loader.load(subrequest);
} catch (error:SecurityError) {
trace("A SecurityError has occurred.");
}
sub_loader.addEventListener(Event.COMPLETE,SubLoaderComplete);
//sub_loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);
function SubLoaderComplete() {
progress_txt.text="开始分析第"+mp3name+"搜索结果";
var SubMp3Exp:RegExp=/http://([w-]+.)+[w-]+([w- ./?%&=u4e00-u9fa5]*)?.mp3/g;
trace(mp3name+" :: "+sub_loader.data.match(SubMp3Exp)[0]);
}
}
private function loaderProgress(event:ProgressEvent):void {
progress_txt.text=String(event.bytesLoaded)+"/"+String(event.bytesTotal);
}
private function errorHandler(event:IOErrorEvent):void {
trace("IOErrorEvent 出错");
}
}
}
其中主要是两个正则表达式写法.
新建一个MC链接Mp3Search类,MC里有一个文本输入框(名:input),一个表示按扭的MC(Mp3_search),加载提示动态文本框(progress_txt).
转载请注明出处!
点这里下载
细说百度的IM工具
三月 1st, 20081月29看到有百度出了内测的百度hi,下载安装了.虽然不能正常登录,看从百度安装文件夹看到一些眉目.安装后占用空间:22.7M,不算大.
logo,一个熊头和一个气泡整合(灰白色),再加上蓝色的H和红色倒过来的i.红蓝两色是来自己百度的logo,反正百度的也经很土了,估计设计师在设计这个logo一定很头疼.这个logo快捷方式在桌面并不显眼.
sysface目录有58个系统表情.表情的细节不如QQ.
syshead目录有28个头像.基本上是风景图片,或是根据百度hi的logo图片.不如QQ有个性,不能登录不知道支不支持自定义头像.
sysimage目录里的GIF图片可以看出除了发送自己定表情外,也可以发送截图(默认表情应该是通过字符转义实现).
MovieData目录有三个SWF文件,一个是登录动画,另两个是视频联接的动画.
skin目录里有两个皮肤,一个是default,另一个是rose(应该是针对女性用户的皮肤)
sound目录是几个系统提示声音.也没有什么特色.
AutoUpdate目录,这个是自动更新.
从安装目录里的licence文档里看到:"特别声明:百度Hi软件的语音视频技术得到Global IP Solutions, Inc.的授权"
从网上放出的界面看,整体外观也是一般.好像VISTA出来后,很多界面设计都模仿那种变化线(不好表达,就用这个词代替).
从一开始听说百度到现看到实际的东西,心里落差比较大.总感觉并不好.网上有网友对百度hi这个名字就不认可.想想也是,网友取名百度小声,百度说吧.以及baidu message .除了baidu message有MSN的味道之外,小声,说吧,还是不错的.众里寻他千百度,这个百度公司名的来源,其实百度可以再从这诗句再命名.本人就认为叫"千寻"也不错.可以和百度名字对应,而千寻这个名也不失IM的特色.更保留文化特色.如果实在不好决定用什么名字,也可以以百度的影响力,在自己的贴吧,网上搞一个名字征集活动,再来个投票,不但可以震震声势,也可以让广大网民参与其中.
网上报道说百度开发近一年的时间,而且其中最重要的语音视频技术又不是自己开发.从已知的功能上来讲,百度的开发实力也不怎么样!
QQ已经大众化,MSN也有相当部份上班言族在用,SKYPE也不公司,网上做生意用淘宝旺旺,个人用来当免费电话.对于一般网民而言,都是一上网开QQ,偶尔用MSN,skype.开网店的用旺旺.那百度的定位是哪里?娱乐性不如QQ,功能实用性并没有吸引人的.或许一些百度贴吧,百度知道,百度空间的用户会用,还有就是尝新鲜的青少年.这些不足和QQ竟争.说不定和只能MSN(国内用户)较个劲.
IE6中textarea宽度问题!
二月 29th, 2008textarea设了100%宽度,起初在IE,FIREFOX都正常显示.但在IE里只要输入文字就会自动增宽.
解决方法:在textarea外再加一个100%宽的div.
哎,又是一个BUG.
Mark of the web
二月 27th, 2008用了N年的Dreanweaver,一直没注意在菜单"命令"最下面有一个插入Mark of the web(也不知道Dreanweaver cs3之前版本有没有),什么是Mark of the web?
最后在微软的MSDN上找到相关资料,是安全设置.在用户把网页另存到本机,再打开时,限制执行脚本,ActiveX控件。简称(MOTW).
具体的格式:
<!– saved from url=(URL长度)URL地址 –>
其中URL长度以四位表示,URL地址是所在的域,URL长度要和URL地址的字符长度一致。当不知道URL地址时可以用以下通用格式。表示在internet.
<!– saved from url=(0014)about:internet –>
不过对IE7好像没什么作用。windows xp2 之后,IE对本地执行js脚本都会有安全提示功能。火狐等它浏览器应该是不买微软这个帐的。总得来说没啥作用。搞了这么多年的网页,这个东西算是旮旯级的东西。
js+flash实现一次上传多个文件
一月 15th, 2008在老外一个博客中发现一个好东西.
利用flash调用文件选择对方框的功能,给合js,实现可以一次选择多个文件,并且可以定制文件类型.
绝对的好东西.
老外的博客地址:http://digitarald.de
上传组件演示地址:http://www.dansion.com/FancyUpload/FancyUpload.html
FLash在Firefox中100%高度问题
一月 9th, 2008Flash在加上xhtml文档声明的html文件中用不着100%来设定高度.在IE中没有问题,在Firefox中就使100%高度无效.
一种做法是去除html文档最前面的文档声明。如果不去除xhtml的文档声明,加上一段CSS就可以解决问题。
html{
height:100%;
}
其实使用xhtml的DTD不但使CSS的设置会出现问题,而且会使用html下的JS在xhtml下也可能出现问题。
其中最常见是xhtml的滚动条的样式在body里设置也是无效,也得用html下设置。
FLash中escape()出问题
一月 8th, 2008利用escape () 转化中文的URL地址,但转成的结果并非是正确的结果。
查来查去,最后发现是AS3.0的escape()和AS2.0的escape()有着不同的功能。
AS3.0用escapeMultiByte ()的功用才和AS2.0一样。
Flash中ExternalInterface.call返回null值
十二月 31st, 2007利用ExternalInterface.call调用html里的js函数,参照了flash帮助文档里的做法.可以执行js的函数.但就是无法获取return的值.
网上一大堆教程也只是抄flash帮助文档的东西.也试了allowScriptAccess=always.结果无效,
最后让我去搜了N个flash网站,答案居然是只要给<object>加上一个id或是name就解决了.
哎…….无语了
注(IE7.0)