CL_GUI_HTML_VIEWER JavaScript问题

2020-09-20 08:52发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,专家。

我遇到了一个奇怪的问题。 在CL_GUI_HTML_VIEWER内部,我使用以下JavaScript代码引发POST SAPEVENT:

 var form = document.createElement(" form");
 form.setAttribute(" method"," post");
 form.setAttribute(" action"," sapevent:foobar");
  
 var field = document.createElement(" input");
 field.setAttribute(" name"," foo");
 field.setAttribute(" value"," bar");
 form.appendChild(field);
 document.body.appendChild(form);
 form.submit(); 

在Windows的SAP GUI中,此操作正常。 但是,当我将SAP GUI用于Java时,POSTDATA和QUERY_TABLE都为空。 可能是什么问题呢? 以及如何解决?

更新:

这似乎是一些安全问题。 使用JavaScript更改表单的操作后,表单字段将不再发送到后端SAPEVENT。 这仅在SAP GUI for Java中发生。 在Windows的SAP GUI中,一切正常。 有任何解决方法的想法吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,专家。

我遇到了一个奇怪的问题。 在CL_GUI_HTML_VIEWER内部,我使用以下JavaScript代码引发POST SAPEVENT:

 var form = document.createElement(" form");
 form.setAttribute(" method"," post");
 form.setAttribute(" action"," sapevent:foobar");
  
 var field = document.createElement(" input");
 field.setAttribute(" name"," foo");
 field.setAttribute(" value"," bar");
 form.appendChild(field);
 document.body.appendChild(form);
 form.submit(); 

在Windows的SAP GUI中,此操作正常。 但是,当我将SAP GUI用于Java时,POSTDATA和QUERY_TABLE都为空。 可能是什么问题呢? 以及如何解决?

更新:

这似乎是一些安全问题。 使用JavaScript更改表单的操作后,表单字段将不再发送到后端SAPEVENT。 这仅在SAP GUI for Java中发生。 在Windows的SAP GUI中,一切正常。 有任何解决方法的想法吗?

付费偷看设置
发送
2条回答
Haoba3210
1楼 · 2020-09-20 09:21.采纳回答

嗨,

我前段时间做了一些研究,请参见 https://github.com/larshp/abapGit/issues/1319

从变更日志看并查看JAR文件,SAP GUI for Java使用基于webkit的JavaFX WebView组件,该组件有一些奇怪之处。 我不确定如何确定支持什么以及确切的版本。

要使上述代码正常工作,我想SAP必须更新GUI,或者Java版本必须与Webkit一起更新。

我建议您考虑解决方法,一种解决方案是使用代码创建BSP页面并公开它,但这取决于您的确切用例。

xfwsx85
2楼-- · 2020-09-20 09:31

感谢您的回答。 我认为预定义的 form 具有固定的 action 值和动态的 input 设置对我来说适用。

一周热门 更多>