Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有自定义javascript事件的Adobe AEM表单抛出guideLib、guide.js、guideBridge或guideRuntime未定义或。。。这不是一个函数_Javascript_Forms_Adobe_Aem - Fatal编程技术网

具有自定义javascript事件的Adobe AEM表单抛出guideLib、guide.js、guideBridge或guideRuntime未定义或。。。这不是一个函数

具有自定义javascript事件的Adobe AEM表单抛出guideLib、guide.js、guideBridge或guideRuntime未定义或。。。这不是一个函数,javascript,forms,adobe,aem,Javascript,Forms,Adobe,Aem,这将是一个很少有人会遇到的问题,但这是一个耗时且难以解决的问题,我解决了,所以这里是解决方案,世界上另一个有这个问题的人 您是否从guideRuntime.js、guide.js或guidelib或其他您无法控制的adobe前端库中收到各种奇怪的“this.getOnOffValueFromModelValue不是函数”错误 这些可能不直接适用于您,但如果他们确实继续阅读: 您是否正在使用webpack并在其他地方的页面上包含自定义代码(可能是通过使用数据或其他方式) 您的项目是否使用lodas

这将是一个很少有人会遇到的问题,但这是一个耗时且难以解决的问题,我解决了,所以这里是解决方案,世界上另一个有这个问题的人

您是否从guideRuntime.js、guide.js或guidelib或其他您无法控制的adobe前端库中收到各种奇怪的“this.getOnOffValueFromModelValue不是函数”错误

这些可能不直接适用于您,但如果他们确实继续阅读:

  • 您是否正在使用webpack并在其他地方的页面上包含自定义代码(可能是通过使用数据或其他方式)

  • 您的项目是否使用lodash?或者另一个库使用了一个全局变量

  • 或者jQuery?还是其他前端库
  • 然后你可能会问这样的问题:

    • 为什么我的表单不能正常工作
    • 为什么表格上的一些东西不起作用
    • 有些规则就是不起作用。。。为什么不呢?我该如何修复它们
    哦,我会喂你的,小鸟们

    (请具有较高声誉的人在此添加adobe form、aem form标签)

    TLDR:

    如果您正在使用Webpack,请将其添加到模块规则中:

    module: {
      rules: [
        { parser: { amd: false } }
     // ... your other rules
      ]
    }
    
    或者,如果您没有使用webpack,请确保您自己的变量没有泄漏到全局范围,因为adobe的和您的可能会覆盖它们的变量,反之亦然


    即使您没有使用可能会让您走上正确方向的网页,也可能适用的解释:

    Adobe的客户端库(如guide.js和guideRuntime等)并不擅长依赖注入它们的内容。他们的代码大量泄漏全局变量。例如(见下图),他们经常使用下划线的u。如果您使用的是lodash,那么函数签名是不同的——下划线允许您将“this”上下文定义为第三个参数,而lodash则不允许

    所以,在我们的例子中,我们的lodash覆盖了它们的下划线,导致了一系列奇怪的问题。。。尽管我们没有在全球任何地方申报lodash

    所以这个故事的寓意是,打开控制台,检查是否有任何库是全局定义的,如果是,找出如何使它们不是全局的,直到Adobe决定修复它们的内容(不要屏住呼吸)