Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Авторизация, Регистрация, GET/POST и все что с этим связано
СергейДата: Пн, 23 Мая 2011, 22:49 | Сообщение # 1
Необукер
================================================
NeoBook & Интернет

================================================
Внимание! такой знак %NL% означает, что переноса строки нет. Сделанно из за форматирования
Постараюсь в вкратце затронуть основные моменты данной темы.
Очень часто вижу новые темы с вопросом о авторегистрации, авторизации и других подобных вещей.
Небольшое отступление, т.к. мало кто знает, что все эти регистрации и авторизации основаны на одном простом методе - это отправка каких либо данных клиента серверу. Существует несколько HTTP методов отправки данных, но мы рассмотрим только два - это GET и POST.
Методы запроса GET и POST имеют принципиально различное семантическое значение, потому не стоит заблуждаться по поводу их различия лишь в отправке.
Метод GET. 1. Этот метод (также как и метод HEAD) называются безопасными, т.е. в спецификации HTTP/1.1 говорится, что эти методы лишены действий кроме, как получения запрашиваемой информации. Передает данные серверу используя URL адрес.
2. Этот запрос может кэшироваться.
3. Ограниченная длина отправка данных около 8 кб. или 1024 символами. Но сейчас браузеры могут обрезать под свои размеры.
4. Метод открытой передачи, т.е. можно увидеть переданные данные в адресной строке.
Метод POST. 1. Метод, который может выполнять некоторые действия, поэтому POST (а также другие PUT, DELTE и т.д.) называют не безопасными. Передает данные в теле HTTP запроса.
2. Запрос не кэшируется.
3. Лимит ограничен сервером около 2мб.
4. Метод закрытой передачи, данные нельзя увидеть воочию.
Более подробно читайте в инете…

---"Простая" передача данных---
================================================
Метод POST в NeoBook-1
НБ может использовать оба метода, но прежде чем воспользоваться, надо точно знать какой метод применяется?! И так, чтоб организовать "авторегалку" надо хоть немного знать html. Обычно, для отправки данных используют форму Она предназначена для обмена данными между пользователем и сервером. Вот с помощью этой формы мы и узнаем каким методом передаются данные. Пример: имеем некий сайт (http://www.super_social_network.ru)
Надо открыть исходный код страницы и найти тег form.

Начинается примерно так - <form (тут будут, какие то странные слова, это мтершиные слова web-программеров) > (наз-ся: открывающий тег), а заканчивается так - </form>. Все, что лежит между тегами считается телом формы. Теперь ищем в открывающем теге запись(атрибут) method и смотрим что написано в кавычках, после знака равно, ага, написано post. Вот мы и определили наш метод отправки. В НБ отправка методом пост выполняется командой InternetPost. Нам осталось определить, Куда и Что надо отправить серверу. Куда: опять смотрим в открывающем теге атрибут action, ага, там написано login.php ну вот, мы знаем, куда отправить данные. Т.к. адрес нам известен, то в поле "URL/ HTTP команда" пишем адрес: InternetPost "http://www.super_social_network.ru/login.php" "" "" "". Ищем Что: Искать теперь будем в теле формы. Нас интересует тег input со следующими значениями атрибута type (тип) это; "text, checkbox, radio, password, hidden,file, submit " также следует искать теги select, textarea и img, если присутствует каптча. У всех, из перечисленных, должен быть обязательный атрибут name(имя), если его нет, то на этот объект можно не обращать внимание. В примере выше я указал много объектов, это чисто пример, т.к. в реальной жизни их может быть мало или некоторых вообще не быть. И так в форме есть 6 input разных типов. В каждом инпуте ищем атрибут имя и записываем в переменную [data]
SetVar "[data]" "login=LoginNick&pasword=PassUser&remember=yes&"
SetVar "[data]" "[data]amount1=1&city=4&code=25685&sekret=sekret"

Каждый элемент формы должен быть отделен символом &
Обратите внимание, что я не включил данные двух объектов из формы - это textarea и input(тип -submit). У них нет имени, а значит, они бесполезны. Но если у submit(это кнопка отправки данных) будет имя, то возможно придется и ее включать, это бывает не всегда нужно, но бывает :)
Еще один момент, если будет указан проверочный код (антибот), то надо найти тег img и в атрибуте src получить адрес картинки, адрес может быть вида _http://www.super_social_network.ru/code.jpg или _http://www.super_social_network.ru/code.php. После того, как получили адрес картинки, надо будет загрузить ее на комп и показать в проект.
Все готово для отправки данных:
Это самый простой вид отравки, который встречается все реже и реже :(
================================================
Метод GET в NeoBook-2
Это, пожалуй, самый простой метод отправки, и он визуально виден. Например, откроем поисковик (_http://www.google.ru/) введите в поле слово (тест) и нажмите "Поиск". Теперь в адресной строке к основному адресу добавились еще данные
все, что идет после символа ? и есть данные GET запроса. Отправка GET может осуществляться:
1. Как часть адреса URL и можно оформить в ссылке например: <a href="http://www.test.ru/test.php? name=UserName&iduser=125698">link</a>. При нажатии на link мы отравим серверу две переменные – это "name" с значением "UserName" и "iduser" с значением "125698". Сервер получив эти данные обработает их согласно скрипту на странице.
2. Формой, точно так же, как и POST, только изменив соответственно атрибут method. Разберем пример с "google.ru". Откроем исходный код страницы и будем искать тег form.

На скриншоте я выделил ключевые места. Как видно, отправка Get от Post отличается только атрибутом method. Кстати, если этого атрибута нет, как в нашем примере, это значит, что отправка осуществляется GET – по умолчанию.
В НБ отправку GET выполняет команда InternetGet. Если нам надо отправить переменные серверу методом GET, вомпользуемся этой командой. В поле "URL/ HTTP команда" запишем запрос в месте с адресом, точно также, как делали для ссылки:
Quote
InternetGet "http://www.test.ru/test.php?name=UserName&iduser=125698" "[resultat]" "HideProgress+Async"
Как видите, все просто. В переменную [resultat] придет ответ с сервера.
================================================
Способ в котором не важен метод -3
Мы рассмотрели варианты отправки командами InternetGetи InternetPost. Но есть еще вариант, как отправить данные с WebBrowser заполнив поля командой BrowserSetElement, правда работает такой вариант не везде. Все, что нам надо знать это имена полей, как их узнать, мы уже знаем. Допустим, в форме присутствуют два поля и кнопка, у полей имена login и pasword, вставляем в эти поля свои данные
осталось отправить. К сожаленью в арсенале НБ нет команды отправки форм из WebBrowser, но на помощь придет BrowserExecScript Если у формы (form) есть атрибут name (например: со значением vForm ), то к форме можно обратится по этому имени и сделать отправку так: vForm.submit(). Но если имени нет, то обратится можно к объекту по индексу: document.forms[0].submit(). Если на странице несколько форм, то в исходнике нужно определить индекс, отсчет начинается с нуля, первая форма = 0, вторая = 1 и т.д.. Ну вот с определением разобрались, пора отправить форму:

Как я написал выше, не на всех страницах работает BrowserSetElement, не знаю почему.
Но и это можно обойти с помощью команды BrowserExecScript. Покажу на примере _http://vkontakte.ru/, как раз этот случай…
Указываем WebBrowser урл-адрес, а на кнопке пишем следующий код. Прежде чем копипастить, не поленитесь и просмотрите исходный код страницы. Необходимо иметь смутное представление, что и откуда берется. И так, посмотрев исходник, можно увидеть, что форма имеет имя= login, тем лучше для нас :) Дальше нам надо запомнить имена еще двух полей – логина=email и пароля= pass. Код на JavaScript (а именно на нем мы все делали и будем делать дальше) будет выглядеть так:
Quote
document.login.email.value='LOGIN'
document.login.pass.value='XXXXXX'
document.login.submit();
Теперь поместим все это а команду BrowserExecScript:
3 строчки js кода и 1 строчка НБ кода и авторизация в "кармане"
В процессе изучения хитросплетенья js этого ресурса нашел такую фичу: ge(xxx) это функция написана для получения и назначения данных элементам ресурса, и еще кое чего, о которых я не буду говорить, дабы остальные спали спокойно :) Так вот, можно заполнить данные применив эту функцию, пример: ge('quick_login_form').email.value='LOGIN';
Прикрепления: 1173842.jpg (114.2 Kb)


