- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 jQuery 在 Firefox、Chrome 和 Opera 中运行良好,但在 Internet Explorer 中需要很长时间才能启动。
我读过很多文章,并试图让我的代码尽可能快,避免按类选择、foreach循环等,但即使我发送一个相对“快速”的请求,它也需要很长时间才能开始。例如:
function getDisturbanceData() {
$body.addClass("loading");
$.ajax({
type: "POST",
url: "Default.aspx/GetAllDisturbances",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({
"itemsPerPage": itemsPerPage
}),
success: function (data) {
CreateTable(data.d);
$body.removeClass("loading");
}
});
};
在 $body.addClass("loading");
开始之前,上述过程大约需要 1 秒。代码本身足够快,加载屏幕出现和创建表格之间的时间并不比任何其他浏览器长,但页面有点卡住,直到用户可以看到加载屏幕。我知道代码需要时间才能完成,因为我在这里加载了大量数据(在 Chrome 中通常为 1.4 秒),这就是加载屏幕的原因,但我无法解释在此之前的时间。
其他信息:我使用 ASP.NET 框架和 webshim.polyfill
来支持 Internet Explorer + Firefox。在默认的 ASP.NET javascript 文件旁边,我只导入了 bootstrap.css/js
、bootstrap-tokenfield.css/js
、jquery-ui.css
和标准 jquery
我对 Internet Explorer 一无所知,也不知道如何才能加快它的速度。你能帮我一下吗?
当您需要更多信息时,如果您能清楚地询问您想要什么并描述我如何提供它们,那就太好了,因为我从未遇到过这样的问题。
更新问题可能出在页面加载时调用一次的这部分代码中吗?它只是检查 C# 后端中的 Session 变量并返回 true 或 false,但它是异步的
function IsUserLogedIn(handleData) {
$.ajax({
type: "POST",
async: !1,
url: "logon.aspx/IsUserLogedIn",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
handleData(data.d);
}
});
}
Update2
我现在知道是什么导致 Internet Explorer 中的页面速度变慢,但我完全不知道原因。这几行
<div id="logon_table">
<asp:Label ID="lblName" runat="server" Font-Bold="true" Text="Name:"></asp:Label><br />
<input type="text" ID="txtName" /><br /><br />
<asp:Label ID="lblpwd" runat="server" Font-Bold="true" Text="Passwort:"></asp:Label><br />
<input type="password" id="txtPassword"/><!--this element is the problem--><br /><br />
<input type="button" ID="ButtonLogin" Value="Login" autofocus />
<input type="button" ID="ButtonCancel" Value="Abbrechen" />
</div>
减慢我的页面速度。当我删除它们时,一旦它们进入,一切都会正常工作 - 即使没有任何 css/js 附加到这些元素每个交互都会延迟 1 秒。当我删除每个类和每个后台操作时,用户仍然必须等待,直到单击链接。有谁知道为什么吗?
最佳答案
我怀疑您将所有代码都放在页面底部某处的 $(document).ready()
处理程序中,这意味着在浏览器通知之前不会开始获取 Ajax 资源DOM 已完全加载。
请像这样组织您的代码。在 $(document).ready()
之外:
function getDisturbanceData(itemsPerPage) {
// don't use a POST request to GET data
return $.ajax({
type: "POST",
url: "Default.aspx/GetAllDisturbances",
dataType: "json",
data: {
itemsPerPage: itemsPerPage // jQuery does the JSON serializing
} // (also think whether JSON is necessary to
}); // deliver *a single* parameter)
}
$('body').addClass("loading");
var disturbanceData = getDisturbanceData(25);
现在,在常规 $(document).ready()
处理程序内部:
disturbanceData.done(function (data) {
CreateTable(data.d);
}).fail(function (jqXhr, status, error) {
// show the error somewhere
}).always(function () {
$('body').removeClass("loading");
});
这是加载 Ajax 资源的一般技巧。尽快开始请求他们。然后使用the promise interface of jQuery Ajax requests加载文档时处理结果。
关于javascript - Internet Explorer 延迟启动 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38178217/
有人有 Comet 应用程序 .net 的任何样本吗? 我需要一个示例如何在服务器中保持客户端的连接? 最佳答案 这里也有一些不错的: http://www.frozenmountain.com/we
我想知道是否有 Yii2 专家可以帮助我了解如何最好地使用 ajax 表单与 Yii ajax 验证相结合。我想我可以在不带您阅读我所有代码的情况下解释这个问题。 我正在处理一个促销代码输入表单,用户
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
f:ajax 和 a4j:ajax 标记之间有什么显着差异吗? 我知道 Richfaces 4 中的 a4j:ajax 基于 native f:ajax JSF2 标记,添加了一些 f:ajax 中未
我已经尝试过这样但无法获取数组列表。它返回“null” var data=[]; data[0] = '1'; data[1] = '2'; $.ajax({
在教程中可以看到 jQuery.ajax 和 $.ajax 喜欢这里 http://www.thekludge.com/form-auto-save-with-jquery-serialize/ jQ
过度使用 AJAX 会影响性能吗?在大型 Web 应用程序的上下文中,您如何处理 AJAX 请求以控制异步请求? 最佳答案 过度使用任何东西都会降低性能;在必要时使用 AJAX 将提高性能,特别是如果
似乎我无法使用 Ext.Ajax.request 进行跨域 ajax 调用。看起来 ScriptTag: True 没有任何效果。 这是我的代码: {
我正在使用 Bottle 微框架(但我怀疑我的问题来自它) 首先,如果我定义了一个从/test_redirect 到/x 的简单重定向,它会起作用。所以 Bottle redirect() 在简单的情
任何人都可以指出各种 AJAX 库的统一比较吗?我已经阅读了大约十几种不同的书,我即将开始一个项目,但我对自己是否已经探索了可能性的空间没有信心。 请注意,我不是在要求“我认为 XXX 很棒”——我正
似乎使用 AJAX 的站点和应用程序正在迅速增长。使用 AJAX 的主要原因之一可能是增强用户体验。我担心的是,仅仅因为项目可以使用 AJAX,并不意味着它应该。 可能是为了 UX,AJAX 向站点/
假设我有一个可以通过 Javascript 自定义的“报告”页面。假设我有可以更改的 start_date、end_date 和类型(“简单”或“完整”)。现在 我希望地址栏始终包含当前(自定义) V
我一直在阅读 Ajax 并且希望从 stackoverflow 社区看到我是否正确理解所有内容。 因此,正常的客户端服务器交互是用户在 url 中拉出 Web 浏览器类型,并将 HTTP 请求发送到服
这可能有点牵强,但让我们假设我们需要它以这种方式工作: 我在服务器的 web 根目录中有一个 index.html 文件。该文件中的 javascript 需要向/secure/ajax.php 发出
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 去年关闭。 Improve this
我希望ajax post成功进入主页。由于某种原因,我一直做错事。知道我应该做什么来解决这个问题吗? window.APP_ROOT_URL = ""; Ajax $.ajax({ url: '#{a
我在 2 个不同的函数中有 2 个 ajax 调用。我想用.click来调用这2个函数。 func1 将数据插入数据库,然后 func2 检索数据,所以我的问题是如何等到 func1 完全完成然后只执
我试图在单击按钮后禁用该按钮。我尝试过: $("#ajaxStart").click(function() { $("#ajaxStart").attr("disabled", true);
我试图在每个 Ajax 请求上显示加载动画/微调器 我的 application.js $(document).on("turbolinks:load", function() { window.
我正在显示使用jQplot监视数据的图形。 为了刷新保存该图的div,我每5秒调用一次ajax调用(请参见下面的JavaScript摘录)。 在服务器上,PHP脚本从数据库中检索数据。 成功后,将在5
我是一名优秀的程序员,十分优秀!