感谢这个论坛的大力帮助,我能够实现这一目标:
Displaying Extension Library Dialog box when page loads?
现在我需要做的是,如果参数不在URL中,则不显示对话框。我可以用param.get做这个服务器端。如何获取参数客户端?或者是否有一些工作?
答案 0 :(得分:2)
<xp:scriptBlock rendered="#{not(empty(param.showDialog))}">...
...或者,如果您想检查特定值:
<xp:scriptBlock rendered="#{param.showDialog eq '1'}">...
如果rendered
评估为false
,则永远不会发送客户端脚本,因此不会自动打开对话框。
答案 1 :(得分:1)
谢谢蒂姆。我无法让你的样本发挥作用。我确信这是我做错了。我跟下面去了。更复杂,但它对我有用,需要继续前进:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
if (getParameterByName('msg') != "")
XSP.openDialog('#{id:dlgMessage}')