动态执行javascript脚本完成后清理
以下是代码片段:
var do_jsonp_id = 1;
function doJsonp(url, callback, timeout) {
var name = "do_jsonp_callback_"+(do_jsonp_id++);
var ele = document.createElement('script');
var timer;
window[name] = function() {
//清理计时器
window.clearTimeout(timer);
//回调回调函数
callback.apply(this, arguments);
//清理元素
ele.parentNode.removeChild(ele);
//清理回调
delete window[name];
};
url += ((url.indexOf("?") == -1) ? '?' : '&') + "callback=" + name;
ele.src = url;
//超时处理
timer = window.setTimeout(function(){
//清理元素
ele.parentNode.removeChild(ele);
//清理回调
delete window[name];
}, timeout||30000);
//执行请求
document.getElementsByTagName('head')[0].appendChild(ele);
}
这段代码往html中动态添加js,执行完成后自我删除。如果获取远程数据超时,也会进行自我清理。
2013-12-23
上一篇: 利用github的pages服务做了个简单的网页 下一篇: 修复网页上表格的排序功能