【问题标题】:Remove image from cache in ionic app从离子应用程序的缓存中删除图像
【发布时间】:2017-05-08 04:21:04
【问题描述】:

我正在使用 Ionic 创建一个 Android 应用程序,并在 controller.js 文件中显示来自 URL 的图像。它显示得很好,但是如果我更改服务器上的图像,则会在应用程序中显示旧图像。如何确保更新的新图像显示在应用程序中?以下是代码 -

document.getElementById("news1Img").src="http://someserver.com/folder/news1Img.png";

如何清除该视图中的缓存? (请注意 - 我已经添加了 cache-view="false") 提前致谢。

【问题讨论】:

  • 您可以将侦听器从您的服务器发送到图像 url 已更改的 ionic。
  • 尝试使用 ng-src 而不是 src。
  • @raj - 不确定如何在 javascript 中使用 ng-src

标签: caching ionic-framework


【解决方案1】:

请试试这个,希望能成功

document.getElementById("news1Img").src="http://someserver.com/folder/news1Img.png?time=12322";

【讨论】:

  • 试过了,但应用程序仍然只显示旧图像,即使在设备上重新启动应用程序后也是如此。
  • 您需要动态更改网址。然后您可以获得新的更新图像。如果你上传你的控制器代码,我可以解决这个问题。
  • .controller('DashCtrl', function($scope,$state,$http) { /* 从服务器加载新闻和更新 */ $http.get("smashingwheels.com/ridewise/news.json", { params: { "key1": "value1", "key2": "value2", "key3": "value3" } }) .success(function(data) { //News 1 document.getElementById("news1Data"). innerHTML = data.news1; document.getElementById("news1Img").src="smashingwheels.com/ridewise/news1Img.png"; }) .error(function(data) { })
  • 在您的控制器中,您直接提供硬编码的图像路径。应该是服务器吧?从哪里获得所有图像的路径?
  • 我只硬编码了来自服务器的图像路径。想法是从 JSON 文件加载新闻文本(工作正常)并使用该 url 从服务器加载相关图像。如果新闻发生变化,我将更新 JSON 文件并将服务器上的图像替换为该 url 并保持相同的文件名。
【解决方案2】:

您可以通过 app.js 以这种方式禁用缓存

.config(function ($ionicConfigProvider) {
    $ionicConfigProvider.views.maxCache(0);
})

【讨论】:

  • Sharad - 试过了,但仍然显示旧图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
相关资源
最近更新 更多