Как передать параметры между страницами в HTMLHELP (файлы.CHM)
Мне нужно создать файл справки Windows, где есть много тем, которые очень похожи, но отличаются друг от друга в деталях. Вместо того, чтобы создавать страницу для каждой комбинации (около 40 на тему!), Я хочу использовать Javascript для изменения деталей, но мне нужно передать параметры каждой странице.
Я пытался использовать аргумент поиска URL:
<a href="page.htm?argument">Page</a>
Это хорошо работает в стандартных файлах HTML в браузере, даже в HTML Help Workshop, но как только он скомпилирован в файл.CHM, я получаю страницу с сообщением об ошибке: эта страница не может быть отображена.
Я пытался поместить "page.htm? Аргумент" в.HHP, но это тоже не работает.
2 ответа
Я решил свою проблему с помощью свойства window.name. Передавая два параметра:
<script>window.name = "p1=Par1;p2=Par2";</script>
<a="href=page.htm>Goto page</a>
В page.htm:
<head>
<script language="JavaScript">
function getName(c_name) {
var c_start,c_end;
if (window.name.length > 0) {
c_start = window.name.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = window.name.indexOf(";", c_start);
if (c_end == -1) c_end = window.name.length;
return unescape(window.name.substring(c_start, c_end));
}
}
return "";
}
</script>
</head>
<body>
<H2 id="h2id"></H2>
<script>
document.getElementById("h2id").innerHTML = 'P1: '+getName("p1")+ ' P2: '+getName("p2");
</script>
</body>
Некоторая информация для добавления, например, файла.css или.js в раздел [FILES], как описано ниже.
Компилятор справки пытается вставить в.chm все локальные файлы, на которые есть прямые ссылки в файлах HTML, будь то другие файлы HTML, графика, каскадные таблицы стилей и т. Д. Убедитесь, что файл сценария и CSS также скомпилированы в ваш CHM.,
Чтобы убедиться, что вся графика (и каскадные таблицы стилей, такие как *.css) скомпилированы в.chm, вы можете перечислить их в разделе [FILES] вашего файла проекта (.hhp). С помощью HTML Help Workshop процедура выглядит следующим образом:
1) Откройте файл проекта в HTML Help Workshop.
2) Нажмите кнопку "Добавить / удалить файлы темы" на вкладке "Проект".
3) Нажмите Добавить.
4) В поле "Имя файла" введите *.gif (или *.jpg).
5) Нажмите "Открыть", а затем выберите, например, графические файлы для добавления.
Если вы хотите, вы можете использовать подстановочные знаки в разделе [FILES], чтобы указать каждый файл в данном каталоге. Например:
[ФАЙЛЫ] html*.htm images*.gif css\foobar.css
Конечно, вам нужно отредактировать файл проекта в текстовом редакторе, таком как Блокнот, чтобы сделать это, и снова скомпилировать. Обратите внимание, что все файлы должны находиться в файле проекта на уровне папок или на уровне структуры подпапок.