美文网首页
高性能javaScript(七)—— Ajax

高性能javaScript(七)—— Ajax

作者: 晓蟲QwQ | 来源:发表于2020-12-19 20:14 被阅读0次
  • 减少请求数,可通过合并JavaScript和CSS文件,或使用MXHR。
  • 缩短页面加载时间,页面主要内容加载完成后,用Ajax获取那些次要的文件。
  • 确保代码错误不会输出给用户,并在服务端处理错误。

图片信标Beacons,类似于动态脚本注入

var url = "/status_tracker.php";
var params = [
    'step=2',
    'time=1248027314'
];

var beacons = new Image();
beacons.src = url + "?" + params.join('&');

beacons.onload = function() {
    if(this.width == 1) {
        //成功
    } 
    else if(this.width == 2) {
        //失败,请重试并创建另一个信标
    }
};

beacons.onerror = function() {
    //出错,稍后重试并创建另一个信标。
};

JSON-P

当使用XHR时,JSON数据被当成字符串返回。该字符串紧接着被eval()转换成原生对象。然而,当使用动态脚本注入时,JSON数据被当成另一个JavaScript文件作为原生代码执行。为实现这一点,这些数据必须封装在一个回调函数里。这就是所谓的“JSON填充(JSON with padding)”或JSON-P。

需要处理10000或1000000个元素的列表,JSON-P比JSON会好很多

ps:不要把任何敏感数据编码在JSON-P中,因为动态脚本注入无法判别调用对象

相关文章

网友评论

      本文标题:高性能javaScript(七)—— Ajax

      本文链接:https://www.haomeiwen.com/subject/wcpegktx.html