|

场景:我拥有的是一个上传表单,该表单使用nginx uploadProgress模块​​报告上传进度。下面的代码在Firefox中可以正常工作,但是使用Chrome和Chromium时,页面加载时不会触发AJAX,并且仅在我停止请求时才运行AJAX(因此在上传过程中途结束)。我迷失了为什么它不起作用。因此,非常感谢您的帮助。

我还发现奇怪的是,Chrome / Chromium似乎在不通知我的情况下使用上传进度更新了窗口状态栏。

我在哪里看不到我在哪里设置。 Chrome可能有内部进度表吗?

upload.js

$(document).ready(function()

{

$(\'form\').uploadProgress(

{

uploading: function(upload)

{

$(\'#percents\').html(upload.percents+\'%\');

$(\'#progressbar\').css({width: upload.percents+\'%\'});

},

progressUrl: \"/progress\",

interval: 3

});

})

jquery.uploadProgress.js

/*

* jquery.uploadProgress

*

* Copyright (c) 2008 Piotr Sarnacki (drogomir.com)

* - Original release.

*

* Copyright (c) 2011 Mathew Davies (thepixeldeveloper@googlemail.com)

* - Refactored a lot of code into their own functions

*

* Licensed under the MIT license:

* http://www.opensource.org/licenses/mit-license.php

*

*/

(function($)

{

/**

* Generate a UUID used to uniquely identify form uploads.

*

* @return string

*/

function generate_uuid()

{

var uuid = \"\";

for (i = 0; i < 32; i++)

{

uuid += Math.floor(Math.random() * 16).toString(16);

}

return uuid;

}

/**

* Calls the progress URL to get the latest statistics from

* the uploaded form.

*

* @return void

*/

function update(object, options)

{

$.ajax(

{

type: \'GET\',

cache: false,

dataType: options.dataType,

url: options.progressUrl,

beforeSend: function(xhr)

{

xhr.setRequestHeader(\"X-Progress-ID\", options.uuid);

},

success: function(upload)

{

alert(\'progress ...\');

if (upload)

{

if (upload.state == \'uploading\')

{

upload.percents = Math.floor((upload.received / upload.size) * 1024) / 10;

options.uploading(upload);

}

if (upload.state == \'done\' || upload.state == \'error\')

{

window.clearTimeout(options.timer);

}

if (upload.state == \'done\')

{

upload.percents = 100;

options.done(upload);

}

if (upload.state == \'error\')

{

upload.percents = 0;

options.error(upload);

}

}

}

});

}

/**

* Updates the form action to use the UUID.

*/

function update_form_action(form, uuid)

{

if(old_id = /X-Progress-ID=([^&]+)/.exec(form.attr(\"action\")))

{

var action = form.attr(\"action\").replace(old_id[1], uuid);

}

else

{

var action = form.attr(\"action\") + \"?X-Progress-ID=\" + uuid;

}

form.attr(\"action\", action);

}

$.fn.uploadProgress = function(options)

{

var options = $.extend(

{

dataType: \"json\",

interval: 2000,

progressUrl: \"/progress\",

start: function() {},

uploading: function() {},

done: function() {},

error: function() {},

timer: \"\"

}, options);

return this.each(function()

{

$(this).submit(function()

{

var $this = $(this);

// Generate a new UUID

options.uuid = generate_uuid();

// Update form action with ID

update_form_action($this, options.uuid);

// Start callback

options.start();

// Start process

options.timer = window.setInterval(function()

{

update($this, options)

},

options.interval * 1000);

});

});

};

})(jQuery);

chromium禁用ajax,页面加载时,jQuery AJAX不会在Chrome / Chromium中启动相关推荐

  1. 页面加载时就请求ajax,页面加载时发送Ajax请求

    如下所示代码,我想在页面加载时判断是否已经保存有cookie,如果有则直接发送ajax请求显示上一次的结果页面. 但是加上后面的if之后,不但不会加载结果页面,连之前的searchAjax()方法也不 ...

  2. html页面加载时执行ajax请求,函数在页面加载时发送ajax请求

    我有下面的代码在页面加载运行.我只想在用户完成在文本框中写入时运行它.函数在页面加载时发送ajax请求 代码是: $(document).ready(function() { $("#use ...

  3. ajax动态加载div,JQuery/AJAX:使用动态内容加载外部DIV使用动态内容

    我需要创建一个页面,使用Jquery和AJAX从外部页面加载div.JQuery/AJAX:使用动态内容加载外部DIV使用动态内容 我遇到了一些很好的教程,但它们都是基于静态内容的,我的链接和内容是由 ...

  4. .ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画

    ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).ready(function () { $(" ...

  5. ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画

    jQuery Ajax 加载数据时异步显示加载动画 ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).re ...

  6. vue 点击渲染ajax,vue中在页面加载时发送ajax请求获取数据渲染不到页面上

    ajax是异步执行的. {{bookId}} 在setData里面处理数据 export default { name: 'app', data() { bookId : '' }, created( ...

  7. html页面加载时执行ajax请求,页面加载完成之后,ajax远程调用的数据才显示出来。有没有可能使ajax部分的程序执行完了,页面再加载完成...

    王不懒 (作者) 回复 DCloud_UNI_FXY: mui.plusReady(function(){ var now = plus.webview.currentWebview(); now.h ...

  8. 加载页面就触发ajax,AJAX post方法,有时会在页面加载时触发,有时不会

    我对AJAX有一个奇怪的问题,我在页面加载时使用AJAX POST方法返回对象地图. 我正在调试该过程,有时会调用该方法,并且Java Servlet有时会运行. 我正确地包含了JS导入,其他jQue ...

  9. vue 加载页面时触发时间_详解Vue.js在页面加载时执行某个方法

    详解Vue.js在页面加载时执行某个方法 jQuery中可以这样写 vue中,如果要达到相同效果,可以使用vue的生命周期函数,如create或者mounted 附上vue.js的生命周期函数执行流程 ...

最新文章

  1. C 语言和 C++、C# 的区别在什么地方?
  2. 10进制转16进制,16进制转10进制,随机出一个6位十六进制颜色值
  3. 485不用双绞线可以吗_加装迎宾踏板可以吗?检车时用不用拆啊?
  4. tensorflow 开始——创建定制化 Estimator(创建自定义评估器)
  5. 减小Delphi xe系列生成的exe文件大小
  6. VBS中MSGBOX用法
  7. 动态树模板(HDU4010题)
  8. matlab乘幂的指数是矩阵,信号与系统MATLAB基本语法.ppt
  9. java数字时钟控件_Java-数字时钟(简易版)
  10. 机器学习基础-朴素贝叶斯分类
  11. linux定时重启tomcat的脚本,Linux系统中的tomcat定时重启脚本
  12. PDF阅读器使用技巧
  13. HTML网上书店代码,jsp网上书店系统(附源代码)
  14. 怎么成为一名Java架构师 都需要掌握哪些技术
  15. CentOS 安装 无线USB网卡 RTL8192EU
  16. 印度有个 “扎克伯格庙”?
  17. Java 七参数计算
  18. Windows10 10大高级功能,个个功能强大,5倍提升工作效率
  19. JavaEE:网络编程套接字
  20. java和python工资-Java和Python哪个薪资更高?

热门文章

  1. 滴滴上线自动驾驶服务;微软宣布将永久关闭实体店;.NET 5.0 Preview 6 发布 | 极客头条...
  2. 苹果官方将首次参与天猫 618 促销活动;淘宝回应用户账号被禁用980年;Julia 1.5.0 beta1 发布 | 极客头条...
  3. Google Reader 干掉了 RSS!
  4. 网易回应裁撤生病员工;苹果押宝 5G 手机;IntelliJ IDEA 2019.3 RC 发布 | 极客头条...
  5. 切 5G 的蛋糕?先练好内功吧
  6. 京东回应 5000 万用户数据泄露;百度向今日头条索赔 9000 万;腾讯全球专利申请量第二 | 极客头条...
  7. Java 开发者希望未来使用 Python 和 Go
  8. 谁“玩死了”共享单车?
  9. 5 万条微信语音升入太空;阿里京东否认停止社招;雷军开怼华为 | 极客头条...
  10. 当程序员没了互联网,该如何继续学习写代码?