Сообщение отредактировано
Сергей - Сб, 11 Июня 2011, 02:27
 
Сообщение================================================
NeoBook & Интернет

================================================
Внимание! такой знак %NL% означает, что переноса строки нет. Сделанно из за форматирования
Постараюсь в вкратце затронуть основные моменты данной темы.
Очень часто вижу новые темы с вопросом о авторегистрации, авторизации и других подобных вещей.
Небольшое отступление, т.к. мало кто знает, что все эти регистрации и авторизации основаны на одном простом методе - это отправка каких либо данных клиента серверу. Существует несколько HTTP методов отправки данных, но мы рассмотрим только два - это GET и POST.
Методы запроса GET и POST имеют принципиально различное семантическое значение, потому не стоит заблуждаться по поводу их различия лишь в отправке.
Метод GET. 1. Этот метод (также как и метод HEAD) называются безопасными, т.е. в спецификации HTTP/1.1 говорится, что эти методы лишены действий кроме, как получения запрашиваемой информации. Передает данные серверу используя URL адрес.
2. Этот запрос может кэшироваться.
3. Ограниченная длина отправка данных около 8 кб. или 1024 символами. Но сейчас браузеры могут обрезать под свои размеры.
4. Метод открытой передачи, т.е. можно увидеть переданные данные в адресной строке.
Метод POST. 1. Метод, который может выполнять некоторые действия, поэтому POST (а также другие PUT, DELTE и т.д.) называют не безопасными. Передает данные в теле HTTP запроса.
2. Запрос не кэшируется.
3. Лимит ограничен сервером около 2мб.
4. Метод закрытой передачи, данные нельзя увидеть воочию.
Более подробно читайте в инете…

