关于IE动态加载script的几个注意点

用js动态链接一个外部的js文件,很简单:

var script = document.createElement (“script”);
script.src = “XXX.js”;
document.getElementsByTagName(“head”).item(0).appendChild (script);

但是一个注意的地方是,其实在IE下,执行到script.src = “XXX.js”;这一句代码时,IE已经去加载script代码了,但是不会执行链入的js代码,必须等到插入到document中后,才会执行,而在标准浏览器下,则是在执行插入到document中的代码时才会去加载外部js文件。所以需要注意的是,但你使用了jQuery等第三方js库进行插入的时候尤其要注意,这会导致IE下有两次请求。

本人在IE6,IE9,IE10下亲测IE存在这个问题。

这个网友还对在script标签中设置了src属性,但是script标签对内有内容时浏览器如何处理的问题进行了研究,并通过查找了相关标准给出了答案。

HTML4标准

If the src attribute is not set, user agents must interpret the contents of the element as the script. If the src has a URI value, user agents must ignore the element’s contents and retrieve the script via the URI

文中还提到HTML5标准对动态修改已经存在的script标签的src属性时浏览器应如何处理

Changing the src, type, charset, async, and defer attributes dynamically has no direct effect; these attribute are only used at specific times described below.

文中指的网友文章地址 http://www.w3ctech.com/p/1141,具体内容大家还是看这位网友的原文。

jquery的jsonp请求的callback不能重复执行

如题,今天遇到一个jsonp的问题。和服务器有一个交互的过程,每次交互,都要从服务器去一段数据,并分析数据从而进行下一次的请求。同时这个服务器和当前php程序所在地服务器并非同源。

通过协商,服务器那边的返回结果格式如下

jQuery17105991549867037437_1353939516854(“<xml id=’111111111111111′>ksdfksd</xml>”);

jQuery17105991549867037437_1353939516854(“<xml id=’2222222222222222222′>ksdfksd</xml>”);

其中 jQuery17105991549867037437_1353939516854 是jQuery自动生成的回调函数名。

我在当前html页面的回调函数内设置在控制台输出接受到的参数。按照正常思维,输出应该是

<xml id=’111111111111111′>ksdfksd</xml>

<xml id=’2222222222222222222′>ksdfksd</xml>

但是实际输出的是<xml id=’2222222222222222222′>ksdfksd</xml>。只有第二个回调函数执行了。

 

但是,如果用原生的javascript插入script标签,则callback函数会执行两次。所以估计是jQuery封装所致,目前不知原因,网上亦没有搜到相关内容。所以我打算研究下jQuery源码,一探究竟。到时再补上原因。

 

SkyDrive的bug?!

昨天用SkyDrive传了两本txt的电子书,客户端一直显示在同步,但是一直没有显示成功。软件一直处于下图所示的同步状态,而且也不现实具体同步的进度。

我当时也没在意,以为是网络不稳定(你懂的!)。

但是今天仍然不能同步,于是我登陆网络版,试图利用浏览器在线上传文件。出现了如下的弹窗

这个弹窗终于让我知道是一位文件名中包含了“:”这个特殊字符。但是奇怪的是,这是一个中文的冒号。总所周知,在windows系统中文系统的Explorer中,文件名不能包含的是英文冒号“:”,但是用户是能建议包含中文冒号的文件名的,不知道为什么到了微软禁止上SkyDriver上传包含中文冒号的文件名的文件。最为过份的是客户端没有一点提示。

[优酷视频]顾莉雅唱的“毕业那年”插曲“寂寞花火”! (附带此间的少年MV)

电影“毕业那年”的插曲,尤其是看多电影后,觉得特别好听。

“幸福是什么?幸福就是看到希望!“

顾莉雅唱的“毕业那年”插曲“寂寞花火”!

让我有想起北大版“此间的少年”的电影的插曲
“转身之间”

 

视频: 此间的少年(165分钟导演未删节版)There.They.Were.2010

Outlook.com的宣传视频

话说我从hotmail升级到outlook已经有了近一个月了。无意中看到微软的这个宣传视频,所以毫不犹豫的分享了。

outlook.com现在提供的服务非常不错,我认为简直是一改微软以往web方面的颓废面貌,非常清新。而且现在版本也没有广告了,赞一个啊。

而且搭配了windows phone,outlook.com上的人脉、skydrive能够非常方便的与手机同步。但是悲惨的是,目前微软没有在中文版上集成skype。

视频地址:http://windows.microsoft.com/en-US/windows/outlook