Archive for 五月, 2009
js:IE与DOM浏览器的不同之处
星期二, 五月 26th, 2009 by 裕波
IE 处理 “/>” 形式的结尾标签有问题。如下面这段:
<form …> <table … /> </form>
如果使用 JavaScript 向表格内添加表单元素<input>,你会发现在 IE 中<form>并没有把这些<input>包含起来。为什么呢?看看<table>元素的 innerHTML 就知道了:第一行竟然是“</form>”!可见 IE 对这种情况的处理有多糟糕。FireFox下就没有这种情况。
IE 的 DOM 模型不允许设置 <table> 元素的 innerHTML。在 DHTML 参考文档你会看到,IE 建议使用 insertRow 等方法来操作表格内容,而使用 table.innerHTML=… 在 IE 下面就会报错。 FireFox 没有这个问题。
IE 的 DOM 模型不能正确地创建单选框。如下面的 JavaScript 代码:
var radio = document.createElement(‘input’); radio.setAttribute(‘type’, ‘radio’); radio.setAttribute(‘name’, name); radio.setAttribute(“value”, value);
如果把这样创建出来的单选框放到页面上,在 IE 下这些单选框都没法选中。FireFox没有这个问题。折中的解决办法是:
function createRadio(name, value) {
if (navigator.appName.indexOf(“Microsoft”) != -1) {
var radio = document.createElement(‘<input type=”radio” name=”‘ + name + ‘” />’);
radio.value = value;
return radio;
} else {
var radio = document.createElement(‘input’);
radio.setAttribute(‘type’, ‘radio’);
radio.setAttribute(‘name’, name);
radio.setAttribute(“value”, value);
return radio;
}
}
yui3拖动—5句代码实现
星期六, 五月 23rd, 2009 by 裕波
如果你有用javascript写过拖动的话,应该知道是有多么麻烦的,不过yui3为大家提供了一个非常方便的方法实现拖动,今天我们先来看看使用yui3实现最简单拖动,首先贴出代码(如果你感兴趣,可以点击这里查看效果):上面我有相应的解释,这些解释都是我的个人理解,可能不完全对,但是这样就可以实现拖动了,如果你有正确的解释,请与我联系,谢谢!或者请留言。
//引用yui-min.js,将其放到head之中
<script src=“http://yui.yahooapis.com/3.0.0pr2/build/yui/yui-min.js” type=“text/javascript”></script>
//body中的内容
//结构
<div id=“demo”><h2>x</h2>Drag Me</div>
//js代码
<script type=“text/javascript”>
YUI().use(‘dd’,function(Y) {
var node = Y.get(‘#demo’);//使用Y.get获取id为demo的对象,与原生js中的document.getElementById()相同,功能会更强一些。
node.plug(Y.plugin.Drag);//我的理解是确定被拖动的对象
node.dd.addHandle(‘h2′);//用于控制拖动的地方,这里就是当鼠标移到h2上的时候就可以拖动
node.dd.addHandle(”);//这样写的话,就是在demo的任何位置都可拖动
});
</script>
今天才发现,腾讯真正涉足房产资讯—腾讯蓝房网
星期六, 五月 23rd, 2009 by 裕波
今天在浏览网页的时候,无意间发现腾讯已经涉足房产资讯,这里所说的涉足,意思就是他已经发力去做了,不是像平常的频道一样,挂靠在QQ这个域名上,他这次采用了注册独立的域名:http://www.fangqq.com/。
随后我很感兴趣的去查了一个这个域名的注册信息:
Domain Name:fangqq.com
Record last updated at 2009-01-06 07:05:24
Record created on 2008/8/25
Record expired on 2010/8/25
可以看出,域名注册的时候不长,也是从去年年底才开始的,现在据我所知,在房产资讯做得比较好的要数搜房与新浪乐居,现在腾讯专门注册域名,并且使用了腾讯蓝房网这个名字来做房产资讯,看来以上两家公司也是棋逢对手也。房产资讯的战争从现在开始真正拉开了序幕。我们拭目以待。
大概对比了一下,腾讯蓝房网的导航除了颜色使用了蓝色以外,和乐居的导航有些相似,嘿嘿,至于内容嘛,腾讯在主要内容部分的左侧采用了一个QQ购房群,哈哈,这一点腾讯还是保持了以往风格,充分发挥QQ这个IM的优势。
从整体布局来看,我觉得腾讯蓝房网更胜新浪乐居一筹,哈哈,这是仁者见仁,智者见智,如果你有什么新的看法,可以联系我,或者给我留言。
谷歌搜索结果增加“搜索百宝箱”
星期五, 五月 22nd, 2009 by 裕波
哈哈,不多说,直接上图,你就知道是怎么回事了!
遇到有朋友不太明白,我来说明一下:
1、在首页输入关键字,搜索
2、搜索结果页,见图一,点击“搜索百宝箱”
3、第二图,将展开“搜索百宝箱”

谷歌搜索百宝箱

谷歌搜索百宝箱展开
yui 事件(Event): 简单的DOM事件
星期五, 五月 22nd, 2009 by 裕波
今天我们要了解的是YUI的简单的dom事件。
主要包括:点击事件和阻止默认事件的方法(如果你对此感兴趣可以:点击这里
查看效果):
1、有一个蓝色背景的方框,点击他以后,会弹出一个对话框,其实这里就是原生js中的alert的效果;
2、一个普通的链接,点击以后,带你进入新的页面;
3、一个链接,但是被yui阻止它的默认事件,就是阻止了链接,他只会弹出一个对话框,但是不会离开当前页面。
下面我们就来看看代码。
上面的代码需要大家注释的是,在head引用了yui-min.js的链接,使用了YUI().use(‘node’, function(Y) {});将我们需要的代码框起来,还使用了Y.on(“click”, helloWorld, “#container”);方法来实现点击事件,使用了e.preventDefault();实现阻止默认事件。
js用来区别IE与其他浏览器及IE6-8之间的方法
星期四, 五月 21st, 2009 by 裕波
1、document.all
2、!!window.ActiveXObject;
使用方法如下:
if (document.all){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}
if (!!window.ActiveXObject){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}
下面是区别IE6、IE7、IE8之间的方法:
var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
if (isIE){
if (isIE6){
alert(”ie6″);
}else if (isIE8){
alert(”ie8″);
}else if (isIE7){
alert(”ie7″);
}
}
首先我们确保这个浏览器为IE的情况下,进行了在一次的检测,如果你对此有怀疑,可以测试一下。
我这里就直接使用在判断中了,你也可以将他们先进行声明成变量进行使用。据说火狐以后也会加入document.all这个方法,所以建议使用第二种方法,应该会安全一些。
跟进校友下拉被挡,我反对使用iframe解决
星期三, 五月 20th, 2009 by 裕波
虽然他们现在解决了这个问题,而是使用了web标准不提倡的方法:iframe。
利用iframe在页面中占的z-index的比重,使其绝对定位在flash的上方,在让下拉菜单放在其上,虽然从视觉上解决了这一问题,但是我是非常反对的。
在此我表示抗议,哈哈!我不赞成这一方法的使用。
看腾讯校友,谈下拉菜单
星期三, 五月 20th, 2009 by 裕波
其实今天写些文,已经感觉到本人可能不太称职,不好好工作,居然来写别人的是非,但是此文让我不得不写,因为我为部分产品人员,交互设计师不考虑web前端开发的难度,完全凭借自己的感觉做事情而伤心。
废话少说,先上两图,第一张是腾讯校友的,第二张是开心网的,我们来做一个简单的对比:

校友

开心网农场
特写校友:
大家请看,校友,当我们鼠标移到应用点击以后,出现下拉菜单,但是交互设计师根本没有考虑到flash游戏会将这个下拉菜单给挡住,最后这个下拉菜单并没有达到预期的效果。
在看看第二图,开心网的,他们完全考虑到了这一点,完全可以让他们的下拉菜单完全展示在用户的眼前。
我作为一个初级的web前端来说,我暂时知道flash可以设置透明的方式来完成不挡住box,暂时不知道其他办法,而由于些游戏有特殊的一些效果和功能,故而不能使用透明。如果在项目时间紧,实现相对比较麻烦的同时,交互设计师是否有考虑这些问题,是否有和前端开发沟通过,不得而以。
复制数组的三种方法
星期五, 五月 15th, 2009 by 裕波
嘿嘿,最近有人在问:复制数组最快的方法,今天我来根据速度快慢来告诉大家三种方法:你也许你已经知道!
1、slice();
(function(){
var abc =["abc","cad"];
var cab;
cab = abc.slice();
abc[0] = “ccc”;
alert(cab);
alert(abc);
})();
因为slice是内置的方法,所以他是最快的。
2、concat();
(function(){
var abc =["abc","cad"];
var cab;
cab = [].concat(abc);
abc[0] = “ccc”;
alert(cab);
alert(abc);
})();
3、for..in
(function(){
var abc =["abc","cad"];
var cab=[];
for(var k in abc ){
cab[k] = abc[k];
}
abc[0] = “ccc”;
alert(cab);
alert(abc);
})();
腾讯拍拍为什么不和soso合作呢?
星期四, 五月 14th, 2009 by 裕波
我觉得现在拍拍的搜索做得一点都不好!虽然说现在拍拍的数据量还不算非常大,我觉得也算海量了吧,为什么不使用专业的搜索呢?soso是腾讯旗下专业做搜索的,我觉得应该良好的利害这个资源嘛,我觉得腾讯网也应该使用,这样不仅可以更好的提高用户体验,而且还可以起到一个产品之间相互推广的一个作用。这不是腾讯一直采用的手法吗?怎么?今天不这样做了?难道是时机不成熟,嘿嘿!
功能列表
关于我
周裕波,web前端开发从业者,互联网爱好者。
gtalk:itchina110@gmail.com
@lovevfp