Intellect Board — cистема управления сайтомПостроение сайта на основе форума |
Intellect Board — cистема управления сайтом » Техническая поддержка версии 2.18 » Устранение ошибок JavaScript'а для незалогиненного юзера |
Правила раздела |
<<Назад Вперед>> | Модераторы: aerograf, wsx | Печать |
Kritik
Новичок
Откуда: Украина Всего сообщений: 9 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 апр. 2006 |
Вот и правка пошла после установки Если неавторизованный пользователь открывает страницу темы форума, то при наведении им курсора на опцию "цитата" любого сообщения или же при клике по "цитате" либо нику автора поста javascript выдаёт ошибку: "Object expected" в IE, "CopyQN и т.п. is not defined" в FF и т.п. То же самое происходит, если авторизованный пользователь при недогруженной странице случайно проведёт курсором над ссылкой "цитата"... Для решения сей проблемы можно: Создать файл 0.js буквально такого содержания: function copyQN(){}function copyQ(){}function pasteQ(){}function pasteN(){} Залить 0.js в корневую директорию форума.Добавить в шаблоне, выводящем <head> (main.php, функция main_header для ГрадиентБлу, может и для остальных стилей то же самое — пока не разбирался) после </title>такую строчку: <script type="text/javascript" src="0.js"></script> JavaScript перестанет ругаться. ---
м-да |
Gram
Администратор
Откуда: Нижний Новгород Всего сообщений: 1011 Рейтинг пользователя: 38 Ссылка Дата регистрации на форуме: 23 июля 2003 |
Оригинальный хак решения проблемы Вообще по идее это реализуется на уровне шаблонов |
Kritik
Новичок
Откуда: Украина Всего сообщений: 9 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 апр. 2006 |
Можно и на уровне шаблонов - но с ними немного сложнее: придётся проверять при выводе имени автора поста и меню поста, залогинен ли пользователь, но это не решит проблемы с ошибкой на недогруженной странице для залогиненного пользователя, т.к. сейчас js-функции подгружаются после ссылок, наведение или клик на которые их вызывает... Последнее можно решить вынесением загрузки файлов post.js в <head> документа (куда в моём хаке вынесен 0.js). ---
м-да |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
А после такого у залогиненных пользователей цитата разве работать не перестанет из-за наличия двух одноименных функций? ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
Kritik
Новичок
Откуда: Украина Всего сообщений: 9 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 апр. 2006 |
XXXX Pro написал: А после такого у залогиненных пользователей цитата разве работать не перестанет из-за наличия двух одноименных функций? Нет, в JavaScript'е функции - это по сути разновидность переменных: после повторного объявления функции просто присваивается новое значение. По поводу переменных - одна из разновидностей синтаксиса для объявления функций - var func = new Function('arg1','arg2','code_to_execute') ---
м-да |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
Я решил сделать несколько иначе: прописать соответствующе пустые функции в std_topic_start (вывод начала темы), так как отдельный JS-файл — это излишество, которое тут же даст 1 Kb входящего и исходящего траффика за счет HTTP-заголовков. Тем более, что стандартный форум — это единственное место, где используются эти функции. ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
<<Назад Вперед>> | Модераторы: aerograf, wsx | Печать |
Intellect Board — cистема управления сайтом » Техническая поддержка версии 2.18 » Устранение ошибок JavaScript'а для незалогиненного юзера |
1 посетитель просмотрел эту тему за последние 10 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
Ограничение доступа не отображаются разделы Архив версий Установка стиля на Intellect Board 2.22 Завершилась работа над новой версией 3.00 |
Самые активные 5 тем | |