我有一个相当标准的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;
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
的值一直可用到modal()
函数调用。进入内部后,这些值将变为未定义,仅在IE9中。
对于对象/变量范围和旧IE,我缺少什么?谢谢。