如何使用xPages强制更新客户端的设计更改



我正在使用xPages构建网页,并不断更改脚本和设计,包括服务器和客户端javascript、样式表和图像更改。

每次我更改javascript或样式表时,我都希望在网络浏览器中看到我的更改,我还希望我的用户在访问网页时获得最新的更改。

我知道我可以使用Shift重新加载,或者CTRL重新加载并清除我的网络浏览器缓存。我也知道我可以更改对象的截止日期,但我想要一种更平滑、更可控的方式来完成这项工作。

寻找任何一种最佳实践来做到这一点。

感谢

Thomas

在应用程序的xsp.properties文件中,或在服务器上设置xsp.application.forcefullrefresh=true

#应用程序刷新#当此属性设置为true时,则在#类的设计发生了变化(意味着所有数据都被丢弃在作用域中)。

#xsp.application.forcefullrefresh=错误

新的XSP Portable Command Guide说:"这个属性是在Notes/Domino 8.5.3中引入的。默认情况下,它设置为false,在XPages应用程序的开发阶段特别有用。"

我还没有完全测试过这种行为,但听起来很有希望。当然,您可以/应该在进行更改时将其设置为true。一旦稳定,就把它放回去。

/Newbs

添加到Ferry的答案和您的评论中;

你可以使用"?version=2.1"来代替"?dumm=randomvalue"。所以它会被缓存,但当你改变设计时,你可以增加版本。

这种方法有一个问题,因为一些代理服务器不会缓存任何带有查询参数的内容。最好直接重命名文件,添加日期或版本号。它总是有效的。

要临时禁用缓存,请使用Fiddler2。在任何web客户端上,在一个位置启用和禁用都很容易。以及http请求跟踪功能的附加优势。

要完全禁用任何缓存,请添加url+'"?dumm="+@Unique();'到javascript或图像文件的每个url。。。

我读这个问题的方式是,你希望你所做的每一个更改都能立即出现在客户端的浏览器或客户端上。你真的确定要这么做吗?听起来你没有做任何测试,所以任何拼写错误、错误、崩溃等都会传递给你的用户。对我来说,这听起来是一个糟糕的计划。我希望我错了,你使用的是一个模板,只将经过充分测试的更改推到生产版本,而不是在生产版本中进行更改。

我只想发布一个时间表,说明何时将更改推送到生产中,并让用户在那个时候重新加载他们的浏览器或客户端。要么这样做,要么在下班时间这样做,当他们下次登录时,他们会得到最新的更改。

添加到Ferry的答案和您的评论中;

你可以使用"?version=2.1"来代替"?dumm=randomvalue"。所以它会被缓存,但当你改变设计时,你可以增加版本。

也许您可以看看domino如何控制url的缓存。

http://www.ibm.com/developerworks/lotus/library/ls-resp_head_rules/

NEwbs的答案很好,但值得注意的是,在Firefox中,Chris Pederick提供了一个非常有用的插件,名为"web developer",允许您禁用缓存。

http://chrispederick.com/work/web-developer/

另一个真正有用的是Firebug,它非常神奇——它让任何HTML工作都变得更容易

https://addons.mozilla.org/en-US/firefox/addon/firebug/

我确实找到了另一个解决方案,将css和js放在一个主题中,只需重命名文件就很容易了。

如本文所述http://goo.gl/vFTii

Why do not we use the window.location.reload()...
Which does the same like ctrl+F5
It reloads the page, which is similar to context.reloadpage 

相关内容

  • 没有找到相关文章

最新更新