我正在使用带有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...