在这篇文章中,我们将为您详细介绍只有在使用AJAX的InternetExplorer中使用alert()时,Javascript才会更新UI的内容,并且讨论关于以下只有在使用时才为该类型的相关问题。此
在这篇文章中,我们将为您详细介绍只有在使用AJAX的Internet Explorer中使用alert()时,Javascript才会更新UI的内容,并且讨论关于以下只有在使用时才为该类型的相关问题。此外,我们还会涉及一些关于asp.net – 在Internet Explorer 8中使用ScriptManager.RegisterClientScriptBlock和jQuery时出现问题、Internet Explorer中的Google Maps JavaScript API错误、javascript – $.getJSON – 发送了ajax但忽略了回调函数 – Internet Explorer、javascript – blob创建期间Internet Explorer 11中的InvalidStateError的知识,以帮助您更全面地了解这个主题。
本文目录一览:- 只有在使用AJAX的Internet Explorer中使用alert()时,Javascript才会更新UI(以下只有在使用时才为该类型)
- asp.net – 在Internet Explorer 8中使用ScriptManager.RegisterClientScriptBlock和jQuery时出现问题
- Internet Explorer中的Google Maps JavaScript API错误
- javascript – $.getJSON – 发送了ajax但忽略了回调函数 – Internet Explorer
- javascript – blob创建期间Internet Explorer 11中的InvalidStateError
只有在使用AJAX的Internet Explorer中使用alert()时,Javascript才会更新UI(以下只有在使用时才为该类型)
我有一个java脚本函数来更新在AJAX函数之前调用的UI(屏幕内容).但在使用警报框提示之前,它不会更新UI.没有警报框,它不会在AJAX功能之前更新UI.即使在AJAX函数之前调用它,它也会在AJAX函数之后更新UI
如果我使用以下代码,UpdateUI()在AJAX函数调用之前根本不更新UI,它在AJAX函数调用之后更新UI.我希望它在AJAX函数调用之前更新UI(实际上我在AJAX调用之前显示加载栏)
UpdateUI(); // java script function,it just updates inner HTML of a DIV // AJAX function call here with Async = false
但是,如果我使用以下代码,UpdateUI()会在AJAX函数调用之前更新UI,但此方法包含警报提示.我不想使用警报
UpdateUI(); // java script function,it just updates inner HTML of a DIV alert('hellow'); // AJAX function call here with Async = false
它在Firefox中运行良好,但在Internet Explorer 8中运行良好
解决方法
回流通常在某些情况下获得最低优先级,但是您可以通过请求DOM元素(如getComputedStyle或offsetX / y等)上的某些属性来强制浏览器重排.基本上任何要求浏览器布局UI以响应的请求都将执行重排.
This是我在遇到类似问题时发现的最好的文章.
我可以建议的最简单,最简单的技巧是将代码分成两个方法,并在0mills之后调用需要在超时中进行事先重排的方法.这使浏览器在调用method2之前有一些喘息的机会来执行重排.这与您尝试并发现有效的alert()技巧完全相同.
asp.net – 在Internet Explorer 8中使用ScriptManager.RegisterClientScriptBlock和jQuery时出现问题
ScriptManager.RegisterClientScriptBlock(this,typeof(Page),Guid.NewGuid().ToString(),"$.jGrowl('" + message + "');",true);
该代码在Firefox / Chrome / Safari中非常完美.但是在Internet Explorer中我没有看到通知,我没有收到任何Javascript错误.
我在Windows 7下工作,我有Internet Explorer 8 Beta(版本8.0.7000.0),我在兼容模式下有相同的“错误”.
我怎么解决这个问题?
解决方法
为了解决这个问题,我只修改了你的脚本,以便在文档准备好后调用jGrowl.这是更新的代码:
ScriptManager.RegisterClientScriptBlock(this,"$(function(){$.jGrowl('" + message + "');});",true);
Internet Explorer中的Google Maps JavaScript API错误
我已经为Google Maps JavaScript API v3编写了一个非常简单的jQuery插件.
它可以在Firefox,Chrome等系统中运行,但不能在Internet Explorer 8中运行.
我收到的错误是以下行上的“对象不支持此属性或方法” …
map = new google.maps.Map(mapContainer, myOptions);
我在网上放置了一个工作示例页面来演示…我正试图获得白金汉宫!您可以在jquery.simplemap.js文件中看到背后的代码,该代码没有缩小.
http://www.stevefenton.co.uk/cmsfiles/assets/File/simplemap.html
任何帮助将非常感激.
UPDATE
我已经通过这段代码进行了详细的调试,它实际上是Google代码内部的错误,这在很大程度上被缩小了,而且完全难以辨认-这就是为什么加载地图的原因,因为错误是在初始化地图之后进行的.我会在知道的时候发布更多信息.
UPDATE2
我已对插件中的各种东西进行了重新排序,这导致使地图显示正确的位置,但是由于初始化地图时Google Maps API中发生的错误,我无法添加标记或标注.
解决方法:
好的,我找到了解决此问题的方法.
Google Maps API内部引发的错误是由用于存储地图的变量范围引起的. API的所有示例都使用类似这样的内容…
map = new google.maps.Map(mapContainer, myOptions);
请注意,“地图”是这些出色的神秘范围变量之一…而且我正在jQuery插件中运行所有这些代码-因此最终结果是Google Maps API无法获得地图变量的句柄.
通过将地图声明为全局变量,Google Maps API可以访问它,并且一切神奇地开始正常运行.
所以解决方法是声明…
var map;
在全局范围内,因此API可以使用它.
javascript – $.getJSON – 发送了ajax但忽略了回调函数 – Internet Explorer
所以这是我的功能
function ajax(addr,loading, loadTo, json){
addr = addr.replace(' ', '');
if (loading){
$("#"+loading).fadeIn();
}
if (json){
$.getJSON(addr, function(data){
alert('whoooo working'); // <--- it never goes here
if (loading){
$("#"+loading).fadeOut();
}
procJSON(data);
});
return true;
}
}
而我正在呼唤它
var postid = $(this).attr('data-postid');
ajax(url+'tools/delete/'+postid, 'loading'+postid, false, true);
发送ajax,显示图像(加载图像),但从不调用回调函数.
这不是IE的大清单中的新保留值吗?是的,我知道,IE不是一个有效的浏览器,但我不能责怪我的客户
解决方法:
由于它在特定浏览器中失败,它可能是响应中意外标头的组合,以及浏览器如何根据它处理数据.
例如,如果响应具有内容类型text / html而不是application / json,则浏览器可能会尝试将响应内容转换为HTML文档(通过在其周围添加预标记),这将导致JSON解析失败.
如果您使用$.ajax方法,您还可以捕获任何错误消息,这将为您提供正在发生的事情的线索:
$.ajax({
url: addr,
dataType: 'json',
success: function(data){
alert('whoooo working'); // <--- it never goes here
if (loading){
$("#"+loading).fadeOut();
}
procJSON(data);
},
error: function(o,c,m) { alert(m); }
});
javascript – blob创建期间Internet Explorer 11中的InvalidStateError
我可以看到二进制数据是我的客户端.有没有其他方法可以将其下载为文件?
var request= new ActiveXObject("MicrosoftXMLHTTP"); request.open("post",strURL,true); request.setRequestHeader("Content-type","text/html"); addSecuretokenHeader(request); request.responseType = 'blob'; request.onload = function(event) { if (request.status == 200) { var blob = new Blob([request.response],{type: 'application/pdf'}); var url = URL.createObjectURL(blob); var link = document.querySelector('#sim'); link.setAttribute('href',url); var filename = request.getResponseHeader('Content-disposition'); $('#sim').attr("download",filename); $(link).trigger('click'); fireEvent(link,'click'); }else { //handle error } }
解决方法
var blob = new Blob([new Uint8Array(request.response)],{type:’application / pdf’});
我们今天的关于只有在使用AJAX的Internet Explorer中使用alert()时,Javascript才会更新UI和以下只有在使用时才为该类型的分享就到这里,谢谢您的阅读,如果想了解更多关于asp.net – 在Internet Explorer 8中使用ScriptManager.RegisterClientScriptBlock和jQuery时出现问题、Internet Explorer中的Google Maps JavaScript API错误、javascript – $.getJSON – 发送了ajax但忽略了回调函数 – Internet Explorer、javascript – blob创建期间Internet Explorer 11中的InvalidStateError的相关信息,可以在本站进行搜索。
本文标签: