多字段表单弹出后,自定义操作窗中操作项仍然可以触发。
这会导致自定义操作窗继续执行后方流程了,但是多字段表单依然没有结束,且仍然会通过异步调用的方法创建自定义操作窗。
已找到解决方案:
对于通过异步调用激活的子程序,执行两次文本替换,清除掉operation和data定义即可,正则表达式如下:
第一次替换(用于清除原有operation):
(operation=.+?(?=&*))|(&data=.+?(?=&*))
替换为
null
第二次替换(替换为不会触发操作的operation,data后的&不要删除,否则对于原本没有定义operation的操作项,会导致依然能执行):
(?<=^[^\|]*)\|
|operation=&data=&
执行以上两次替换后,自定义操作窗中的操作项将无法被触发,且&.xxxx之类的外观定义依然存在。而要恢复自定义操作窗中的操作项,只需要在多字段表单结束时,再运行一遍拥有正常操作项的自定义操作窗即可。