---"Простая" передача данных---
================================================
Метод POST в NeoBook-1
НБ может использовать оба метода, но прежде чем воспользоваться, надо точно знать какой метод применяется?! И так, чтоб организовать "авторегалку" надо хоть немного знать html. Обычно, для отправки данных используют форму Она предназначена для обмена данными между пользователем и сервером. Вот с помощью этой формы мы и узнаем каким методом передаются данные. Пример: имеем некий сайт (http://www.super_social_network.ru)
Надо открыть исходный код страницы и найти тег form.

Начинается примерно так - <form (тут будут, какие то странные слова, это мтершиные слова web-программеров) > (наз-ся: открывающий тег), а заканчивается так - </form>. Все, что лежит между тегами считается телом формы. Теперь ищем в открывающем теге запись(атрибут) method и смотрим что написано в кавычках, после знака равно, ага, написано post. Вот мы и определили наш метод отправки. В НБ отправка методом пост выполняется командой InternetPost. Нам осталось определить, Куда и Что надо отправить серверу. Куда: опять смотрим в открывающем теге атрибут action, ага, там написано login.php ну вот, мы знаем, куда отправить данные. Т.к. адрес нам известен, то в поле "URL/ HTTP команда" пишем адрес: InternetPost "http://www.super_social_network.ru/login.php" "" "" "". Ищем Что: Искать теперь будем в теле формы. Нас интересует тег input со следующими значениями атрибута type (тип) это; "text, checkbox, radio, password, hidden,file, submit " также следует искать теги select, textarea и img, если присутствует каптча. У всех, из перечисленных, должен быть обязательный атрибут name(имя), если его нет, то на этот объект можно не обращать внимание. В примере выше я указал много объектов, это чисто пример, т.к. в реальной жизни их может быть мало или некоторых вообще не быть. И так в форме есть 6 input разных типов. В каждом инпуте ищем атрибут имя и записываем в переменную [data]
SetVar "[data]" "login=LoginNick&pasword=PassUser&remember=yes&"
SetVar "[data]" "[data]amount1=1&city=4&code=25685&sekret=sekret"

Каждый элемент формы должен быть отделен символом &
Обратите внимание, что я не включил данные двух объектов из формы - это textarea и input(тип -submit). У них нет имени, а значит, они бесполезны. Но если у submit(это кнопка отправки данных) будет имя, то возможно придется и ее включать, это бывает не всегда нужно, но бывает :)
Еще один момент, если будет указан проверочный код (антибот), то надо найти тег img и в атрибуте src получить адрес картинки, адрес может быть вида _http://www.super_social_network.ru/code.jpg или _http://www.super_social_network.ru/code.php. После того, как получили адрес картинки, надо будет загрузить ее на комп и показать в проект.
Все готово для отправки данных:
Это самый простой вид отравки, который встречается все реже и реже :(
================================================
Метод GET в NeoBook-2
Это, пожалуй, самый простой метод отправки, и он визуально виден. Например, откроем поисковик (_http://www.google.ru/) введите в поле слово (тест) и нажмите "Поиск". Теперь в адресной строке к основному адресу добавились еще данные
все, что идет после символа ? и есть данные GET запроса. Отправка GET может осуществляться:
1. Как часть адреса URL и можно оформить в ссылке например: <a href="http://www.test.ru/test.php? name=UserName&iduser=125698">link</a>. При нажатии на link мы отравим серверу две переменные – это "name" с значением "UserName" и "iduser" с значением "125698". Сервер получив эти данные обработает их согласно скрипту на странице.
2. Формой, точно так же, как и POST, только изменив соответственно атрибут method. Разберем пример с "google.ru". Откроем исходный код страницы и будем искать тег form.

На скриншоте я выделил ключевые места. Как видно, отправка Get от Post отличается только атрибутом method. Кстати, если этого атрибута нет, как в нашем примере, это значит, что отправка осуществляется GET – по умолчанию.
В НБ отправку GET выполняет команда InternetGet. Если нам надо отправить переменные серверу методом GET, вомпользуемся этой командой. В поле "URL/ HTTP команда" запишем запрос в месте с адресом, точно также, как делали для ссылки:
Quote
InternetGet "http://www.test.ru/test.php?name=UserName&iduser=125698" "[resultat]" "HideProgress+Async"
Как видите, все просто. В переменную [resultat] придет ответ с сервера.
================================================
Способ в котором не важен метод -3
Мы рассмотрели варианты отправки командами InternetGetи InternetPost. Но есть еще вариант, как отправить данные с WebBrowser заполнив поля командой BrowserSetElement, правда работает такой вариант не везде. Все, что нам надо знать это имена полей, как их узнать, мы уже знаем. Допустим, в форме присутствуют два поля и кнопка, у полей имена login и pasword, вставляем в эти поля свои данные
осталось отправить. К сожаленью в арсенале НБ нет команды отправки форм из WebBrowser, но на помощь придет BrowserExecScript Если у формы (form) есть атрибут name (например: со значением vForm ), то к форме можно обратится по этому имени и сделать отправку так: vForm.submit(). Но если имени нет, то обратится можно к объекту по индексу: document.forms[0].submit(). Если на странице несколько форм, то в исходнике нужно определить индекс, отсчет начинается с нуля, первая форма = 0, вторая = 1 и т.д.. Ну вот с определением разобрались, пора отправить форму:

Как я написал выше, не на всех страницах работает BrowserSetElement, не знаю почему.
Но и это можно обойти с помощью команды BrowserExecScript. Покажу на примере _http://vkontakte.ru/, как раз этот случай…
Указываем WebBrowser урл-адрес, а на кнопке пишем следующий код. Прежде чем копипастить, не поленитесь и просмотрите исходный код страницы. Необходимо иметь смутное представление, что и откуда берется. И так, посмотрев исходник, можно увидеть, что форма имеет имя= login, тем лучше для нас :) Дальше нам надо запомнить имена еще двух полей – логина=email и пароля= pass. Код на JavaScript (а именно на нем мы все делали и будем делать дальше) будет выглядеть так:
Quote
document.login.email.value='LOGIN'
document.login.pass.value='XXXXXX'
document.login.submit();
Теперь поместим все это а команду BrowserExecScript:
3 строчки js кода и 1 строчка НБ кода и авторизация в "кармане"
В процессе изучения хитросплетенья js этого ресурса нашел такую фичу: ge(xxx) это функция написана для получения и назначения данных элементам ресурса, и еще кое чего, о которых я не буду говорить, дабы остальные спали спокойно :) Так вот, можно заполнить данные применив эту функцию, пример: ge('quick_login_form').email.value='LOGIN';

Автор - Сергей
Дата добавления - 23 Мая 2011 в 22:49
СергейДата: Сб, 04 Июня 2011, 15:53 | Сообщение # 2
Необукер
---"Сложная" передача данных---

По сути это тоже самое, что и простые, но только сделанные с извратом. Т.е. "ваятели страниц" стараются спрятать или усложнить любым способом механизм отправки. Как правило, в таких ситуациях трудно разобраться и приходится "ломать мозг", чтоб определить как, что и куда отправляется…
Уловки к которым прибегают web-программеры:
1. Спрятать форму во фрейм

2. Выводить форму с помощью JavaScript

Была еще одна уловка, но сейчас не могу вспомнить…
Но есть еще одна трудность – это когда на странице генерируется уникальный код страницы.
================================================
Метод POST в NeoBook-4

Возьмем пример с этого форума
Сделаем автовход в почтовый сервис на yandex.ru.
После исследования страницы видно, что на странице присутствует уникальный код (ID) страницы, который генерируется при каждом входе/обновлении. Обычно этот ID надо вытянуть, т.е. парсить. Но мы пойдем другим путем, ведь задача авторизоваться, что мы и сделаем. Загрузим страницу по этому адресу _http://mail.yandex.ru/pda/. Посмотрите внимательно форму отправки. Больше всего меня заинтересовал элемент с именем idkey, его значение, как оказалось и есть ID страницы!
И так приступим. Запоминаем все элементы с именами, грузим страницу в WebBrowser. Получаем значения командой BrowserGetElement, кроме логина и пароля и формируем запрос:
вот и все :)
Поделюсь с вами одной фичей. Загрузите значение idkey, которую сохранили ранее и запустите следующий код
Еще один бонус от меня, узнать сколько в ящике непрочитанных писем :)


================================================
Способ авторизации в uCoz-5

