Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Команды "NeoBook" возможно запустить из HTML-документа с помощью специальных гиперссылок. Если Вы работаете с HTML-редактором, таким, например, как Microsoft's FrontPage®, то команды NeoBook можно набрать вместо обычного URL-адреса при создании гиперссылки с префиксом "neobook:". Например:
neobook:GotoPage "Main"
Отлично, читаем дальше?
Quote
Добавление префикса "neobook:" указывает браузеру, что NeoBook будет выполнять команду вместо Internet Explorer. Понятно, что этот префикс работает лишь в том случае, когда браузер запущен внутри приложения NeoBook. Автономные браузеры, типа Internet Explorer или Netscape Navigator не могут самостоятельно обрабатывать команды NeoBook.
Если Вы планируете редактировать HTML-документ вручную, код гиперссылки должен быть следующим:
Нажмите <a href="neobook:GotoPage %22Main%22">link</a> для перехода на другую страницу NeoBook.
Хммм, видим непонятный код %22
Quote
Обратите внимание на спциальный код (%22). Его надо вставлять там, где должны стоять квадратные скобки, внутри которых расположена команда NeoBook. Поскольку квадратные скобки на языке HTML интерпретируются совершенно не так, как в NeoBook, использовать их открыто нельзя. Поэтому-то мы вместо них и ставим "%22". Когда же мы работаем в классическом HTML-редакторе, он автоматически заменяет вводимые нами с клавиатуры квадратные скобки на корректную последовательность символов.
Если Вы хотите выполнить более одной команды в рамках одной гиперссылки, то их следует отделить друг от друга другим специальным кодом - %0D (%+zero+D). Этот код заменят "возврат каретки" (нажатие "Enter"). Например:
Нажмите <a href="neobook:AlertBox %22Hello%22 %22About to switch pages.%22%0DGotoPage %22Main%22">link</a> для перехода на другую страницу NeoBook.
Если Ваш HTML-редактор не дает набрать код %0D , можно использовать символ ¶ вместо кода (ASCII #0182). Например:
Нажмите <a href="neobook:AlertBox %22Hello%22 %22About to switch pages.%22¶GotoPage %22Main%22">link</a> для перехода на другую страницу NeoBook.
В целях безопасности, ряд команд, которые могут быть потенциально опасными, такие как FileWrite, FileErase, и др. невозможно запустить из Web-браузера, пока не будет отключена опция "Enhanced Security".
Ну тут уже всё нормально... Но нет упоминания о реальных квадратных скобках... Смышленый человек найдет это: [ = [#91] ] = [#93]
Но не всё так просто. Если мы возьмем например SetVar "[x]" "Привет [x]!" то получится SetVar %22[#91]x[#93]%22 %22Привет [#91]x[#93]!%22 Но не работает! Как так? А вот если взять SetVar %22[#91]x[#93]%22 %22Привет [#91]x[#93]!%22, то всё прекрасно работает! Как же так, товарищи?
Вот я потому и предложил добавить эту особенность NeoBook Ну а использование [#34] это нормально, с ним всё отлично летает если мы href='' с апострофами пишем.
Сергей, Так там то у нас вообще про кавычки идет разговор. То есть квадратные скобки заменяем на кавычки, когда читаем этот текст. Но это пол беды...
Quote (Format-X22)
Если мы возьмем например SetVar "[x]" "Привет [x]!" то получится SetVar %22[#91]x[#93]%22 %22Привет [#91]x[#93]!%22 Но не работает! Как так? А вот если взять SetVar %22[#91]x[#93]%22 %22Привет [#91]x[#93]!%22, то всё прекрасно работает! Как же так, товарищи?
Вот это тогда вообще никакой логике справки не поддается, даже если учитываем описки. Мой сайт - http://фирмы.онлайн
Сергей, Не не не, всё-таки в справке описка. Но как я уже говорил:
Quote (Format-X22)
Смышленый человек найдет это: [ = [#91] ] = [#93]
Вот только это нас не избавляет от
Quote (Format-X22)
Но не работает! Как так?
Я же в первую очередь в справку полез, когда столкнулся с этим глюком. По ней всё правильно (если описки в переводе осознать), но не работает. Зато заработал старый добрый метод подбора в ручную. Всё-таки это особенность NeoBook, те кто не верят могут сами попробовать по справке вписать SetVar %22[#91]x[#93]%22 %22Привет [#91]x[#93]!%22
Мой сайт - http://фирмы.онлайн
Сообщение отредактировано Format-X22 - Вт, 14 Июня 2011, 04:24
не путайте, в справке идет речь только о коде прописанном на самостоятельной html-страничке, загружаемой в браузер. Тогда все скобки обрабатываются корректно.
Но если мы пользуемся внутренними командами для загрузки/обработки контента (BrowserLoadFromStr/BrowserExecScript) то поведение несколько меняется, в частности скобки и кавычки начинают интерпретироваться перед выполнением команды, а с html-страницы они грузятся как есть. Как задавать вопросы
да, если код необук записывается на html-странице которая грузится в браузер, то запись [x] будет правильно истолкована как переменная х. Если грузить через browserloadfromstr равно как и использовать квадратные скобки в яваскрипте browserexecscript, то [x] заменится на свое содержимое. Потом, %22 это тоже только кавычка для html-страницы, вообще вся справка в этом плане рассчитана именно на вызов с локальной страницы, для внутренних команд нб нужно скорректировать синтаксис с этими кавычками и скобками, и палками тоже | Как задавать вопросы
аааа то есть ie в нб и ie в винде разные вещи чтоль?
да. при авторизации из проекта слетит авторизация в винде. ну а писать в чат как понимаешь можно только авторизованным
Quote (Dordex)
это правильно получается? Я на это грешил...
надо проверить, щас...
Добавлено (17 Июль 2011, 18:48) --------------------------------------------- запрос постится сюда http://neobooker.ru/mchat/?545542767.515357 тело запроса mcmessage=%D1%82%D0%B5%D1%81%D1%82&numa=1&a=18&ajax=1&_tp_=xml
%D1%82%D0%B5%D1%81%D1%82 = тест (наверно можно не кодировать, пиши текстом)
Добавлено (17 Июль 2011, 18:49) --------------------------------------------- http://neobooker.ru/mchat - текст чата, епт ) - можно парсить что там за цифры в конце адреса хз... попробуй еще без них запостить
InternetPost "http://neobooker.ru/index/sub/" "user=dembel&password=***&rem=1&a=2&ajax=2&_tp_=xml" "[result]" "" InternetPost "http://neobooker.ru/mchat/" "mcmessage=тест мессаги из проекта нб&numa=1&a=18&ajax=1&_tp_=xml" "[ret]" "" .для визуального контроля грузим чат в браузер проекта .InternetGet "http://neobooker.ru/mchat/" "[rrr]" "" .BrowserLoadFromStr "WebBrowser1" "[rrr]"
короче надо лучше в проценты кодировать. либо конвертить строку из win1251, сайт на utf-8. видишь эта кириллица в чат пришла кракозябрами Как задавать вопросы
а программно никак, допустим початился, чатик закрыл и авторизация обратно вернулась в браузер. Либо неужели нет варианта чтобы авторизация не слетала scratch
если поставить форум не на ucoz А так она будет слетать. Я пытался магию с куками сделать, но ничего не дает, даже абсолютно идентичные куки дают вылет Если используешь ie, то ради бога, авторизация должна работать как в ie, так и в nb без вылетов, а если другие браузеры, то можно пользоваться другими "костылями", например в файл бд браузера записывать куки (и то это вряд и получится, т.к. хэш получается от сервера). Единственный вариант посылать запрос на авторизацию от "лица" определенного браузера, но вот как это уже загадка
Сообщение отредактировано Alien - Вс, 17 Июля 2011, 22:55
да никак не вернуть, на юкозе "двойной" контроль авторизации, на стороне клиента (куки) и сервера (идентификатор). Если даже куки подсунешь, они уже будут недействительны т.к. не соответствуют идентификатору который хранится на сервере и выдается новый при каждой авторизации.
Добавлено (18 Июль 2011, 04:11) --------------------------------------------- ну хотя может быть, это зависит от настроек безопасности сайта. контроль куков может можно выключить, но тогда защиты от их подмены не будет.
Здравствуйте, друзья! Знаю есть уже тема, объясняющая все виды отправки форм, но единственное, что я понял из той темы - надо понимать JS. Но я нифига не понимать, я плакать, вообщем такая тема: 1. Прога лезет на страницу файлового хранилища Юкоза ===Выводится страничка, мол Доступ ЗАПРЕЩЁН=== ._. 2. Прога вводит логин и пароль 3. Прога НАЖИМАЕТ НА КНОПКУ "ВХОД" 4. ??? 5. PROFIT!!!!!!
Но, увы, я застрял на третьем пункте. Сначала я думал что с помощью NB инструментов можно имитировать нажатие, но, прочитав ту тему, был очень огорчён :_( Буду очень благодарен если поможете
kapacek, это же обычный логин на сайт юкоза. Мы уже эту форму сто раз разбирали что и как посылать. "Нажатие" кнопки происходит не волшебным образом, а путем ручного выполнения навешенной на нее функции (подтверждение формы логина юкоза). Еще раз:
1. POST запрос отправляется на адрес _http://ваш_сайт/index/sub/ 2. Тело запроса имеет след. формат: user=логин&password=пароль&rem=1&a=2&ajax=1 3. Все, проект авторизован. В ответ на GET запросы будут приходить зарегенные страницы. 4. Если под одним логином работает много копий программы, рега будет слетать. Нужно каждый GET запрос предварительно авторизовывать. 5. Юкоз работает на UTF8 кодировке, поэтому приходящие ответы сервера нужно сконвертировать плагином zmFunctions в win1251 кодировку (NeoBook не поддерживает UTF, отображает кракозябры вместо кириллицы. Если кириллица не нужна то можно не конвертить). 6. Любой запрос к серверу по хорошему должен конвертироваться в URL-Encoding. Но вроде работает и без него. Если сервер чтото не принимает а должен был бы, то сконвертируйте тело запроса, где-то на форуме валялась эта функция.
Указанный Вами способ авторизации не работает. Вот готовый вариант авторизации на сайтах Юкоз:
Код
SetVar "[SITE_URL]" "http://neobooker.ru" /* Указываем домен */ SetVar "[LOGIN]" "Логин пользователя" /* Указываем логин пользователя */ SetVar "[PASS]" "Пароль пользователя" /* Указываем пароль пользователя */ Random "100" "[RND]" /* Генерируем случайное число */ SetVar "[SEND_DATA]" "user=[LOGIN]&password=[PASS]&rem=1&a=2&ajax=1&rnd=[RANDOM]" /* Формируем данные для Post запроса */ InternetPost "[SITE_URL]/index/sub" "[SEND_DATA]" "" "" /* Отправляем Post запрос с сформированными данными*/ InternetPost "[SITE_URL]/" "" "" "" /* Отправляем пустой Post запрос */
После выполнения данного кода можем обратится напрямую к http://ваш_домен/api/index/62 и распарсить хмлку, и найти там логин пользователя что бы быть уверенными что авторизация прошла успешно.