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

Javascript Chrome应用程序-webview.cleardata,重新加载和定期刷新,javascript,webview,google-chrome-app,kiosk,kiosk-mode,Javascript,Webview,Google Chrome App,Kiosk,Kiosk Mode,我正在开发一个带有网络视图的信息亭应用程序来显示谷歌幻灯片演示。基本机制都很好,但我需要定期刷新webview以反映对幻灯片所做的更改 看到Chromium bug清除webview缓存(耶!),我正试图实现webview.cleardata和webview.reload,但似乎不起作用。控制台日志显示“无法读取null的属性“重新加载” 我走对了吗?我是否忽略了一些简单的东西,或者我的逻辑中是否存在设计缺陷 mybrowser.js的内容(至少是第一部分) 当变量在一段时间后被收集时,这可能是

我正在开发一个带有网络视图的信息亭应用程序来显示谷歌幻灯片演示。基本机制都很好,但我需要定期刷新webview以反映对幻灯片所做的更改

看到Chromium bug清除webview缓存(耶!),我正试图实现webview.cleardata和webview.reload,但似乎不起作用。控制台日志显示“无法读取null的属性“重新加载”

我走对了吗?我是否忽略了一些简单的东西,或者我的逻辑中是否存在设计缺陷

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


当变量在一段时间后被收集时,这可能是常见的回调问题。尝试一种标准解决方案:
webview.clearData({since:0},clearDataType,webview.reload.bind(webview,true))感谢您的回复!我要试一试。实际错误是:
uncaughttypeerror:无法读取null的属性“clearData”
,因此看起来它甚至不是第一次加载。好吧,当变量在一段时间后被收集时,这可能是常见的回调问题。尝试一种标准解决方案:
webview.clearData({since:0},clearDataType,webview.reload.bind(webview,true))感谢您的回复!我要试一试。实际错误是:
uncaughttypeerror:无法读取null的属性“clearData”
,因此看起来它甚至不是第一次加载。
// 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...