我注意到,如果地址栏中的路径指向 nsf 而不是 xsp,则有时来自样式表中的 url 的相对链接不起作用
所以如果我在面板中有以下内联样式
background-image:url('footer-bg.png')
我使用 acme.com/mypage.nsf 访问我的网站(启动属性设置为 start.xsp(背景未加载
但是如果我使用 XSP 的完整路径,背景工作正常,例如 acme.com/mypage.nsf/start.xsp
如何解决此问题,以便我的内联样式表背景始终有效
诀窍是在数据库属性中自动启动 XPage 时始终添加尾部斜杠。
var h=window.location.href;
if(h.indexOf(".xsp")==-1){
if(h.substring(h.length,h.length-1)!="/"){
window.location.href+="/"
}}
我在这里写了一篇关于它的博客文章http://www.xpagedeveloper.com/2013/quicktip-get-right-path-when-autolaunching-an-xpage
或者使用托马斯添加的这个jQuery代码
$(function(){
var h=window.location.href;
if(h.indexOf(".xsp")==-1){
if(h.substring(h.length,h.length-1,1)!="/"){
window.location.href+="/"
}}
})
我有一个片段驻留在我的布局 CC 中,我在每个页面上都使用它:http://snippets.notesx.net/Privat/osnippets.nsf/snippet.xsp?documentId=13EBFA7FDDC4354EC1257C120005018E
在前面的PageLoad中,你输入了以下代码:
var url = facesContext.getExternalContext().getRequest().getRequestURI();
if(url.indexOf(".xsp")==-1){
if(url.endsWith("/")){
url = url.substr(0, url.length-1)
}
context.redirectToPage(url+view.getPageName())
}