Javascript 页面导航上的requirejs错误
我曾经在Chrome和IE中遇到过这种情况 如果我在requirejs仍在加载或获取脚本时单击链接以离开页面,则会出现随机错误。对不起,如果这是模糊的 例如,在require.js本身中,我今天收到一个错误:Javascript 页面导航上的requirejs错误,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我曾经在Chrome和IE中遇到过这种情况 如果我在requirejs仍在加载或获取脚本时单击链接以离开页面,则会出现随机错误。对不起,如果这是模糊的 例如,在require.js本身中,我今天收到一个错误: Unable to get value of the property 'normalize': object is null or undefined 在以下块中: //If current map is not normalized, wait for that
Unable to get value of the property 'normalize': object is null or undefined
在以下块中:
//If current map is not normalized, wait for that
//normalized name to load instead of continuing.
if (this.map.unnormalized) {
//Normalize the ID if the plugin allows it.
if (plugin.normalize) {
name = plugin.normalize(name, function (name) {
return normalize(name, parentName, true);
}) || '';
}
//prefix and name should already be normalized, no need
//for applying map config again either.
normalizedMap = makeModuleMap(map.prefix + '!' + name,
我在自己定义的js文件中收到了其他错误,它们在依赖项完全加载之前开始执行代码。我感觉当浏览器被要求离开当前页面时,它会停止所有ajax调用,从而截断一些js
有没有办法防止此类错误?避免在
define
函数的作用域中运行代码。一旦所有内容都加载完毕,通过在页面准备就绪时执行的函数中编写代码来启动应用程序的逻辑
你说的导航是什么意思?如果您导航到别处,页面就会消失,错误也会消失。这是应用程序保持加载状态的pushAPI风格导航,还是完整的浏览器导航?如中所示,单击页面上的标准链接进行导航。不确定您所说的避免在define函数的作用域中运行代码是什么意思。例如,假设我有一个名为exampleScript的脚本文件。它的内容可能如下所示。如果我在加载所有内容之前单击页面上的链接,我会收到一个错误,说ko未定义,或者可能是瞬间未定义<代码>定义('exampleScript',['ko','jquery','lodash','moments'],函数(ko,$,u,moment){var observateLocalTime=ko.observate(moment());$('body').append(observateLocalTime);})我从未见过这样的错误,但如果用户正在导航,它对他们或您是如何可见的?我在函数中定义代码的意思是,不要编写在加载文件时立即执行的代码。定义函数,然后在您需要的一切就绪时调用函数。当我单击链接时,浏览器会立即出现js错误。如果我打开了devtool栏,它会在转换到链接页面之前突出显示错误。