Сайты, сделанные на uCoz, я отнес тоже к "замороченным", тоже не все просто. Этим POSTом у меня так и не получилось отправить. Получив данные js и формы, я отправлял все элементы формы, но в ответ тишина.
--------------------
Данные, которые я отправлял: (имя = значение)
метод(post); адрес(http://neobooker.ru/index/sub/)
user=user
password=password
rem=1
hidden=1
a=2
ajax=2
--------------------
Мне кажется все из-за jQuery. Почти весь сайт работает на нем. И самое смешное, что вроде все понятно в отправке кроме одной строки -
Quote
"if($('#subbutfrmLg555').hasClass('myBtnDis')){return false;}$('#subbutfrmLg555').addClass('myBtnDis');"
Я не большой знаток jquery, но погуглив, еще больше запутался :D Это строка означает следующее: Если элемент "subbutfrmLg555" не имеет класс 'myBtnDis', то отправить форму! И добавить этому элементу класс 'myBtnDis'. Может в этом причина?! не исключено, что на сервере идет обращение к элементу с этим классом и вытягивается доп. инфу. Это просто предположение. вот сама функция на jquery
а это форма
В общем, я забросил попытки отправить постом. Пока, что есть только один способ отправить данные - использовать js либо присоседится к jquery :D

Поправка, оказывается отправить постом можно запрос. В ответ от сервера приходит функция js перенаправление в "куда-то" и плюс добавляется к адресу гет - данные ?lZ3W_X Я как то спрашивал на форуме про эту непонятную вставку
Короче получилось так:
В опере рега слетает, а в НБ логина не видно %)
Пока остается использовать вариант с js, на форуме есть готовые примеры рабочего варианта авторизации. Не буду тут повторять тоже самое :)


Сообщение отредактировано
Сергей - Сб, 11 Июня 2011, 02:24
 
Сообщение---"Сложная" передача данных---

По сути это тоже самое, что и простые, но только сделанные с извратом. Т.е. "ваятели страниц" стараются спрятать или усложнить любым способом механизм отправки. Как правило, в таких ситуациях трудно разобраться и приходится "ломать мозг", чтоб определить как, что и куда отправляется…
Уловки к которым прибегают web-программеры:
1. Спрятать форму во фрейм

2. Выводить форму с помощью JavaScript

Была еще одна уловка, но сейчас не могу вспомнить…
Но есть еще одна трудность – это когда на странице генерируется уникальный код страницы.
================================================
Метод POST в NeoBook-4

Возьмем пример с этого форума
Сделаем автовход в почтовый сервис на yandex.ru.
После исследования страницы видно, что на странице присутствует уникальный код (ID) страницы, который генерируется при каждом входе/обновлении. Обычно этот ID надо вытянуть, т.е. парсить. Но мы пойдем другим путем, ведь задача авторизоваться, что мы и сделаем. Загрузим страницу по этому адресу _http://mail.yandex.ru/pda/. Посмотрите внимательно форму отправки. Больше всего меня заинтересовал элемент с именем idkey, его значение, как оказалось и есть ID страницы!
И так приступим. Запоминаем все элементы с именами, грузим страницу в WebBrowser. Получаем значения командой BrowserGetElement, кроме логина и пароля и формируем запрос:
вот и все :)
Поделюсь с вами одной фичей. Загрузите значение idkey, которую сохранили ранее и запустите следующий код
Еще один бонус от меня, узнать сколько в ящике непрочитанных писем :)


================================================
Способ авторизации в uCoz-5

Сайты, сделанные на uCoz, я отнес тоже к "замороченным", тоже не все просто. Этим POSTом у меня так и не получилось отправить. Получив данные js и формы, я отправлял все элементы формы, но в ответ тишина.
--------------------
Данные, которые я отправлял: (имя = значение)
метод(post); адрес(http://neobooker.ru/index/sub/)
user=user
password=password
rem=1
hidden=1
a=2
ajax=2
--------------------
Мне кажется все из-за jQuery. Почти весь сайт работает на нем. И самое смешное, что вроде все понятно в отправке кроме одной строки -
Quote
"if($('#subbutfrmLg555').hasClass('myBtnDis')){return false;}$('#subbutfrmLg555').addClass('myBtnDis');"
Я не большой знаток jquery, но погуглив, еще больше запутался :D Это строка означает следующее: Если элемент "subbutfrmLg555" не имеет класс 'myBtnDis', то отправить форму! И добавить этому элементу класс 'myBtnDis'. Может в этом причина?! не исключено, что на сервере идет обращение к элементу с этим классом и вытягивается доп. инфу. Это просто предположение. вот сама функция на jquery
а это форма
В общем, я забросил попытки отправить постом. Пока, что есть только один способ отправить данные - использовать js либо присоседится к jquery :D

Поправка, оказывается отправить постом можно запрос. В ответ от сервера приходит функция js перенаправление в "куда-то" и плюс добавляется к адресу гет - данные ?lZ3W_X Я как то спрашивал на форуме про эту непонятную вставку
Короче получилось так:
В опере рега слетает, а в НБ логина не видно %)
Пока остается использовать вариант с js, на форуме есть готовые примеры рабочего варианта авторизации. Не буду тут повторять тоже самое :)

Автор - Сергей
Дата добавления - 04 Июня 2011 в 15:53
СергейДата: Вт, 07 Июня 2011, 21:08 | Сообщение # 3
Необукер
Разное
Много тем, которые затрагивают так или иначе парсинг, т.е. строковые функции.
Это большая тема и развивать ее надо бы отдельно. Но я не могу из-за нехватки знаний в этой области. Одни только регулярные выражения чего стоят (:)
Но небольшой урок по простому поиску средствами НБ напишу.
И так, допустим, надо получить данные из url адреса, а именно id юзера в vkontakte.ru
имеем такой адрес =_http://vkontakte.ru/id564655 (Внимание! цифры взяты от фонаря)
Для поиска слова будем использовать команду SearchStr. Чтоб получить ид контакта, надо найти отправную точку для поиска, в примере это слово id
Quote
SearchStr "id" "http://vkontakte.ru/id564655" "[Search]" ""

Команда вернет в переменную [Search] позицию этого слова (если 0, то слова нет). В [Search] значение 21, т.е. первая буква в слове (i) находится 21 по счету. Теперь нам надо получить весь ид. Хорошо когда нам надо программно получить известное количество символов (в примере 6 цифр), командой SubStr копируем искомое слово
. В переменой [result] будет id564655.
Но если нам неизвестно количество?! Тут только перебором

Рассмотрим еще такой вариант, теперь такой адрес _http://vkontakte.ru/id956518?tvs=366j5463cgj
Мы по-прежнему не знаем длину id юзера, но знаем какой адрес, т.е. типа так: _http://vkontakte.ru/<iduser>?tvs=366j5463cgj. Это удобный способ поиска, когда известно начало поиска и конец, всегда бы так… :)


