Javascript 对象在IE9中的嵌套函数中不可用
我有一个相当标准的jQuery get函数,它在done上调用一些其他函数。在现代浏览器中,这一切都很好。在IE9中,我在与get函数相同的作用域级别创建的对象丢失:Javascript 对象在IE9中的嵌套函数中不可用,javascript,jquery,scope,internet-explorer-9,Javascript,Jquery,Scope,Internet Explorer 9,我有一个相当标准的jQuery get函数,它在done上调用一些其他函数。在现代浏览器中,这一切都很好。在IE9中,我在与get函数相同的作用域级别创建的对象丢失: var movieData = {}; movieData.ajaxUrl = ...; ... // get movie data using the api $.get(movieData.ajaxUrl, function (data) {... movieData.cust = data.customer_id;
var movieData = {};
movieData.ajaxUrl = ...;
...
// get movie data using the api
$.get(movieData.ajaxUrl, function (data) {...
movieData.cust = data.customer_id;
movieData.type = (movieData.cust == 1 ? 'al' : 'custom');
...
}, 'json').done(function (data) {...
// show the modal and load the player
$('#AlMovieModal').modal('show').on('shown.bs.modal', function (e) {
setPlayerHt(this);
if (movieData.type == 'al') {
movieData和movieData.type的值在模态函数调用之前一直可用。一旦进入,这些值将变得未定义,仅在IE9中
关于对象/变量范围和旧IE,我缺少什么?谢谢 由于您没有发布完整的代码:您的js和IE开发者工具中是否可能有console.log消息在IE中关闭?由于IE在关闭开发工具的情况下没有控制台对象,这可能会导致js-errors.Ah!是的,从该区域调用的函数中有。我会调查的,不走运。它们出现在get函数之前,并且注释它们没有帮助。好的..第二种猜测可能是缓存问题。只需在顶部答案中检查建议,也许值得一试:嗯。。。试一试: