存档

文章标签 ‘Javascript’

下午解决个页面异步加载触发的问题记录如下。
需求:页面需要从js文件加载完数据后触发显示数据的函数。
Google之得解。
贴码如下:
[code lang="js"]
var url = "http://host_name/example.js";
var script = document.createElement("script");
script.type= "text/javascript";
script.language="javascript";
script.src=url;
if(script.addEventListener){
script.addEventListener("load", callback, false);
}else if(script.attachEvent){
script.attachEvent("onreadystatechange", function(){var target = window.event.srcElement; if(target.readyState == "loaded") callback.call(target);});
}
document.getElementsByTagName("head")[0].appendChild(script);
function callback()
{
//TODO Show Data
}
[/code]
备注: onreadystatechange 事件有两次触发一次是loading事件一次是loaded事件,loading事件应用无关,加判断区分之。
再Google之已经有老外做了个loadScript库解决类似问题地址如下:
http://design-noir.de/webdev/JS/loadScript/

十一 9th, 2009 | Filed under Javascript

IE8浏览器于北京时间3月20日零时正式发布。
各大媒体头版头条,争相介绍IE8的新特性。其中一个特性是IE8 增加了对W3C Selector API的支持,Javascript 增加了两个函数 querySelector() 和 querySelectorAll() 。听都都引用了这个例子:

1
2
3
4
5
6
7
8
9
10
<html>
<body>
<div><div><span>InnerSpan</span></div></div>
<div><span class="myClass">ClassSpan</span></div>
<script type="text/javascript">
alert(document.querySelector("div div span").innerHTML);
alert(document.querySelector("span.myClass").innerHTML);
</script>
</body>
</html>

当你真的把这段代码,Ctrl-C Ctrl-V运行的时候你会发现IE8直接提示JS错误。不是IE8已经支持querySelector()和querySelectorAll了吗?
原来IE8少了DOCTYPE定义就不认这两函数了。

三 20th, 2009 | Filed under Javascript, WEB前端开发
标签: ,

手上一个广告项目,在Firefox下顺利测试通过。自信JS代码能兼容IE,FF测试过后随手就仍给CS测试,结果CS反馈说有问题。排查一番,发现居然和Javascript 设置 Cookie 时的 path 有关。IE下Cookie种在 /或者URL所在路径时正常,如果Cookie值作用域在当前URL下则IE下javascript 无法获取到设置的Cookie值。
看下面演示代码:

三 15th, 2009 | Filed under Javascript
标签: ,