Я хочу, чтобы в конце главы моей электронной книги epub3 с фиксированным макетом была викторина. Эта викторина займет несколько страниц и будет иметь несколько вариантов ответа. Каждый вопрос будет состоять из самого вопроса и четырех вариантов, каждый из которых имеет переключатель. В конце викторины пользователь нажимает кнопку, чтобы показать свой общий результат. Для этого мне нужно будет обмениваться информацией между страницами. Один из способов сделать это — разместить все страницы в одном XHTML-документе, а затем я могу сохранить ответы, которые студент дает на каждый вопрос, в переменной javascript. Однако допустимо ли иметь несколько страниц книги epub3 с фиксированным макетом в одном файле XHTML?, как я делаю здесь:
<?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"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<style>
p.pagebreak {
page-break-after:always;
}
</style>
</head>
<body>
<p>
Text on Page 1
</p>
<p class="pagebreak"></p>
<p>
Text on Page 2
</p>
<p class="pagebreak"></p>
<p>
Text on Page 3
</p>
</body>
</html>
В iBooks смотрелось нормально.
В качестве альтернативы, если используется несколько страниц, я мог бы сохранить ответы учащихся, используя window.sessionStorage
. Однако я понятия не имею, сколько ридеров поддерживают хранение. Я хотел бы, чтобы викторина работала для iBooks, а также для планшетов и настольных компьютеров Android и Windows.
Как бы вы посоветовали мне реализовать мою викторину?
window.sessonStorage
ограничен только текущей вкладкой, аwindow.localStorage
работает во всем браузере. - person Mean Coder   schedule 26.08.2018