Напоследок еще пример: получаем url картинки. Допустим она одна на странице и имеет вид <img src="_http://neobooker.ru/Smiles/ag.gif" border="0" alt="угага"/> Нам значит надо скопировать эту часть _http://neobooker.ru/Smiles/ag.gif. Начнем-с, определяем старт поиска это кавычка, но кавычек в документе может быть много, а нам надо такое слово, которое не повторяется. Вот так <img и src=" с учетом того, что картинка одна. Это две отправные точки. Конец поиска значит будет первая кавычка после старта. Самое простое это найти позицию src=" и от него перебором дойти до кавычки, но атрибут src может присутствовать и в других местах (<script type="text/javascript" src="хxxxx">). Т.е. сначала будем искать <img. потом от этой позиции будем искать src=" дальше по плану


Но еще проще сделать это с помощью регулярных выражений! Например получим адрес аватара с этой темы. В исходной страницы аватарка выглядит так : <img title="Сергей" class="userAvatar" border="0" src="http://neobooker.ru/avatar/10/191151.jpg" /> Я буду искать по такому плану
1-получить картинку с атрибутом title и значением Сергей
2-получить адрес
3-загрузить на комп
4-загрузить в проект
Так, как в НБ нет регулярок, то воспользуемся js или vbs функцией, я буду делать на js.
Я отразил во всех примерах только один из принципов, есть другие... Но, каждый необходимо подбирать под конкретную нужду. Это касается не только парсера.
================================================

Напишу еще одну особенность, разговор пойдет о квадратных скобках, как знаем, что квадратные скобки это спец символ. В необук в них заключенны имена переменных, но вдругих языках(html,javascript,vbs)с кем работает НБ, они воспринимаются согласно синтаксису того языка. Если у нас стоит задача передать переменные в объект, то мы используем их, как обычно:

