Javascript TypeError:undefined不是对象(正在计算';extraMenuItems.length';)

Javascript TypeError:undefined不是对象(正在计算';extraMenuItems.length';),javascript,html,Javascript,Html,在web浏览器中,我遇到以下错误: TypeError:undefined不是对象(正在计算'extraMenuItems.length') 这是文件管理器的代码-问题在于文件夹-当我在文件管理器中创建文件夹时,我对此无能为力。例如,对于.zip文件,没有显示问题 在代码中,我看到缺少逗号分隔符,我添加了这个,但没有添加结果 // replace any items for overwriting (plugins) if (extraMenuItems.length > 0) {

在web浏览器中,我遇到以下错误:

TypeError:undefined不是对象(正在计算'extraMenuItems.length')

这是文件管理器的代码-问题在于文件夹-当我在文件管理器中创建文件夹时,我对此无能为力。例如,对于.zip文件,没有显示问题

在代码中,我看到缺少逗号分隔符,我添加了这个,但没有添加结果

// replace any items for overwriting (plugins)
if (extraMenuItems.length > 0)
{
    items = JSON.parse(extraMenuItems);
    for (i in items)
    {
        // setup click action on menu item
        eval("items['" + i + "']['action'] = " + items[i]['action']);
    }
};

测试extraMenuItems的类型,或者将代码包装在try catch中

if (Array.isArray(extraMenuItems) && extraMenuItems.length > 0) {
    items = JSON.parse(extraMenuItems);
    for (i in items)
    {
        // setup click action on menu item
        eval("items['" + i + "']['action'] = " + items[i]['action']);
    }
};

如果获得了
extraMenuItems
值,请确保有一个值hi@sofyanthay如果是:
extraMenuItems=$(this.attr('dtextramenuitems')
dtextramenuitems
不是DOM属性。也许这个例子是相关的:我在这里没问题,因为:
$(this.val()
我有
extraMenuItems=$(this.attr('dtextramenuitems')嗨,这是工作,但只在部分…:)现在,在文件夹上,鼠标右键单击“工作”,但未正确显示文件夹名称-文件夹名称是“测试”,但右键单击“未定义”-我仍然无法打开该文件夹。在这种情况下,您需要确保
extraMenuItems
存在,这在您的问题中不存在。如果它存在,您可以检查它吗?这是此文件中的完整代码。恐怕您发布的url位于专用网络中,我无法访问它。嗯,不,它是公共访问-pastebin-文件有很多代码,因此我无法在此处添加此内容:(