Cocoa – 防止在WebKit中缓存Javascript – Safari Beta 4错误?

Cocoa – 防止在WebKit中缓存Javascript – Safari Beta 4错误?,第1张

概述我有一个包含WebView的 Cocoa应用程序.由于应用程序已安装客户群,我的目标是10.4 SDK. (即我不能要求Leopard.) 我有两个文件:index.html和data.js. 在运行时,为了响应用户输入,我通常会使用应用程序中的当前数据填充data.js文件. (data.js文件由body.html上的index.html文件用于填充index.html中的表.index.ht 我有一个包含WebVIEw的 Cocoa应用程序.由于应用程序已安装客户群,我的目标是10.4 SDK. (即我不能要求Leopard.)

我有两个文件:index.HTML和data.Js.

在运行时,为了响应用户输入,我通常会使用应用程序中的当前数据填充data.Js文件.

(data.Js文件由body.HTML上的index.HTML文件用于填充index.HTML中的表.index.HTML本身不会被修改.)

为了(据说)阻止WebKit缓存我经常变化的数据,我打电话给:

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:indexfileURL cachePolicy: NSURLRequestReloadIgnoringCacheData timeoutInterval:10];

[[myWebVIEw mainFrame] loadRequest: urlRequest];

这在Tiger和Leopard中非常有效.

但是,如果安装了Safari Beta 4,它在Leopard中会失败. webvIEw中index.HTML文件的绘制不考虑data.Js文件的当前更改.无论URL的缓存策略如何,JavaScript文件(data.Js)实际上都被缓存了.

作为一种解决方法,我尝试在loadRequest之后调用[[myWebVIEw mainFrame] reload],但这会导致其他问题. (webvIEw根本没有更新.)

任何人都可以建议一种方法来解决或解决这种行为?谢谢.

解决方法 不是解决方案,而是可能有效的解决方法:

尝试在您的网址中附加“?version = some_random_number”等内容,每次重新加载时都会使用不同的随机数.根据我的经验,这在强制webkit重新加载方面非常有效.

@H_419_48@ 总结

以上是内存溢出为你收集整理的Cocoa – 防止在WebKit中缓存Javascript – Safari Beta 4错误?全部内容,希望文章能够帮你解决Cocoa – 防止在WebKit中缓存Javascript – Safari Beta 4错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存