我想打开一个配置了高度和宽度的新窗口,同时使用< h:commandLink>
<h:commandLink id="zyzid" value="click me" action="#{test.testDo}" target="_blank" />
这将呈现:
<a onclick="mojarra.jsfcljs(document.getElementById('myForm'),{'myForm:xyzid':'myForm:xyzid'},'_blank');return false" href="#" id="myForm:xyzid">click me</a>
我查看了jsfcljs()函数。它使用target =“_ blank”提交表单,但我没有看到window.open()。那么,我怎么能改变这段代码来改变新窗口的高度和宽度呢?
供参考:
mojarra.jsfcljs = function jsfcljs(f, pvp, t) {
mojarra.apf(f, pvp);
var ft = f.target;
if (t) {
f.target = t;
}
f.submit();
f.target = ft;
mojarra.dpf(f);
};
答案 0 :(得分:0)
我找到了一些相关的links和this,我找到了这个解决方案,这似乎对我有用。 h:commandLink打开一个新页面,我可以操纵它的宽度和高度。这涉及稍微修改/覆盖mojarra.jsfcljs函数。它打开一个带有标准window.open()的窗口(由onclick触发),并将它提交的表单与该窗口相关联。
$(window).load(function(){
mojarra.jsfcljs = function jsfcljs(f, pvp, t) {
mojarra.apf(f, pvp);
var ft = f.target;
if (t) {
if (t.indexOf('options') != -1){
f.target = '_blank' + new Date().getTime();
var options = t.substring(t.indexOf('optionts') + 9);
window.open('', f.target, options);
}
else{
f.target = t;
}
}
f.submit();
f.target = ft;
mojarra.dpf(f);
};
});
标记:
< h:commandLink id="viewLink" action="#{testBean.doTest}" value="h:commandLink" target="options:height=200, width=300" />