2014-09-14 8 views
0

Я создаю файл справки HTML 1 (chm) для проекта C#, используя Sandcastle и сталкиваясь с проблемами с созданным файлом chm таким образом, что URL-адреса с символами hash (#) в них не открывается правильно в браузере при доступе.URL-адреса внешних ссылок, содержащих hash (#)

Что в принципе происходит, это то, что все, что после хэша в URL-адресе отсутствует в URL-адресе, когда оно открыто в моем браузере. Например:

, имеющий связь, такие как

http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//00250000089m000000

показан как

http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html

в моем браузере.

Есть ли что-то, что можно было бы сделать для того, чтобы обойти это ограничение (что я предполагаю, это какое-то ограничение)?

+0

Возможно, проблема двойной слеш (//) после символа #. – user3806621

+0

Нет. Я тестировал случайные URL-адреса без двойной косой черты, а что-то из хэша дальше отбрасывается – omarello

+0

Вы можете попробовать URL-кодирование http://stackoverflow.com/questions/5986114/url-for-httpwebrequest-truncated-by-special-characters – user3806621

ответ

1

Известно, что пробельные символы в именах файлов справки вызывают проблемы, по крайней мере, по сравнению с объединенными коллекциями справки. Хэш-символы (#) не являются определенным нет-нет в именах файлов и папок, также, по причинам, изложенным в этой статье базы знаний Microsoft:

http://support.microsoft.com/?kbid=319247

Многие C# разработчики обнаружили, что их документы и электронные книги в формате CHM не могут быть прочитаны, потому что они хранят свои CHM-файлы в каталогах типа C: \ E-books \ C# \ Символ хэша означает якорь в HTML, поэтому просмотрщик CHM не может правильно решить путь и получить Контент.

Решение: Удалить символ «#» (хеш) из каталога и имен файлов. Также избегайте использования символов «?», «&» и «+» в именах каталогов.

Тем не менее, я немного поиграл и был удивлен. Похоже, внешняя ссылка из темы, скомпилированной в CHM и открытая в новом окне «target =» blank », равна , а не, но работает внешняя ссылка внутри панели браузера просмотра CHM.

My CHM Build был создан с помощью Sandcaple Help File Builder и второй раз с FAR HTML. Прикрепленный щелчок.

enter image description here

enter image description here

+0

К сожалению, я не контролирую ссылки с # в них. Я просто ссылаюсь на них в своей документации. Но наличие ссылок в файле справки само по себе является приемлемой работой. Я только что попробовал, и он работает, когда цель, которую он установил для себя – omarello