VF 标准取消按钮适用于 Classic 或 Lightning Experience,但不适用于两个版本

VF standard cancel button either works on classic or Lightning Experience but not on both versions

我有一个带有保存和取消按钮的 visualforce 页面,我在选项卡中打开这个表单。理想情况下,我想做的是当我点击取消时应该清除表格并关闭新打开的 window 本身。

<apex:commandButton value=“cancel” action="{!cancel}" oncomplete=“window.close();” />

上述语句在 Lightning 体验中有效(window 关闭)但在经典版本中无效。

<apex:commandButton value=“cancel” action=“{!Mycancel}" oncomplete=“window.close();” />

在上面的语句中,我正在编写自定义取消(基本上是重定向),它关闭了经典中的 window,但这在 Lightning Experience 中不起作用。

我希望解决方案既适用于 Classic 也适用于 Lightning Experience。请帮帮我。

您可以在javascript

中检测它是经典还是闪电
 if(document.referrer.indexOf(".lightning.force.com") > 0){
        alert("This is lightning ");
    }else{
        alert("This is classic");
    }

也看看这个http://bobbuzzard.blogspot.com/2015/11/context-is-everything.html