Но если нам надо не только сохранить переменную для дальнейшей обработки, но и получить результат, то надо использовать код ASCII [=#91 ]=#93.
И так, если запрос должен возратить в НБ переменную, то надо использовать скобки в виде ASCII кода ([#91][#93]). Тоже самое относится и к другим символам (" | \n \t)

================================================



СПАСИБО! всем, кто помогал создать эту тему :)


Сообщение отредактировано
Сергей - Вт, 14 Июня 2011, 04:38
 
СообщениеРазное
Много тем, которые затрагивают так или иначе парсинг, т.е. строковые функции.
Это большая тема и развивать ее надо бы отдельно. Но я не могу из-за нехватки знаний в этой области. Одни только регулярные выражения чего стоят (:)
Но небольшой урок по простому поиску средствами НБ напишу.
И так, допустим, надо получить данные из url адреса, а именно id юзера в vkontakte.ru
имеем такой адрес =_http://vkontakte.ru/id564655 (Внимание! цифры взяты от фонаря)
Для поиска слова будем использовать команду SearchStr. Чтоб получить ид контакта, надо найти отправную точку для поиска, в примере это слово id
Quote
SearchStr "id" "http://vkontakte.ru/id564655" "[Search]" ""

Команда вернет в переменную [Search] позицию этого слова (если 0, то слова нет). В [Search] значение 21, т.е. первая буква в слове (i) находится 21 по счету. Теперь нам надо получить весь ид. Хорошо когда нам надо программно получить известное количество символов (в примере 6 цифр), командой SubStr копируем искомое слово
. В переменой [result] будет id564655.
Но если нам неизвестно количество?! Тут только перебором

Рассмотрим еще такой вариант, теперь такой адрес _http://vkontakte.ru/id956518?tvs=366j5463cgj
Мы по-прежнему не знаем длину id юзера, но знаем какой адрес, т.е. типа так: _http://vkontakte.ru/<iduser>?tvs=366j5463cgj. Это удобный способ поиска, когда известно начало поиска и конец, всегда бы так… :)


Напоследок еще пример: получаем url картинки. Допустим она одна на странице и имеет вид <img src="_http://neobooker.ru/Smiles/ag.gif" border="0" alt="угага"/> Нам значит надо скопировать эту часть _http://neobooker.ru/Smiles/ag.gif. Начнем-с, определяем старт поиска это кавычка, но кавычек в документе может быть много, а нам надо такое слово, которое не повторяется. Вот так <img и src=" с учетом того, что картинка одна. Это две отправные точки. Конец поиска значит будет первая кавычка после старта. Самое простое это найти позицию src=" и от него перебором дойти до кавычки, но атрибут src может присутствовать и в других местах (<script type="text/javascript" src="хxxxx">). Т.е. сначала будем искать <img. потом от этой позиции будем искать src=" дальше по плану


Но еще проще сделать это с помощью регулярных выражений! Например получим адрес аватара с этой темы. В исходной страницы аватарка выглядит так : <img title="Сергей" class="userAvatar" border="0" src="http://neobooker.ru/avatar/10/191151.jpg" /> Я буду искать по такому плану
1-получить картинку с атрибутом title и значением Сергей
2-получить адрес
3-загрузить на комп
4-загрузить в проект
Так, как в НБ нет регулярок, то воспользуемся js или vbs функцией, я буду делать на js.
Я отразил во всех примерах только один из принципов, есть другие... Но, каждый необходимо подбирать под конкретную нужду. Это касается не только парсера.
================================================

Напишу еще одну особенность, разговор пойдет о квадратных скобках, как знаем, что квадратные скобки это спец символ. В необук в них заключенны имена переменных, но вдругих языках(html,javascript,vbs)с кем работает НБ, они воспринимаются согласно синтаксису того языка. Если у нас стоит задача передать переменные в объект, то мы используем их, как обычно:

Но если нам надо не только сохранить переменную для дальнейшей обработки, но и получить результат, то надо использовать код ASCII [=#91 ]=#93.
И так, если запрос должен возратить в НБ переменную, то надо использовать скобки в виде ASCII кода ([#91][#93]). Тоже самое относится и к другим символам (" | \n \t)

================================================



СПАСИБО! всем, кто помогал создать эту тему :)

Автор - Сергей
Дата добавления - 07 Июня 2011 в 21:08
Format-X22Дата: Ср, 08 Июня 2011, 08:50 | Сообщение # 4
Участник
В хроме не влезает текст.....

Мой сайт - http://фирмы.онлайн
 
СообщениеВ хроме не влезает текст.....

Автор - Format-X22
Дата добавления - 08 Июня 2011 в 08:50
СергейДата: Ср, 08 Июня 2011, 10:06 | Сообщение # 5
Необукер
Quote (Format-X22)
В хроме не влезает текст.....
какой?
 
Сообщение
Quote (Format-X22)
В хроме не влезает текст.....
какой?

Автор - Сергей
Дата добавления - 08 Июня 2011 в 10:06
MicroCipДата: Ср, 08 Июня 2011, 10:53 | Сообщение # 6
Участник
Quote (Format-X22)
В хроме не влезает текст.....



В каждом человеке солнце. Только дайте ему светить.(с)Сократ
 
Сообщение
Quote (Format-X22)
В хроме не влезает текст.....


Автор - MicroCip
Дата добавления - 08 Июня 2011 в 10:53
AlienДата: Ср, 08 Июня 2011, 10:57 | Сообщение # 7
 
Сообщение

Автор - Alien
Дата добавления - 08 Июня 2011 в 10:57
DEMBELДата: Ср, 08 Июня 2011, 11:17 | Сообщение # 8
Наш дизайнер


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение

Автор - DEMBEL
Дата добавления - 08 Июня 2011 в 11:17
СергейДата: Ср, 08 Июня 2011, 11:26 | Сообщение # 9
Необукер
Quote (MicroCip)
Вот скриншот
Форум, думаю тут ни причем. В Опере, в ИЕ и ФФ все норм.
Quote (DEMBEL)
а че в чем проблемы то, на юкоз спокойно авторизовывается
ты про что?!
 
Сообщение
Quote (MicroCip)
Вот скриншот
Форум, думаю тут ни причем. В Опере, в ИЕ и ФФ все норм.
Quote (DEMBEL)
а че в чем проблемы то, на юкоз спокойно авторизовывается
ты про что?!

Автор - Сергей
Дата добавления - 08 Июня 2011 в 11:26
AlienДата: Ср, 08 Июня 2011, 11:29 | Сообщение # 10
Quote (Сергей)
ты про что?!

да, я вот тоже не догнал
 
Сообщение
Quote (Сергей)
ты про что?!

да, я вот тоже не догнал

Автор - Alien
Дата добавления - 08 Июня 2011 в 11:29
СергейДата: Ср, 08 Июня 2011, 11:34 | Сообщение # 11
Необукер
DEMBEL, ты наверное про статью?! Не идет по команде InternetPost, ему что то еще не хватает для входа. Я даже обработчик сделал для его JS ответа, но...

Добавлено (08 Июнь 2011, 11:34)
---------------------------------------------

Ну хоть статья раскрывает немного тему?!
Давайте, пишите отзывы, я готов к "расстрелу"


Сообщение отредактировано
Сергей - Ср, 08 Июня 2011, 11:35
 
СообщениеDEMBEL, ты наверное про статью?! Не идет по команде InternetPost, ему что то еще не хватает для входа. Я даже обработчик сделал для его JS ответа, но...

Добавлено (08 Июнь 2011, 11:34)
---------------------------------------------

Ну хоть статья раскрывает немного тему?!
Давайте, пишите отзывы, я готов к "расстрелу"

Автор - Сергей
Дата добавления - 08 Июня 2011 в 11:34
DEMBELДата: Ср, 08 Июня 2011, 12:42 | Сообщение # 12
Наш дизайнер
я про Способ авторизации в uCoz-5, че то там намудрил слишком

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениея про Способ авторизации в uCoz-5, че то там намудрил слишком

Автор - DEMBEL
Дата добавления - 08 Июня 2011 в 12:42
СергейДата: Ср, 08 Июня 2011, 12:52 | Сообщение # 13
Необукер
Quote (DEMBEL)
че то там намудрил слишком
я паказал свои попытки авторизоватся с помощью прямого пост запроса, без всяких этих вытягиваний ид. Возможно, кто нибудь "докавыряет" начатое. А способ о котором ты говоришь, есть ниже. Вернее ссылка на них, я не стал дублировать...


Сообщение отредактировано
Сергей - Ср, 08 Июня 2011, 12:52
 
Сообщение
Quote (DEMBEL)
че то там намудрил слишком
я паказал свои попытки авторизоватся с помощью прямого пост запроса, без всяких этих вытягиваний ид. Возможно, кто нибудь "докавыряет" начатое. А способ о котором ты говоришь, есть ниже. Вернее ссылка на них, я не стал дублировать...

Автор - Сергей
Дата добавления - 08 Июня 2011 в 12:52
Format-X22Дата: Ср, 08 Июня 2011, 19:41 | Сообщение # 14
Участник
Может всё-же подправить как-нить?
А то везде влезает всё, работает на ура, ниразу ни одного глюка ниодного нарекания, а тут такое... не менять же браузер?
И кстати вероятно знаю проблему - полоски эти, их укоротить надо.


Мой сайт - http://фирмы.онлайн
 
СообщениеМожет всё-же подправить как-нить?
А то везде влезает всё, работает на ура, ниразу ни одного глюка ниодного нарекания, а тут такое... не менять же браузер?
И кстати вероятно знаю проблему - полоски эти, их укоротить надо.

Автор - Format-X22
Дата добавления - 08 Июня 2011 в 19:41
AlienДата: Ср, 08 Июня 2011, 19:43 | Сообщение # 15
Quote (Format-X22)
И кстати вероятно знаю проблему - полоски эти, их укоротить надо.

полоски тут не причем :) они автоматически регулируют свою ширину
 
Сообщение
Quote (Format-X22)
И кстати вероятно знаю проблему - полоски эти, их укоротить надо.

полоски тут не причем :) они автоматически регулируют свою ширину

Автор - Alien
Дата добавления - 08 Июня 2011 в 19:43
Format-X22Дата: Ср, 08 Июня 2011, 19:46 | Сообщение # 16
Участник
Alien, Всё, вижу. Надо в настройках разбивку длинных слов поставить, там есть мего ссылко.О, которая всё и раздвигает.

Добавлено (08 Июнь 2011, 19:46)
---------------------------------------------
Ну или в ручную её обрезать.


Мой сайт - http://фирмы.онлайн
 
СообщениеAlien, Всё, вижу. Надо в настройках разбивку длинных слов поставить, там есть мего ссылко.О, которая всё и раздвигает.

Добавлено (08 Июнь 2011, 19:46)
---------------------------------------------
Ну или в ручную её обрезать.


Автор - Format-X22
Дата добавления - 08 Июня 2011 в 19:46
AlienДата: Ср, 08 Июня 2011, 19:48 | Сообщение # 17
нельзя там перевод строки делать, как вариант - засунуть в спойлер.
 
Сообщениенельзя там перевод строки делать, как вариант - засунуть в спойлер.

Автор - Alien
Дата добавления - 08 Июня 2011 в 19:48
Format-X22Дата: Ср, 08 Июня 2011, 19:51 | Сообщение # 18
Участник
Воо, вот теперь всё в порядке, можно читать thumbs_up

Мой сайт - http://фирмы.онлайн
 
СообщениеВоо, вот теперь всё в порядке, можно читать thumbs_up

Автор - Format-X22
Дата добавления - 08 Июня 2011 в 19:51
AlienДата: Ср, 08 Июня 2011, 19:55 | Сообщение # 19
Quote (Format-X22)
Воо, вот теперь всё в порядке, можно читать thumbs_up

А что изменилось? :)
 
Сообщение
Quote (Format-X22)
Воо, вот теперь всё в порядке, можно читать thumbs_up

А что изменилось? :)

