1

在 Chrome 上从 Siebel 启动 HTML 页面的 Siebel 的 BrowserScript 函数 ShowModalDialog() 的替代方法是什么?该方法在 Chrome、FireFox 上已弃用。它适用于 IE,但 Chrome 用户会收到错误消息。

我的代码:

function Applet_PreInvokeMethod (name, inputPropSet)
{
    //other code
    var ShowModalOptions = "dialogHeight:150px;dialogLeft:120px;dialogWidth:450px;scrollbars:no";
    var sFileSelected = theApplication().ShowModalDialog("FilePicker.htm", "", ShowModalOptions);

    //other code
}
4

1 回答 1

1

我们有类似的问题。在高交互性(仅在 Internet Explorer 中)它工作正常。但是,我们在出现此问题的 OpenUI 中支持其他浏览器。

简而言之,我们解决这样的问题:

  • 我们区分我们是在 OpenUI 还是 High Interactivity
  • 如果它是高交互性(因此它运行 Internet Explorer)-> 一切都和以前一样
  • 如果是 OpenUI -> 我们在演示模型中使用 jquery 中的自定义对话框

在 applet 方法中,如果不是 OpenUI,我们将保持一切正常:

function Applet_PreInvokeMethod (name, inputPropSet)
{
    //other code
    if (!IsOpenUI) {
         var ShowModalOptions = "dialogHeight:150px;dialogLeft:120px;dialogWidth:450px;scrollbars:no";
         var sFileSelected = theApplication().ShowModalDialog("FilePicker.htm", "", ShowModalOptions);

         //other code
    }
}

然后,我们在 OpenUI 中为特定的小程序引入 Presentation Model:

presentation model for the applet {
...
    function PreInvokeMethod(methodName, psInputArgs, lp, returnStructure) {
        try {
           if (methodName == "MethodName") {
                // show jquery dialog having similar to FilePicker.htm
                ...
                // other code
            }
        }
    }   
...
}

您将需要复制代码(对于 HI 和 OpenUI),您需要保留 FilePicker.htm,并且您需要为 OpenUI 制作类似的对话框。

于 2017-04-03T08:30:17.910 回答