Я использую новую функцию манифеста кэша из HTML5 для кэширования своего веб-приложения, чтобы он работал в автономном режиме. Содержимое автоматически кэшируется, когда страница загружается следующим элементом html:
<html lang="en" manifest="offline.manifest">
Это прекрасно работает. Тем не менее, я хочу предоставить моим пользователям возможность, чтобы они не кэшировали контент в автономном режиме. Итак, вот мой вопрос:
Есть ли способ инициировать кэширование приложения во время выполнения, используя JavaScript и не выполнять его автоматически при загрузке страницы.
Например, что-то вроде этого (с использованием jquery):
---------------- index.html --------------
<head>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="Main.js"></script>
</head>
<body>
<button id="cacheButton">Cache Page</button>
</body>
</html>
--------- Main.js ---------
$(document).ready(
function()
{
$('#cacheButton').click(onCacheButtonClick);
}
)
function onCacheButtonClick(event)
{
console.log("Setting Offline Manifest");
$('#htmlRoot').attr("manifest","offline.manifest");
}
------------- offline.manifest -------------
CACHE MANIFEST
#version .85
#root
index.html
scripts/main.js
#jquery assets
http://code.jquery.com/jquery-1.4.4.min.js
В принципе, при нажатии кнопки я динамически устанавливаю атрибут манифеста элемента html. Это работает (в том смысле, что элемент установлен), но это не приводит к тому, что браузер кэширует страницу.
Любые предложения?