这是javascript中的父子窗口关系。在 Javascript 中,子窗口可以由父窗口生成,在这种情况下,父窗口知道子窗口name
并可以控制其外观和消失(open
或close
)。但是,在这种情况下,父窗口生成子窗口,但不是通过javascript
而是使用 Oracle 表单函数web.show_documents
。
不幸的是,从 Oracle forms 10g 开始,没有其他 Web 功能可供您使用(11g 有web.javascript_eval_expr
并且web.javascript_eval_function
可以用来执行javascript
)。
对于解决方案 - 最简单的方法是使用_self
target name inweb.show_document
而不是 default _blank
。这将使网页在与表单会话相同的浏览器中打开(在这种情况下,您将失去表单会话)。您可以提醒用户通知此操作,说明它已完成consistency issues
等,并且webpage will be opened in the same window as the forms
.
另一种选择是在网页打开后完全禁用该按钮(如您所说)。但是,需要注意的是,用户可能会关闭并再次打开表单,在这种情况下,按钮将被启用(并且网页可能仍处于打开状态)。