国外纷纷传言IE8将是Internet Explorer的最后一个版本,这个猜测来源于Microsoft的CEO Steve Ballmer对WebKit的青睐。不过鲍尔默只是说对WebKit感兴趣,当同时会继续开发浏览器,对其扩展一些私有的特性。
原话:
"There will still be a lot of proprietary innovation in the browser itself so we may need to have a rendering service."
"Open source is interesting, Apple has embraced Webkit and we may look at that, but we will continue to build extensions for IE 8."
不过对于IE8的继任者,大家各有猜测。有的人依据上面的话,推测下一个浏览器可能采用WebKit的核心。也有人猜测说传言采用WebKit核心只是一个幌子,实际上可能会采用Microsoft最新研究出来的下一代渲染引擎——Gazelle...
JavaScript和ActionScript互相调用时,其实有个非常好的特性,不过貌似很少有人提到这个特性:它们之间的数据类型对方均可以识别。因此,你可以通过swf提供的接口来传递对象、数组、字符串等等。不过它们之间传递的参数的值的长度有限制(具体长度还没仔细测试),因此你不能把JavaScript中的一个超大的对象直接传递进去。不过即使是这样,已经非常好用了,看看示例代码:
AS(ActionScript)代码:
// 创建一个行的TextField来显示调用结果
var t:TextField = new TextField();
t.x = 10;
t.y = 10;
t.width = 300;
t.height = 200;
this.addChild(t);
// 这个是要给JavaScript调用的函数
function test(obj){
var s = [];
for(var p in obj){
s.push(p + ': ' + obj[p]);
}
t.text = s.join('\r\n');
}
// 添加调用接口
ExternalInterface.addCallback("test", test);
t.text = 'ready';
// 调用JavaScript,告诉JavaScript我已经准备好了
ExternalInterface.call('ready', {a:'a string', b:'string b'});
在AS3里面,你每次创建的一个TextField对象都有一个相同的默认TextFormat,当你每次改变这个TextField里面的文本内容时,这个里面的文本使用的格式就是默认的格式(默认的TextFormat)。比如下面的代码可能和你期待的效果一样:
var fmt:TextFormat = new TextFormat();
fmt.align = TextFormatAlign.CENTER;
fmt.color = 0xffcc00;
fmt.size = 14;
var tf:TextField = new TextField();
tf.width = 140;
tf.height = 24;
tf.text = 'This is just for test';
tf.setTextFormat(fmt);
这个时候,这个文本的颜色是橙红色,字体大小为14号,没有任何问题,和我们所期待的一样。但是如果接着你改变这个文本的内容...
2009-3
先废话几句,这第23篇教程一直没有翻译出来,直到今天我看到待审评论里面有这么一条超长的评论,结果一看,居然是这篇教程的翻译稿。这位热心的Mootools爱好者是Fanhp,非常感谢你的辛勤劳动!同时,我感到非常羞愧,实在是有愧大家的期望!愧疚是要拿行动来补的,于是我赶紧对此篇翻译进行了一些整理,修改了其中部分词句,并整理了示例代码。
------------------------
如果你还没有准备好开始这一讲,请参考这一系列的教程,这里是《MooTools 1.2系列教程目录》。
今天继续我们的Mootools 1.2教程的第23课,我们今天来讲一下Fx插件中的Fx.Slide。通过该插件,可以让你把内容以滑动的方式显示出来。它使用起来非常简单,是你UI工具箱中一个很好的工具。
基本用法
就像我们前面看过的所有类一样,我们在把这个类应用到一个元素上面时,我们要做的第一件事就是初始化一个新的Fx.Slide实例。
首先,让我们为滑动元素建立一个HTML文件。
<div id="slide_element" class="slide">这里是要滑动显示的内容。</div>
继续Mootools的扩展,适用于Mootools 1.1及1.2,这次在Element扩展了两个非常简单的方法,一个用来获取或者设置一个元素的innerHTML(这个是模仿jQuery里面的html()方法),还一个方法是把一个表单对象转成hash对象,用得比较少一点。
方法:html
说明:当参数不为空时,设置一个元素的innerHTML,当参数为空时,返回当前元素的innerHTML。
Element.implement({
html: function(s) {
///<summary>
/// 获取元素的HTML内容或者设置元素的HTML内容
///</summary>
///<param name="s" type="String">参数为空时,获取HTML内容;参数为字符串时,设置HTML的内容</param>
///<returns type="String" />
if (s === undefined) {
return this.get('html');
}
else {
this.set('html', s + '');
return s;
}
}
});
本来想等到IE8正式发布时再在blog中写段代码,用来提示IE6用户升级到IE8的,不过貌似IE 8已经RTM了,今天又正好看到这个“升级IE6”的活动网站,于是毫不犹豫地就加入了。不过那几个同学写的js代码有问题……代码里面居然有“document.body.appendChild”,在某些情况下会引起极不稳定的IE6crash的……还有超长的字符串相加,也够可怕的……还有……总之呢,这个代码写的非常的不负责任!那几个挂名的tencent的兄弟也稍微用点功嘛,不要只挂名不做事!我自己稍微改了下代码,如果明天有空就发出来给大家共享吧!
不过那个网站写的更新IE6的理由只是从开发者角度讲的,没有告诉用户为什么要去升级IE6,不是很好。
- 为达到呈现效果达到一致性,新版本浏览器迫不得已向旧版本对齐,从而抑制了正常的发展。
- 已升级的语言在IE6无法解析以致其用户体验不了升级后的成果。
- 在开发当中不断地为IE6做出兼容性处理,无疑增加了开发者的工作量,增加了开发成本。
- 考虑到使用旧式浏览器的用户,开发者不敢作新语言的尝试因此拖慢了W3C标准的步伐。
放弃IE6吧:“Internet Explorer 6 sp1发布距离至今已经有7年时间了相对于人类70年的寿命,对新版本语言支持已经显得力不从心了。”
很早以前就说过,IE8的标准模式已经不再支持滤镜了,不过IE仍然留了一条后路,你可以在CSS中这样写滤镜:
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
当非常遗憾的是,这个属性只有IE8能认识,如果要兼容IE6还有IE7,你必须在这一行的后面继续加上以前的滤镜代码:
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
注意:这个先后顺序非常重要!这会影响到IE8兼容模式下的显示效果。
官方blog(IE Blog)的关于在IE8中使用滤镜原文在这里...
继续Mootools常用方法扩展,这次是Window类上的扩展,也就是全局函数。
方法:$params
说明:获取页面URL参数。你可以使用任何指定的分隔符,比如'#',默认为'#'。
Window.implement({
$params: function(delimiter) {
///<summary>
/// 获取页面URL的参数,返回包含参数的hash对象
///</summary>
///<param name="delimiter" type="String">参数和URL的分隔符,比如?或者#,默认为#</param>
///<returns type="Hash" />
delimiter = (delimiter || '#').escapeRegExp();
var params = new Hash();
try {
var requestStr = (location.toString().match(new RegExp(delimiter + '(.+)$')) || [0, 0])[1];
if (requestStr) {
params = requestStr.toHash(true);
}
}
catch (e) {
}
return params;
}
}
方法:$dump
说明:类似于PHP中的var_dump方法,打印指定的变量或者对象的内容,返回描述变量内容的字符串...
Processed in 0.2031302 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号
2009-3
2009-2
用户中心
日志分类

最新日志
最新评论
统计信息






友情链接