Автор - Alien
Дата добавления - 08 Июня 2011 в 19:55
СергейДата: Ср, 08 Июня 2011, 20:07 | Сообщение # 20
Необукер
Quote (Alien)
А что изменилось?
я разбил длинные строки и убрал <hr>
Теперь копипастеры будут "кипишивать", т.к. Перенос произошел почти во всех примерах, но я отметитил не все пункты :D

Добавлено (08 Июнь 2011, 20:07)
---------------------------------------------

Quote (Format-X22)
вот теперь всё в порядке
я бы так не утверждал :D
Если браузер затупил на простом форматировании, что же будет на сложных и последних версиях css %)
 
Сообщение
Quote (Alien)
А что изменилось?
я разбил длинные строки и убрал <hr>
Теперь копипастеры будут "кипишивать", т.к. Перенос произошел почти во всех примерах, но я отметитил не все пункты :D

Добавлено (08 Июнь 2011, 20:07)
---------------------------------------------

Quote (Format-X22)
вот теперь всё в порядке
я бы так не утверждал :D
Если браузер затупил на простом форматировании, что же будет на сложных и последних версиях css %)

Автор - Сергей
Дата добавления - 08 Июня 2011 в 20:07
AlienДата: Ср, 08 Июня 2011, 20:11 | Сообщение # 21
Quote (Сергей)
я разбил длинные строки и убрал <hr>-ы

hr-ы никак не влияют на это
Quote (Сергей)
Теперь копипастеры будут "кипишивать", т.к. Перенос произошел почти во всех примерах, но я отметитил не все пункты :D

а вот это зря, говорю же, лучше бы просто в спойлер запихнул
Quote (Сергей)
я бы так не утверждал :D
Если браузер затупил на простом форматировании, что же будет на сложных и последних версиях css %)

да кстати :)
 
Сообщение
Quote (Сергей)
я разбил длинные строки и убрал <hr>-ы

hr-ы никак не влияют на это
Quote (Сергей)
Теперь копипастеры будут "кипишивать", т.к. Перенос произошел почти во всех примерах, но я отметитил не все пункты :D

а вот это зря, говорю же, лучше бы просто в спойлер запихнул
Quote (Сергей)
я бы так не утверждал :D
Если браузер затупил на простом форматировании, что же будет на сложных и последних версиях css %)

да кстати :)

Автор - Alien
Дата добавления - 08 Июня 2011 в 20:11
Format-X22Дата: Ср, 08 Июня 2011, 20:16 | Сообщение # 22
Участник
Сергей, До этого то нигде глюков не было.
Да и думаю Google не просто так миллиарды свои зарабатывает :)


Мой сайт - http://фирмы.онлайн
 
СообщениеСергей, До этого то нигде глюков не было.
Да и думаю Google не просто так миллиарды свои зарабатывает :)

Автор - Format-X22
Дата добавления - 08 Июня 2011 в 20:16
СергейДата: Ср, 08 Июня 2011, 20:22 | Сообщение # 23
Необукер


Добавлено (08 Июнь 2011, 20:22)
---------------------------------------------


Сообщение отредактировано
Сергей - Ср, 08 Июня 2011, 21:00
 
Сообщение


Добавлено (08 Июнь 2011, 20:22)
---------------------------------------------

Автор - Сергей
Дата добавления - 08 Июня 2011 в 20:22
Format-X22Дата: Ср, 08 Июня 2011, 20:45 | Сообщение # 24
Участник
Quote (Сергей)
Ну что плывет форматирование?

Нет.
Quote (Сергей)
пройдет еще не один год

Я уже его считаю за отличный браузер.
Спор "у кого трава зеленее" можно вести, но моё мнение - Google Chrome the best!
И на это есть свои причины...

Добавлено (08 Июнь 2011, 20:45)
---------------------------------------------
Думаю надо затереть половину комментов (форматирование то исправили) и оставить только те, где про Ucoz


Мой сайт - http://фирмы.онлайн
 
Сообщение
Quote (Сергей)
Ну что плывет форматирование?

Нет.
Quote (Сергей)
пройдет еще не один год

Я уже его считаю за отличный браузер.
Спор "у кого трава зеленее" можно вести, но моё мнение - Google Chrome the best!
И на это есть свои причины...

Добавлено (08 Июнь 2011, 20:45)
---------------------------------------------
Думаю надо затереть половину комментов (форматирование то исправили) и оставить только те, где про Ucoz


Автор - Format-X22
Дата добавления - 08 Июня 2011 в 20:45
ВадимДата: Чт, 09 Июня 2011, 13:38 | Сообщение # 25
Генератор идей
Сергей, а эта ссылка будет в тему или нет?

Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеСергей, а эта ссылка будет в тему или нет?

Автор - Вадим
Дата добавления - 09 Июня 2011 в 13:38
СергейДата: Чт, 09 Июня 2011, 14:03 | Сообщение # 26
Необукер
Quote (Вадим)
Сергей, а эта ссылка будет в тему или нет?
это проверка инет, используется старый плагин. Мне кажется лучше заюзать функцию Дембеля. Но я могу добавить ссылку в копилку, если ты хочешь?!
 
Сообщение
Quote (Вадим)
Сергей, а эта ссылка будет в тему или нет?
это проверка инет, используется старый плагин. Мне кажется лучше заюзать функцию Дембеля. Но я могу добавить ссылку в копилку, если ты хочешь?!

Автор - Сергей
Дата добавления - 09 Июня 2011 в 14:03
ВадимДата: Чт, 09 Июня 2011, 14:09 | Сообщение # 27
Генератор идей
Quote (Сергей)
могу добавить ссылку в копилку, если ты хочешь?

