我一直在忙于一些AJAX代码。我想计算已加载了多少数据,并想用百分比显示它。
我所有的预加载信息都在“反馈”中。我可以计算它包含多少数据(以字节为单位),也可以查看进度吗?就像加载时一样:10kb,20kb,30kb等
我的代码:
function calc(page)
{
$('#pageLoad h2').animate({ marginTop : '0px'}, 200);
$.ajax(
{
url: './pages/page.php',
type: 'POST',
data: 'page='+page,
success: function( feedback )
{
$('#content').html( feedback );
}
});
};
对不起,我英语不好。
这 是
可能的。XHRs有一个progress
事件。唯一的问题是访问XHR对象-
不幸的是beforeSend
仅接收该jqXHR
对象,而不接收基础XHR对象。也不能作为包装器的属性来访问它。但是,您可以通过将以下选项添加到XHR对象来创建XHR对象$.ajax()
:
xhr: function () {
var xhr = $.ajaxSettings.xhr(); // call the original function
xhr.addEventListener('progress', function (e) {
if (e.lengthComputable) {
var percentComplete = e.loaded / e.total;
// Do something with download progress
}
}, false);
return xhr;
}
这是我最初的解决方案。与jQuery结合起来非常困难,因为您不能轻易地挂接到onreadystatechange处理程序,并且在设置之后无法安全地替换它:
您需要添加一个自定义
onreadystatechange
处理程序。当
readyState
XHR对象的变为
2
(
HEADERS_RECEIVED
)时,您可以访问
Content-Length
标头以获取总大小,然后使用
xhr.readyState == 3
(
LOADING )等待事件触发。
然后,您可以通过查看来计算进度xhr.responseText.length
。
但是,这只会触发一次。因此,您需要启动一个计时器(使用setInterval()
),该计时器将检查就绪状态和响应大小,例如每100毫秒。请求完成后,您可以使用再次停止间隔clearInterval()
。
我正在学习谷歌在udacity制作的android课程中的例子,我用另一个例子替换了这个例子的url,但是我只能看到,使用日志只能看到我正在下载的url的一小部分。 您可以下载的数据量有限制吗? 我在日志中的回复: V/FetchWeatherTask︰预测JSON字符串:{"cod":"200","消息": 0.0506,"城市":{"id": 0,"name":"Mountain View",
我两个月前刚开始学习Spring,以前从未做过Ajax或JavaScript。所以我对这个很陌生。我想做的是从控制器中的GET方法加载数据,将其填充到模式中。我正在使用ajax来实现这一点。基本上我做了这家伙做的事https://qtzar.com/2017/03/24/ajax-and-thymeleaf-for-modal-dialogs/正在做。但它不起作用。 希望有人能帮我。 这是我的控制
我有一个UICollectionView,里面充满了图像、视频和声音字节。一切顺利!然而,我对带宽的使用感到关切。 我不确定使用出列可重用单元格的UICollectionView是如何工作的,也不确定这些项目何时从存储下载。 假设我有一个简单的牢房。 为了回答我的问题,假设我在集合视图单元格中有100个单元格,每次只显示3个单元格。 加载UICollectionView时是否加载所有100个图像?
如何计算文本更改了多少? 例如以下文本: 与 这里的变化很小(末尾增加了x) 下面的变化很大: (此处我添加了“更多文本”) 我想到了测量字符串长度,并用它来计算变化百分比。但这种方法在以下情况下会出现问题: (几乎相同的长度,但完全不同的文本) 我怀疑很多人遇到了这个问题。但我似乎在谷歌上找不到太多,可能是因为不知道这项技术的名称是什么,它可以测量文本的变化。
问题背景: 显示一段文本,如果文本超过十行显示展开,收起按钮,按钮占一整行。文本有换行符。 问题:怎么计算文本实际占多少行。 尝试:使用z-index= -1先显示文本,计算文本高度。大于一个固定高度高度来判断。是否超过十行。 疑问:
问题内容: 我正在建立一个新的由AJAX驱动的网站,其中包含不同的部分。每个部分都需要一组新的Javascript函数才能运行。我宁愿不要一开始就加载每个脚本,因为可能会有很多脚本。 有没有一种方法可以使用AJAX加载新脚本并删除旧脚本(以确保类似的变量名或函数签名不存在兼容性问题)。 谢谢 编辑 -jQuery很好,它不必是老式的Javascript 问题答案: 三件事: 1)是,您可以加载新脚