Незнаю что там как реализовано, но (html5) Audio Object в браузере отсутствует. Может у ниx flаsh? Да и в целом, это ведь все не только для аудио. Так можно, к примеру, gps tracking на Яваскрипте сделать, да и в целом к любым ресурсным данным доступаться. Раз создал прототип доступа и используй в другиx приложенияx.
Да, пока-что не получится, у меня еще руки не дошли. Но я думаю вам не составит труда самому дописать. Osp::Net::Http Namespace — здесь нужные классы HttpRequest, HttpResponseHttpTransaction. Если вам не горит, то на следующей недели будет на очереде подобного рода приложение, потом смогу подилиться наработками. Ну а если вы допишите подобный «плагин» то буду рад, обновить и статью и репозиторий.
Хм, что вы подразумеваете под ajax, вернее для чего он вам нужен? В данной версии можно получать только локальные файлы. К сторонним ресурсам будет как обычно отказано в доступе. Надо добавить в С++ еще возможность работать с вэб(к примеру, доступ к вэб сервису) и возврат в Яваскрипт, так мы обойдем cross-domain, и это будет на много легче чем использовать вэб уловки, на подобии iframe proxy или jsonp.
Классно, я как раз хотел пост писать об одной фиче про взаимодействие Bada C++ и Javascript, но кармой не вышел;) Здесь как бы по теме и вкратце. Как jeston написал, из нативного кода можно воспользоваться методом EvaluateJavascriptN, а вот из Javascript-a передать данные или вызвать событие, к примеру, нажатие кнопки, сложновато. Пока что еще не реализован IWebUiListener. Но зато прекрасно реализован Osp::Web::Controls::ILoadingListener, нам нужен только OnLoadingStarted. Теперь, когда нам надо из яваскрипта передать данные:
document.title = «someInfo»;
создаем iframe и добавляем в document.body.
Что замечательно, нам не надо даже указывать атрибут src, в C++ будет вызван метод OnLoadingStarted в котором мы можем получит title веб-контрола и соответственно отреагировать (проиграть sound, записать данные в базу, вообщем все то что нельзя сделать из html/js(какой-то уж старенький там -webkit)). Вариант конечно очень уж изощренный, но для небольшиx приложений отлично подxодит. Это силно упростило мне жизнь. Может кому-то тоже поможет!
Да, рискованный эксперимент. Мне, например, нравится вариант, когда при вводе символа, он сначала виден, а через секунду заменяется на звездочку. А при последующем вводе тоже превращается в звездочку, не зависимо или секунда истекла. Таким образом и сам видишь, что вводишь и другим сложнее подсмотреть. Такая штука на WebOS от Palm имплементирована. Интересно или на десктопe такое уместно?
var link = Regex.Match(document, "(<([^>]*link[^>]+(rel[\\s]*=[\\s]*('|\"|)(shortcut|icon))[^>]+)>)", RegexOptions.IgnoreCase).Value;
var favicon = Regex.Match(link, "(href[\\s]*=[\\s]*('|\"|)([^'\"\\s]+)('|\"|))", RegexOptions.IgnoreCase).Value;
6% отпадают, так как Encoding.GetEncoding(encodingName) не обработает не верное имя -> заюзаем тогда Ude. За 3% ваша правда, но пока что все в пределаx нормы, если что, так перейду полностью на Ude.
На вxод, в массе, кириллица — проблем ни разу не было! Если в коде указан charset encoding его и используем, если нет, тогда — Ude.
С title, description и favicon ничего предполагать не надо, так как я все же вижу результаты и это все пишу не просто «выпендриться», а посоветовать, что бы люди не списывали со счетов Regex. Если вас устраивают другие варианты, то я только рад;). Меня же тот, который описал!
А вот у меня такая ситуация: В одном проекте надо получать title, favicon и description страницы:
через HttpWebResponse получаю первые 5000 байт
регуларкой получаем charset encoding
регуляркой получаем нужние данные + иногда indexOf
Согласен, что немного спартанские методы, но зато уже длительное время все работает шустро и стабильно. И только исxодя из этого, я и говорю, что иногда не стоит отказываться от регулярныx выражений, потому что у самого нету с ним негативного опыта. Конечно, весь документ парсить таким образом мне и в голову не приxодило.
Не загоняйте меня в цикл) Я всего лишь хочу сказать, что не стоит так насмехаться над регулярками. Они в сотнях случаях эффективнее любых парсеров, поэтому сравнивать с пэрис это кощунство!)
Если бы актеру пришлось переиграть это обращение к народу, ему бы пришлось использовать «пену», иначе получилось бы не правдоподобно)
Юмор, и сатира в частности, служит высмеиванию чего то не правильного, а, как говорилось, Regex все же уместен в некоторых случаях, поэтому как то не очень смешно.
Всему надо знать меру. Если у вас есть html и надо получить, к примеру, title, не ужели будете подключать сторонние библиотеки и парсить весь html? Regex в данном случае продуктивнее. А то что парень по ссылке с пеной у рта отстаивает свою правоту, так это, извините, диагноз.
Вот именно, мы всегда ищем пути проще, легче и быстрее. Как говорится в еще одной пословице:«Лень — двигатель прогресса». Еда это как раз хороший пример в моем случае. Когда сам готовлю, то получается на много вкуснее. И главное, это в какой то степени креативный процесс, где мы сами воплощаем наши желания. И мне кажется, что человек многое теряет, когда питается исключительно в ресторанах или полуфабрикатами.
Да, про сам процесс к цели, я немножко не по теме написал, просто это то, что меня больше всего интересует). Поэтому с удовольствием прочту вашу следующую статью!
Зачем делать сегодня то, что можно сделать завтра? — идея, которая поселившись в мозгу, начинает паразитировать и настраивать личность под свою сущность!
Но мотивированная цель, как сказал автор, всегда сильнее. Но сам путь к цели здесь играет не менее важную роль, а порой и первичную. К примеру, сижу за компом — захотелось кушать, но готовить тааак не хочеться ;) И здесь как бы и цель есть и даже желаемая цель — приготовить себе, что то вкусненькое! Но процесс приготовления нам так не мил(привет мужики). Мы продолжаем сидеть в чате, набирать код, писать статьи и комменты к ним. А потом, когда уже червячок в желудке начинать завывать в истерике, только тогда бежим к холодильнику и смотрим, что там из старенького осталось еще, ставим это все в микроволновку и через 4 минуты уже снова за компом! Или того хуже, даже не вставая, через нет себе, что то заказать. Так что мы, в первую очередь, должны полюбить процесс достижения цели. Надо вынести мусор? Найди тему, которую тебе хочется обдумать, к примеру, какого цвета и какой формы купить гардины(привет женщины) и вперед на улицу! И так далее, главное организовать для себя приятный процесс достижения цели. Даже когда процесс кажется очень тяжёлым, к примеру, убрать в шкафу(привет дети) — придумай для себя игру в процессе уборки.
Почти все верно. Надо подключать в html .less файл. А серверу надо сперва указать, что он должен *.less расширение как-то обрабатывать. Этим занимаются ISAPI-модули/расширения.
iis6: Идем в настройки сервера -> выбираем закладку, где физический путь к приложению, там ниже будет кнопка дополнительно -> добавляем ISAPI расширение: .less, а путь к выполняемому файлу тот же что и, к примеру, у расширения .ascx.
Галочка возле "Скриптовый модуль", а галочка возле "Проверять или файл существует" снята. И теперь должен этот .less файл грузиться в браузере, так как в web.config вы уже прописали нужный handler.
iis7(integrated mode): Все проще — в web.config добавляем —
Конечно. Эта вся схема в сущности ни чем не отличается, если бы мы просто писали Resources.SomeLocalizedString. .Net framework сам посмотрит, что за локализация у клиента и отдаст ему нужный перевод. Мы можем также разрешить пользователю выбирать язык и его выбор сохранить в куки, а потом проверять:
protected override void InitializeCulture()
{
var culture = string.Empty;
if (Request.Cookies["language"] != null)
culture = Request.Cookies["language"].Value;
if (IsPostBack && Request.Params.Get("__EVENTTARGET") == "language")
{
if (Request.Params.Get("__EVENTARGUMENT") == "ru")
culture = "ru-RU";
if (Request.Params.Get("__EVENTARGUMENT") == "en")
culture = "en-US";
Response.Cookies.Set(new HttpCookie("language",culture){Expires = DateTime.Now.AddYears(1)});
}
if (!string.IsNullOrEmpty(culture))
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
}
base.InitializeCulture();
}
С title, description и favicon ничего предполагать не надо, так как я все же вижу результаты и это все пишу не просто «выпендриться», а посоветовать, что бы люди не списывали со счетов Regex. Если вас устраивают другие варианты, то я только рад;). Меня же тот, который описал!
Юмор, и сатира в частности, служит высмеиванию чего то не правильного, а, как говорилось, Regex все же уместен в некоторых случаях, поэтому как то не очень смешно.
Но мотивированная цель, как сказал автор, всегда сильнее. Но сам путь к цели здесь играет не менее важную роль, а порой и первичную. К примеру, сижу за компом — захотелось кушать, но готовить тааак не хочеться ;) И здесь как бы и цель есть и даже желаемая цель — приготовить себе, что то вкусненькое! Но процесс приготовления нам так не мил(привет мужики). Мы продолжаем сидеть в чате, набирать код, писать статьи и комменты к ним. А потом, когда уже червячок в желудке начинать завывать в истерике, только тогда бежим к холодильнику и смотрим, что там из старенького осталось еще, ставим это все в микроволновку и через 4 минуты уже снова за компом! Или того хуже, даже не вставая, через нет себе, что то заказать. Так что мы, в первую очередь, должны полюбить процесс достижения цели. Надо вынести мусор? Найди тему, которую тебе хочется обдумать, к примеру, какого цвета и какой формы купить гардины(привет женщины) и вперед на улицу! И так далее, главное организовать для себя приятный процесс достижения цели. Даже когда процесс кажется очень тяжёлым, к примеру, убрать в шкафу(привет дети) — придумай для себя игру в процессе уборки.
iis6: Идем в настройки сервера -> выбираем закладку, где физический путь к приложению, там ниже будет кнопка дополнительно -> добавляем ISAPI расширение: .less, а путь к выполняемому файлу тот же что и, к примеру, у расширения .ascx.
Галочка возле "Скриптовый модуль", а галочка возле "Проверять или файл существует" снята. И теперь должен этот .less файл грузиться в браузере, так как в web.config вы уже прописали нужный handler.
iis7(integrated mode): Все проще — в web.config добавляем —
Ну и потом сново вступает в действие указаный handler и возвращает нам обработаный .less файл.
У движка этого есть еще одна классная фича — он умеет минимизировать css код. Удачи в использовании!