Если в копилку складируется всё подряд (т.е. все существующие решения), то можно, а если отбираются только более-менее оптимальные решения, то зачем? Лучше пусть тогда функцию Дембеля юзают.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Сергей)
могу добавить ссылку в копилку, если ты хочешь?

Если в копилку складируется всё подряд (т.е. все существующие решения), то можно, а если отбираются только более-менее оптимальные решения, то зачем? Лучше пусть тогда функцию Дембеля юзают.

Автор - Вадим
Дата добавления - 09 Июня 2011 в 14:09
ФаридДата: Сб, 11 Июня 2011, 22:53 | Сообщение # 28
Ветеран форума
Quote (Сергей)
NeoBook & Интернет

какая же красота))) мм))) Сергей молодец,всё грамотно и понятливо thumbs_up bravo


Дата регистрации: Вс, 30 Мая 2010, 21:05
Этож было вчера


Сообщение отредактировано
Фарид - Сб, 11 Июня 2011, 22:55
 
Сообщение
Quote (Сергей)
NeoBook & Интернет

какая же красота))) мм))) Сергей молодец,всё грамотно и понятливо thumbs_up bravo

Автор - Фарид
Дата добавления - 11 Июня 2011 в 22:53
Format-X22Дата: Пн, 13 Июня 2011, 23:41 | Сообщение # 29
Участник
Code
SetVar "[log]" "[client_ip]::: <a href='neobook: SetVar [#34]text[#34] [#34][#91]text[#93] <b>[name_read_s],</b>[#34]'>[name_read_s]</a>: [text_read_s][#13][#10]"

Вот такое надо добавить.
Долго мучился.
Когда у нас переменная одна - пишем без квадратных скобок как тут:
Code
...... SetVar [#34]text[#34] ......

Если же по мимо неё есть ещё что-то - пишем так [#91]имя переменной[#93] как тут:
Code
......  [#34][#91]text[#93] <b>[name_read_s],</b>[#34] ......


Мой сайт - http://фирмы.онлайн

Сообщение отредактировано
Format-X22 - Пн, 13 Июня 2011, 23:43
 
Сообщение
Code
SetVar "[log]" "[client_ip]::: <a href='neobook: SetVar [#34]text[#34] [#34][#91]text[#93] <b>[name_read_s],</b>[#34]'>[name_read_s]</a>: [text_read_s][#13][#10]"

Вот такое надо добавить.
Долго мучился.
Когда у нас переменная одна - пишем без квадратных скобок как тут:
Code
...... SetVar [#34]text[#34] ......

Если же по мимо неё есть ещё что-то - пишем так [#91]имя переменной[#93] как тут:
Code
......  [#34][#91]text[#93] <b>[name_read_s],</b>[#34] ......

Автор - Format-X22
Дата добавления - 13 Июня 2011 в 23:41
СергейДата: Вт, 14 Июня 2011, 02:51 | Сообщение # 30
Необукер


Добавлено (14 Июнь 2011, 02:51)
---------------------------------------------
Quote (Format-X22)
<a href='neobook: SetVar [#34]text[#34] [#34][#91]text[#93] <b>[name_read_s],</b>[#34]'>[name_read_s]</a>
о ужас, а это что такое?!
Quote (Format-X22)
Долго мучился.
я тебя понимаю :)
Но надо было тут примеры посмотреть, да и хелп почитать, тогда бы не пришлось огород городить.
Quote (Включение в код HTML-документа команд NeoBook)

Если Вы планируете редактировать HTML-документ вручную, код гиперссылки должен быть следующим:
Нажмите <a href="neobook:GotoPage %22Main%22">link</a>
Обратите внимание на спциальный код (%22). Его надо вставлять там, где должны стоять квадратные скобки, внутри которых расположена команда NeoBook. Поскольку квадратные скобки на языке HTML интерпретируются совершенно не так, как в NeoBook, использовать их открыто нельзя. Поэтому-то мы вместо них и ставим "%22". Когда же мы работаем в классическом HTML-редакторе, он автоматически заменяет вводимые нами с клавиатуры квадратные скобки на корректную последовательность символов.
Если Вы хотите выполнить более одной команды в рамках одной гиперссылки, то их следует отделить друг от друга другим специальным кодом - %0D (%+zero+D). Этот код заменят "возврат каретки" (нажатие "Enter").
Твой пример с учетом синтаксиса:
Quote
<a href='neobook: SetVar %22text%22 %22[#91]text[#93] <b>[name_read_s],</b>%22'>[name_read_s]</a>


Сообщение отредактировано
Сергей - Вт, 14 Июня 2011, 02:59
 
Сообщение


Добавлено (14 Июнь 2011, 02:51)
---------------------------------------------
Quote (Format-X22)
<a href='neobook: SetVar [#34]text[#34] [#34][#91]text[#93] <b>[name_read_s],</b>[#34]'>[name_read_s]</a>
о ужас, а это что такое?!
Quote (Format-X22)
Долго мучился.
я тебя понимаю :)
Но надо было тут примеры посмотреть, да и хелп почитать, тогда бы не пришлось огород городить.
Quote (Включение в код HTML-документа команд NeoBook)

Если Вы планируете редактировать HTML-документ вручную, код гиперссылки должен быть следующим:
Нажмите <a href="neobook:GotoPage %22Main%22">link</a>
Обратите внимание на спциальный код (%22). Его надо вставлять там, где должны стоять квадратные скобки, внутри которых расположена команда NeoBook. Поскольку квадратные скобки на языке HTML интерпретируются совершенно не так, как в NeoBook, использовать их открыто нельзя. Поэтому-то мы вместо них и ставим "%22". Когда же мы работаем в классическом HTML-редакторе, он автоматически заменяет вводимые нами с клавиатуры квадратные скобки на корректную последовательность символов.
Если Вы хотите выполнить более одной команды в рамках одной гиперссылки, то их следует отделить друг от друга другим специальным кодом - %0D (%+zero+D). Этот код заменят "возврат каретки" (нажатие "Enter").
Твой пример с учетом синтаксиса:
Quote
<a href='neobook: SetVar %22text%22 %22[#91]text[#93] <b>[name_read_s],</b>%22'>[name_read_s]</a>

Автор - Сергей
Дата добавления - 14 Июня 2011 в 02:51
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: