国外的很多新闻和公司网站的链接都在当前窗口打开,这种文化上的差异也体现在XPages上。视图控件产生的链接都是在当前窗口打开。从8.5.2起,新增加了target属性,可以设置为_blank,在新窗口中打开链接,但是竟然只适用于Notes客户端。于是为了符合我国(或者是我)的习惯,就必须自己动手。
最直接的想法是在window.onload事件中找出视图包含的链接,修改它们的target属性。XPage有一个onClientLoad事件,不幸的是,这又只是为客户端准备的。还好如《14. 如何在XPages中插入HTML》所说,Javascript可以被包含在<script>标签里,插入XPage的源代码中。于是如下代码就完成了我们的任务:
<script language="Javascript">
XSP.addOnLoad(function () {
openEntryInNewWin();
}
);
</script>
XPages在前端结合了dojo脚本库,并用XSP对象包装增强了dojo的一些功能。addOnLoad方法就将参数中的函数添加到window的onload事件中执行。函数openEntryInNewWin()也很简单:
function openEntryInNewWin(){
dojo.query('.xspLinkViewColumn').attr('target', '_blank');
}
上面的函数使用dojo的query方法查找所有class属性为xspLinkViewColumn的元素,即视图控件产生的链接,再用attr方法修改它们的target属性。
不过问题还没结束。如果我们展现一个分类视图,或者翻页,XPages默认使用的是Ajax,即仅有视图部分被刷新,onload事件不会发生,因而新出现的链接仍将在当前窗口打开。于是我们必须在页面的afterRestoreView事件中添加以下代码。同时这又是《15. 如何在XPages中提示操作成功》中提到的view.postScript()方法的又一个用场。
<xp:this.afterRestoreView><![CDATA[#{javascript:view.postScript("openEntryInNewWin()")}]]></xp:this.afterRestoreView>
分享到:
相关推荐
想在视图把文档的连接在新窗口打开,花了很多时间,当终于有一天理解xpages最终成html显示时,想通了,最终用html去理解xpages就可以打开思路了,这为在xpages中做其它功能的实现起很大的作用。
domino xpages 开发 视图新窗口打开视图连接
domino xpages 开发 视图连接在新窗口打开
domino xpages 开发 视图View Start Key
domino xpages 文档开发 onload加载和其它方法
domino xpages 打开新窗口显示连接
domino xpages 开发 视图分页绑定
domino xpages 开发 视图View過濾.docx
为了刚接触xpages的朋友写一些文档,这是以前收集的,以后会陆续把一些资料上来,请关注。在视图在怎么获取选择的文档,以及获取后怎么处理,这是非常实用的功能,但在帮助或百度是难找到的,所以与大家一起分享。
domino xpages 开发 视图 CSS视图为多平台
domino xpages 开发 视图获取选择视图的文档
domino xpages 开发 视图view视图分页栏加按钮
domino xpages 开发 视图列超链接
domino xpages 开发 视图CSS说明
domino xpages 开发 视图View動態獲取列.docx
xpages repeat在ul中重复li,一看就懂的教程,不懂就复制代码
domino xpages 开发 view视图列数据过滤
domino xpages 开发 视图建立全文搜索
domino xpages 开发 视图 repeat搜索内容
超全 Lotus Domino Xpages 开发资料——视图归类资料 大全通过分类提供给大家,请大家根据需要下载 全开源,并且一看就懂,不保留 https://blog.csdn.net/weijia3624/article/details/107013401