0

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

每次我更改 javascript 或样式表时,我都希望在 webbrowser 中查看我的更改,并且我还希望我的用户在访问网页时获得最新的更改。

我知道我可以使用 Shift-Reload 或 CTRL-reload 并清除我的网络浏览器缓存。而且我也知道我可以更改对象的到期日期,但我想要一种更顺畅、更好控制的方式来做到这一点。

寻找任何类型的最佳实践来做到这一点。

谢谢

托马斯

4

9 回答 9

5

在应用程序的 xsp.properties 文件中或在服务器上供服务器广泛使用时,您可以设置 xsp.application.forcefullrefresh=true。xsp.properties 文件文档说:

# Application refresh # 当此属性设置为 true 时,当类的设计发生更改时(意味着所有数据都被丢弃在范围内),将请求完整的应用程序刷新。

# xsp.application.forcefullrefresh=false

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

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

/新人

于 2012-02-18T22:17:56.720 回答
1

添加到 Ferry 的回答和您的评论;

您可以使用“?version=2.1”代替“?dummy=randomvalue”。所以它会被缓存,但是当你改变设计时,你可以增加版本。

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

要暂时禁用缓存,请使用 Fiddler2。在任何 Web 客户端中的一处都可以轻松启用和禁用。以及 http 请求跟踪功能的额外好处。

于 2012-02-26T22:32:17.510 回答
0

添加到 Ferry 的回答和您的评论;

您可以使用“?version=2.1”代替“?dummy=randomvalue”。所以它会被缓存,但是当你改变设计时,你可以增加版本。

于 2012-02-18T00:41:58.143 回答
0

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

我只是列出了何时将更改推送到生产环境的时间表,并让用户在那时重新加载他们的浏览器或客户端。要么这样做,要么在下班时间进行,当他们下次登录时,他们会得到最新的更改。

于 2012-02-17T20:40:02.880 回答
0

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

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

于 2012-02-19T14:52:17.050 回答
0

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

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

另一个真正有用的是 Firebug,它真是太棒了——它使任何 HTML 工作变得更加容易

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

于 2012-02-22T06:51:04.653 回答
0

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

如此处所述 http://goo.gl/vFTii

于 2012-02-27T06:16:32.360 回答
0
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 
于 2012-03-09T08:48:58.533 回答
0

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

于 2012-02-17T18:23:28.397 回答