在尝试在IE8中调试JavaScript文件时,出现了“预期的标识符,字符串或数字”。我以为这可能是一个额外的逗号,或者我需要将对象属性放在引号中(我尝试将它们放在双引号中都放在双引号中),但是我仍然收到“期望的标识符,字符串或数字”错误:
define([
'jquery',
'underscore',
'jquery/ui',
'Magento_Ui/js/modal/modal',
'mage/translate'
], function ($, _) {
'use strict';
$.widget('mage.confirm', $.mage.modal, {
options: {
modalClass: 'confirm',
title: '',
focus: '.action-accept',
actions: {
/**
* Callback always - called on all actions.
*/
always: function () {},
/**
* Callback confirm.
*/
confirm: function () {},
/**
* Callback cancel.
*/
cancel: function () {}
},
buttons: [{
text: $.mage.__('Cancel'),
class: 'action-secondary action-dismiss',
/**
* Click handler.
*/
click: function (event) {
this.closeModal(event);
}
}, {
text: $.mage.__('OK'),
class: 'action-primary action-accept',
/**
* Click handler.
*/
click: function (event) {
this.closeModal(event, true);
}
}]
},
/**
* Create widget.
*/
_create: function () {
this._super();
this.modal.find(this.options.modalCloseBtn).off().on('click', _.bind(this.closeModal, this));
this.openModal();
},
/**
* Remove modal window.
*/
_remove: function () {
this.modal.remove();
},
/**
* Open modal window.
*/
openModal: function () {
return this._super();
},
/**
* Close modal window.
*/
closeModal: function (event, result) {
result = result || false;
if (result) {
this.options.actions.confirm(event);
} else {
this.options.actions.cancel(event);
}
this.options.actions.always(event);
this.element.bind('confirmclosed', _.bind(this._remove, this));
return this._super();
}
});
return function (config) {
return $('<div></div>').html(config.content).confirm(config);
};
});