Javascript 仅在IE8和IE9中获取错误,而不是在其他浏览器中获取错误
我正在开发一个使用大量js库的应用程序,主要使用ExpressJS。 所有代码在Firefox和Chrome上运行良好。但我发现IE8和IE9中的错误如下Javascript 仅在IE8和IE9中获取错误,而不是在其他浏览器中获取错误,javascript,internet-explorer,requirejs,Javascript,Internet Explorer,Requirejs,我正在开发一个使用大量js库的应用程序,主要使用ExpressJS。 所有代码在Firefox和Chrome上运行良好。但我发现IE8和IE9中的错误如下 SCRIPT5022: fromText eval for hbs!notification/templates/dropDown failed: SyntaxError: Syntax error in regular expression http://requirejs.org/docs/errors.html#fromtexteval
SCRIPT5022: fromText eval for hbs!notification/templates/dropDown failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!notification/templates/dropDownItem failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!layouts/admin/templates/teamManagement failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!layouts/admin/alarms/templates/projectAlarms failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!admin/templates/navigation failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!layouts/admin/templates/base failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
这些错误只出现在IE8和IE9中
SCRIPT5022: fromText eval for hbs!notification/templates/dropDown failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!notification/templates/dropDownItem failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!layouts/admin/templates/teamManagement failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!layouts/admin/alarms/templates/projectAlarms failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!admin/templates/navigation failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
SCRIPT5022: fromText eval for hbs!layouts/admin/templates/base failed: SyntaxError: Syntax error in regular expression
http://requirejs.org/docs/errors.html#fromtexteval
require.js, line 138 character 9
这是我的config.js
require.config({
paths: {
// Require plugins
'text': 'vendor/requirejs-text/text',
'css': 'vendor/css/css',
'hbs': 'vendor/require-handlebars-plugin/hbs',
'Handlebars': 'vendor/require-handlebars-plugin/Handlebars',
'i18nprecompile': 'vendor/require-handlebars-plugin/i18nprecompile',
'json2': 'vendor/require-handlebars-plugin/json2',
// Libraries
'es5shim': 'vendor/es5-shim/es5-shim',
'underscore': 'vendor/underscore/underscore',
'jquery': 'vendor/jquery/jquery',
'jquery.DatePicker': 'vendor/datepicker/datepicker',
'jquery.mousewheel': 'vendor/jquery-mousewheel/jquery.mousewheel',
'backbone': 'vendor/backbone/backbone',
'backbone.virtualCollection': 'vendor/backbone-virtual-collection/backbone.virtual-collection',
'backbone.marionette': 'vendor/backbone.marionette/backbone.marionette',
'backbone.marionette.handlebars': 'vendor/backbone.marionette.handlebars/backbone.marionette.handlebars',
'leaflet': 'vendor/leaflet/leaflet-src',
'highcharts': 'vendor/highcharts/highcharts.src',
'paper': 'vendor/paper/paper',
'handsontable': 'vendor/handsontable/jquery.handsontable',
'walltime': 'vendor/walltime-js/walltime',
'walltime-data': 'vendor/walltime-js/walltime-data'
},
shim: {
'underscore': {
exports: '_'
},
'jquery.DatePicker': {
deps: ['jquery']
},
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'backbone.marionette': {
deps: ['backbone'],
exports: 'Marionette'
},
'backbone.virtualCollection': {
deps: ['backbone', 'underscore']
},
'leaflet': {
exports: 'L'
},
'highcharts': {
deps: ['jquery'],
exports: 'Highcharts'
},
'walltime': {
deps: ['walltime-data']
}
},
hbs: {
i18nDirectory: 'i18n/',
disableI18n: false, // This disables the i18n helper and
// doesn't require the json i18n files (e.g. en_us.json)
// (false by default)
disableHelpers: true, // When true, won't look for and try to automatically load
// helpers (false by default)
helperPathCallback: // Callback to determine the path to look for helpers
function (name) { // ('/template/helpers/'+name by default)
return 'cs!' + name;
},
compileOptions: {} // options object which is passed to Handlebars compiler
}
});
请帮帮我,伙计们
-----更新-----
我将此作为问题发布在Github上,用于requirejsrepo。您可以找到它
根据评论,问题似乎在于IE9中的eval。
我也试着把
eval(“+text+”)
放在前面提到的位置,但仍然不起作用
谁能告诉我如何在IE9中使用这个评估工具吗
谢谢这似乎与JQuery中发生的类似问题有关 这都是因为DOM没有准备好,并且由于DOM没有完全加载,因此会发生此错误 如果您尚未完成此操作,请尝试在结尾页添加脚本或进行某种延迟加载: 如何使用RequireJS实现延迟加载? 顺便说一下,就这一点而言,微软似乎拒绝了它并没有认为这是一个错误:
这似乎与JQuery中发生的类似问题有关 这都是因为DOM没有准备好,并且由于DOM没有完全加载,因此会发生此错误 如果您尚未完成此操作,请尝试在结尾页添加脚本或进行某种延迟加载: 如何使用RequireJS实现延迟加载? 顺便说一下,就这一点而言,微软似乎拒绝了它并没有认为这是一个错误:
这是我的问题,很可能是你的问题:
//IE with conditional comments on cannot handle the
//sourceURL trick, so skip it if enabled.
/*@if (@_jscript) @else @*/
if (!config.isBuild) {
text += "\r\n//@ sourceURL=" + path;
}
/*@end@*/
如果源url位于传递给eval的文本末尾,IE将出现语法错误。这是我的问题,可能是你的问题:
//IE with conditional comments on cannot handle the
//sourceURL trick, so skip it if enabled.
/*@if (@_jscript) @else @*/
if (!config.isBuild) {
text += "\r\n//@ sourceURL=" + path;
}
/*@end@*/
如果源url位于传递给eval的文本的末尾,IE将出现语法错误。对@jsvellow的回答非常有用! 所示代码段位于require Handlebar插件的hbs.js中。 据报道, 优先于
//@ sourceURL=
在我修改了hbs.js中的相应行之后,在所有经过测试的浏览器(谷歌chrome 35、火狐30、IE 8-10)中,一切都按预期运行。
我在上提交了一个请求,目前正在合并和评估
我希望这能帮助那些可能遇到同样问题的人。对@jshellow的回答真的很有帮助! 所示代码段位于require Handlebar插件的hbs.js中。 据报道, 优先于
//@ sourceURL=
在我修改了hbs.js中的相应行之后,在所有经过测试的浏览器(谷歌chrome 35、火狐30、IE 8-10)中,一切都按预期运行。
我在上提交了一个请求,目前正在合并和评估
我希望这能帮助任何可能遇到同样问题的人。尝试在html@Dalorzo中添加此内容:第一条评论无效!!尝试在你的html@Dalorzo中添加这个:第一条评论不起作用!!