jQuery UI 控制台 VF 中嵌入闪电组件时未加载

jQuery UI not loading when lightning component embedded inside VF on console

我正在尝试在 VF 页面内嵌入的 salesforce lightning 组件中使用 jQuery 和 jQuery UI。此 VF 页面可在 ex 的控制台上使用。 domain/my.salesforce.com/console

当我 运行 它时,我只能加载此控制台中的 jQuery 版本 3.2.1,而其他 jquery 版本无法加载....好吧我我很高兴。但下一步是加载应该与 jQuery 3.2.1.

兼容的 jQuery UI 版本

但是当 jQuery UI 在这种情况下加载时,我遇到以下错误:嵌入在 vf 中的闪电组件显示在控制台上。

Jquery UI 错误:

Uncaught TypeError: n[o].hasOwnProperty is not a function
throws at /resource/jQuery_UITEST:8:5049

我发现 jQuery v2.2.4 和 jQuery UI - v1.11.2 在纯粹用作 lightning 应用程序时可以很好地协同工作,但在我嵌入此 lightning 时不起作用vf 中的组件并且 vf 是控制台的一部分。

如果您有任何想法,请提供您的意见。

谢谢, 阿基

当您在 Visualforce 中嵌入 lightning 时,事情的表现确实有所不同。您是否查看过浏览器的控制台以查看抛出的 JavaScript 错误?通常您会看到一些与 CORS 相关的内容。 然后,您需要更新 Salesforce 中的 CORS 设置,以将错误中提到的 URL 列入白名单。 Use CORS for Lightning Out

这里已经回答了这个问题: https://salesforce.stackexchange.com/questions/180535/jqueryui-inputinputindex-hasownproperty-is-not-a-function

简单地说:所有使用函数 hasOwnProperty 的外部库都无法正常工作(还),因为该函数尚未添加到 LockerService SecureWindow 对象中。使用旧版本的 jquery UI 现在可以解决(支持 1.11.4 版本)