Нужно прочитать ответ с сервера, который я не контролирую. Возможна ситуация, когда сервер не отдает кодировку в заголовках. В этом случае ответ приходит "вопросиками". Помогает
перед отправкой запроса. Но кодирвка совсем не обязательно будет windows-1251, и совсем не обязательно не указана — узнать это можно только после получения ответа. Но отправлять еще один запрос после обработки ответа, в случае, если в заголовках не передана кодировка — не хочется. Есть варианты, как это победить? Заранее благодарен.
Al_H
Спасибо, codetech посмотрел. Тяжеловат он, а функции редактора заточены под HTML судя по всему. Видимо придется медленно и печально кодить что-то свое =) Народ, может еще какие варианты есть?
Вот такой извратный код зачитывает для формы значения и выставляет соответствующие атрибуты, в результате чего при помощи сериализера можно получить подобие innerHTML в IE =) Даю сразу с тестовой страничкой. Проверял в FF2.0, может глючить, ибо сляпано за 10 минут +)
[code]<html>
<head>
<script type="text/javascript">
function showFormCode() {
var form = document.getElementById('f1');
var serializer = new XMLSerializer();
setFormAttributes(form);
alert(serializer.serializeToString(form));
}
function setFormAttributes(form) {
for (var i in form.elements) {
var cel = form.elements[i];
switch (cel.tagName) {
case 'INPUT':
switch (cel.type) {
case 'text':
cel.setAttribute('value', cel.value);
break;
case 'checkbox': case 'radio':
Приветствую All!
Есть планы по созданию интерфейса к CMS на XUL. Одна из возможностей - редактирование XSLT-шаблонов и небольших кусков PHP-кода. Сейчас (в обычном веб-интерфейсе) это хозяйство грузится тупо в TEXTAREA, а на практике используется FTP+jEdit, ибо без подсветки синтаксиса править код уж очень утомительно.
Собственно, вопрос: можно ли в XUL-интерфейс встроить некий редактор кода с базовым-базовым функционалом, как то:
- Подсветка синтаксиса XSLT / PHP / возможно JS
- Форматирование кода, т.е. автоматические отступы
В принципе, это будет уже неплохо. Ну в идеале конечно всякие autocomplition и другие удобства, хотя, поскольку редактор нужен не для создания кода, а скорее для быстрой правки, можно и без этого обойтись.
Как я себе это представляю: либо использовать что-то написанное на JS на основе Mozilla Editor, если оно существует, либо использовать какое-то внешнее приложение. Поскольку для осмысления обоих вариантов моих знаний недостаточно, могу и заблуждаться =)
…(горбатый он какой-то, этот XSLT)
Он не горбатый, он декларативный :D
Цитата из книжки Дэвид Хантер. Введение в XML (книжка дурацкая, но местами ничего):
... программистам, знакомым только с императивными языками, придется привыкать к абсолютно новому стилю программирования. Работа с переменными и их изменение является одним из наиболее фундаментальных аспектов программирования на императивных языках, и к работе с декларативными языками придется привыкать. Для тех, кому декларативные языки наиболее привычны, XSLT, как один из представителей декларативных языков, наполнен глубоким смыслом (подчас таким глубоким, что аж страшно становится! =) - прим.), обладает боль
…
Почитать про update.rdf и сгенерировать оный можно через update.rdf generator
Перевод туториала устарел, обновить никак руки не доходят. Там нет инфы про "динамическую разработку", возможность которой появилась в Firefox 1.5 - а штука полезная. Почитайте на сайте автора - Dynamic Development - если знание английского позволяет.
Из редакторов советую попробовать
1) Bred3 - очень легкий, очень качественная подсветка кода (на основе colorer)
2) jEdit - местами глючный, но снабжен всеми благами цивилизации, как то code folding, вкладки, auto complition, автозакрытие в XML, быстрое переключение кодировок etc. Правда, по-идиотски сделана настройка цветовой схемы.
All, а кто-нибудь разобрался с Venkman Javascript Debugger? Буржуи его хвалят, а я вот 2 часа тупил, так и не понял, в чем его сила.
PS. Кстати, стоит упомянуть встроенный DOM Inspector - один из мощнейших инструментов, если уметь пользоваться =)
Привет всем.
Я вот тут задумался, а есть ли в природе переводы спецификаций W3C DOM? Никто случайно не видел? Нужно было разобраться с DOM Level2 Events - пришлось в 5 утра вникать в англицкий... буду благодарен, если кто знает.
Попробуйте изучить, что показывает DOM Inspector до выполнения скрипта и после. Подозреваю, что есть какие-то отличия.
Web developer
HTML Tidy
Quirk search status
All-in-one gestures
Yandex CY
Sage
Seolinks (по праздникам)
Хотя на это трудно ориентироваться - они все для работы (вебдев/сео). Из "общего назначения" - только Sage и All-in-one gestures
Что то как то у англичан убого с разными словоформами.
Ну дык, язык-то аналитический. Зато у них порядок слов рулит, вспомогательные глаголы и предлоги =)
Так вот. 2 минуты искал ошибку в коде. Потом догодался глянуть в консоль JS, нашел.
Error: letterBlock.assEventListener is not a function
Source File: http://sava/loader.js
Line: 140
"Опечатка по фрейду" называется. Нефиг по ночам работать =)
Посмотрите FKEdit
Хорошая штука. Живет здесь. Подцепляется через iframe.
Учитывая, что едитор сидит в ифрейме, он нечувствителен к стилям родительского окна. Бывают еще inline editors, например Mozile для мозиллы. Столкнулся с этим зверем, начав разбираться в Sapid CMS - ее разработчики решили, что инлайновость - это круто, и прицепили mozile. В итоге я решил, что буду искать другую CMS, посколько названный зверь глючит безбожно. Так что советую использовать FCKEditor или другой "ифреймовый" аналог.
Привет всем. Есть проблема, может кто сталкивался.
Пишу админ-интерфейс, все построено на XMLHttpRequest aka AJAX. Работать должен только под Firefox.
По событию даем запрос на сервер, тот возвращает данные в формате XML. Из этих данных нужно отрисовать кучу формочек и прочих эл-тов управления. Решил использовать XSL, т.к. через DOM много кода получилось бы. Плюс, используя XSL, можно быстро сделать аналогичный интерфейс на XUL, поменяв только шаблон (чтоб вместо HTML был XUL), и ничего не трогая ни в JS, ни в ответе сервера.
Делал, руководствуясь вот этой докой.
Т.е. ответ прогоняется через XSL-шаблон, лежащий во внешнем файле, собирается в fragment, а потом этот fragment назначается в нужный див:
var xproc = new XSLTProcessor();
var xmldoc = [ответ сервера, асинхронно полученный заранее];
var newFragment = xproc.transformToFragment(xmldoc, document);
document.getElementById('mydiv').appendChild(newFragment);
В
…Автор - Jonah Bishop. Я только перевел на русский, подправил некоторые ошибки, сделал небольшие добавления, сверстал и выложил в сеть.
e-travel
Копия материала есть по адресу http://www.inode.ru/articles/programming/2005-10-04/85
Жаль, что первоисточник закрыли.
Еще нашел полезную статью:
http://slackware.tomsk.ru/docs/?p=xul
Ну, и скромный труд из моей подписи, возможно, кому-то будет полезен. Это перевод руководства (думаю, многие с ним знакомы) Firefox toolbar tutorial.
есть ли отличия в написании тулбаров для версий 0.9 - 1.5 ?
В 1.5 начал использоваться chrome.manifest вместо contents.rdf. В этой ветке вроде разобрали довольно подробно.
Прошу простить за офф... блин, люди, а куда в webdeveloper 1.0.2 делось "View cookie information" aka "Просмотреть информацию о куках"? Я один его не вижу, или эту фичу вообще убрали? Если убрали, то интересно почему... оч. полезная штука...
rurik
Простите, не совсем понял Вашу мысль... <input> - это откуда?
Всем доброе утро.
Такая проблема. Настраеваем поиск из адресной строки, меняя I'm feeling lucky гугла на обычную выдачу яндекса. Для этого идем в about:config, находим keyword.URL, меняем его на http://www.yandex.ru/yandsearch?text= и начинаем искать. Поиск производится вполне нормально. Только при этом в адресной строке вместо ожидаемого http://www.yandex.ru/yandsearch?text=запрос появляется keyword:запрос. Это так и должно быть, или я что-то неправильно сделал? Если первое - как обойти, если второе - как исправить? Просто для меня это актуально, т.к. ввиду особенностей моего ремесла приходится часто давать ссылки на результаты поиска =)
Заранее благодарен.
Sarin2.0
офф: рискну предположить, судя по названию папки, что речь идет о расширении для LiveJournal? Если это так, то, возможно, Вам будет интересно пообщаться с автором этого поста. Если не угадал - прошу прощенья =)
По теме. Еще раз советую перечитать форум по XUL на xpoint. Все основные проблемы там уже разбирались, в том числе и эта. Вот тема: http://xpoint.ru/forums/programming/XUL/thread/34562.xhtml
Можноль получить этот текств программе JavaScript
Есть такая замечательная штука - DOM Inspector. Быстрее всего ИМХО решать такие вопросы с его применением. Выбираем #document слева, выбираем Javascript Object справа, изучаем свойства и методы. Находим getSelection() - похоже на правду, проверяем - работает.
Рекомендую потратить день-два на изучение объектной модели в DOM Inspector, поиграться с разными свойствами, чтоб в голове отложились. Ну и потом периодически проглядывать.
Кстати, вот еще что.
Before the plaintext manifests were introduced (which happened in Firefox 1.5, Toolkit 1.8), RDF manifests named "contents.rdf" were used to register chrome. This format is deprecated; however, the Mozilla Suite (SeaMonkey) does not support the plaintext manifest format yet, so contents.rdf manifests are required for extensions that wish to maintain backwards compatibility with Firefox 1.0 or the suite.
Что означает примерно следующее:
Прежде чем были введены текстовые манифесты (в Firefox 1.5, Toolkit 1.8), для регистрации chrome использовались RDF манифесты "contents.rdf". Этот формат устарел. Тем не менее, Mozilla Suite (Sea Monkey) до сих пор не поддерживает формат текстовых манифестов, поэтому contents.rdf необходим для расширений, в которых должна поддерживаться обратная совместимость с Firefox 1.0 или Mozilla Suite.
Блин, третий раз даю ссылку.
Вот оттуда:
Recent versions of Firefox read simple plaintext chrome.manifest file (instead of old and confusing contents.rdf) to determine what packages and overlays your extension provides.
Перевожу:
Последние версии FireFox понимают простые текстовые файлы chrome.manifest (вместо устаревших и вызывающих трудности файлов contents.rdf), чтобы обозначить пэкеджи и оверлеи, которые предоставляет ваше расширение.
Т.е. contents.rdf нужен для FireFox 1.0.x, в 1.5+ используется chrome.manifest
Про contents.rdf можно почитать вот здесь.
Sarin2.0, я по началу тоже перепугался =) На самом деле все действительно просто. Как разбирался я:
1. Прочитал вот эту статью и сделал перевод. Перевод можно заменить трехкратным прочтением =) Основы в голове улеглись.
2. Прочитал ветку про XUL на xpoint. С самого начала. Там описаны решения всех новичковых проблем. Берем на заметку.
3. Проглядываем http://xulplanet.com/ на предмет "что там вообще есть". Начинаем что-то писать. Когда возникают технические вопросы - лезем на xulplanet и находим решение =) Еще полезно держать под рукой шпаргалку по XUL - благо она русскоязычная и там почти все есть. Поскольку периодически приходится перегружать chrome, лучше сразу открыть все маны и доки в опере =)
4. Мне лично очень помогает. Если нифига не получается, идем на xpoint задав
…