我的应用程序使用Webview
用于拥有大量CSS和Javascript(大约0.5 MB)的网站。有可能:
在用户打开之前缓存所有CSS和Javascript 应用?
如果没有,也许可以将CSS和Javascript缓存为 用户打开后很长时间(因为它很少变化) 申请第一次?
或者也许可以在Android中放置.js和.css文件 文件夹,所以它会从文件加载而不是连接到 服务器?
答案 0 :(得分:0)
一种方法是使用HTML5 localStorage。这样的事情(未经测试):
function loadScripts() {
var scriptURL = '/myscript.js',
cssURL = '/mycss.css',
jsXHR,
cssXHR;
var applyStyleAndScript = function(styleText, scriptText) {
var styleTag = document.createElement('style'),
scriptTag = document.createElement('script');
styleTag.innerText = styleText;
document.body.appendChild(styleTag);
scriptTag.innerText = jsText;
document.body.appendChild(scriptTag);
}
if (localStorage && localStorage[scriptURL] && localStorage[cssURL]) {
applyStyleAndScript(localStorage[cssURL], localStorage[scriptURL]);
} else {
cssXHR = new XMLHttpRequest();
jsXHR = new XMLHttpRequest();
cssXHR.open('GET', cssURL);
cssXHR.onload = function(e) {
var cssText = e.target.responseText;
if (localStorage) localStorage[cssURL] = cssText;
jsXHR.open('GET', scriptURL);
jsXHR.onload = function(e) {
var jsText = e.target.responseText;
if (localStorage) localStorage[scriptURL] = jsText;
applyStyleAndScript(cssText, jsText);
}
jsXHR.send();
}
cssXHR.send();
}
}