Chrome应用程序 - webview.cleardata,重新加载和定期刷新

时间:2015-09-12 16:20:44

标签: javascript webview google-chrome-app kiosk kiosk-mode

我正在使用带有webview的自助服务终端应用程序来显示Google幻灯片演示文稿。基本机制都运行良好,但我需要定期刷新webview以反映对幻灯片所做的更改。

观看了Chromium bug 406437以清除webview缓存(是的!),并且我正在尝试实现webview.cleardata和webview.reload,但似乎无法正常工作。控制台日志显示"无法读取属性'重新加载' of null"

我是否在正确的轨道上?有什么简单的我可以忽视,或者我的逻辑中是否存在设计缺陷?

browser.js 的内容(至少是第一部分)......

// NOTE: Refresh timing is on line 26 - in milliseconds
// 5 min: 5 x 60 (sec) x 1000 (ms)

window.onresize = doLayout;
var isLoading = false;

// Define the function
function refreshWebView() {
  var webview = document.querySelector('webview');

  // https://github.com/GoogleChrome/chrome-app-samples/blob/master/samples/webview-samples/browser/browser.js
  // Set up the clear data variable
  var clearDataType = { 
  appcache: true, 
  cookies: true, 
  fileSystems: true, 
  indexedDB: true, 
  localStorage: true, 
  webSQL: true, 
  cache: true
  } 

  webview.clearData({since: 0}, clearDataType, function() { webview.reload(true); }); 
  webview.reload(true);
  setTimeout(function() { refreshWebView(); }, 60*1000);
}

// Kick off the refresh (with the delay defined above)
console.log('starting refreshWebView...');

refreshWebView();

onload = function() {
  var webview = document.querySelector('webview');
  doLayout();

  document.querySelector('#back').onclick = function() {
    webview.back();
  };

... remaining code removed for brevity...

0 个答案:

没有答案