У меня есть книга epub3 с 3 страницами.Я просматриваю эту книгу в Apple's Books, их встроенном читателе epub3, на Mac OSX.Первая страница выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
<head>
<title>My Book</title>
<meta charset="utf-8"/>
<script>
/*<![CDATA[*/
window.addEventListener('focus', function(event) {
var currentPage = localStorage.getItem('currentPage')
if (currentPage == null){
currentPage = "";
}
currentPage = currentPage + " 1";
localStorage.setItem('currentPage', currentPage);
});
setInterval("myFunction()", 1000);
function myFunction() {
var t = document.getElementById("currentPage");
var currentPage = localStorage.getItem('currentPage');
if (currentPage == null){
currentPage = "";
}
t.innerHTML = currentPage;
}
/*]]>*/
</script>
</head>
<body>
<h1> Page 1</h1>
<div id = "currentPage"></div>
</body>
</html>
И на последующих страницах используется один и тот же шаблон.
Итак, когда я открываю книгу, открыв ее ранее, на каждой странице отображается одно и то же значение, дляпример:
Page 1: 1 2 1 2 3
Page 2: 1 2 1 2 3
Page 3: 1 2 1 2 3
Однако, когда я переключаю фокус между страницами, страницы обновляются следующим образом:
Page 1: 1 2 1 2 3 1 1 1 1 1 1 1 1
Page 2: 1 2 1 2 3 2 2 2 2 2 2
Page 3: 1 2 1 2 3 3 3 3 3
Таким образом, похоже, что каждая страница имеет свою собственную независимую переменную локального хранилища.Я ожидал, что переменная будет разделена между страницами.
Когда я закрываю книгу, значение, отображаемое на странице с фокусом, сохраняется в локальном хранилище, и это значение будет использоваться при повторном открытии книги.
Я OSX 10.14.И я проверил это в Apple Books (1.16).Как правильно распределить состояние между страницами?