PDA

Просмотр полной версии : RSS-reader


tandem
23.04.2007, 17:30
Столкнулся с такой проблемой: делаю РСС-ридер (каждый rss поток преобразуетя в html-текст и выводится в компонент TextArea). Проблема в том, что на каждом сайте - своя кодировка и некоторые потоки преобразуются в абракадабру... :wacko:

System.UseCopePage = true; стоит

etc
23.04.2007, 17:39
В названии свойства как минимум две ошибки.

tandem
23.04.2007, 17:44
В названии свойства как минимум две ошибки.

ну не придерайся... в проекте все правильно стоит. :o

etc
23.04.2007, 17:49
Ну вообще такой RSS-ридер врядли переварит все кодировки. В AS3 есть ByteArray и метод readMultibyte, позволяющий читать документ в любой кодировке.

tandem
23.04.2007, 17:58
Ну вообще такой RSS-ридер врядли переварит все кодировки. В AS3 есть ByteArray и метод readMultibyte, позволяющий читать документ в любой кодировке.
То есть хочешь сказать, что средствами Flash 8 - не выйдет?..

Вот кстати пример не плохой: http://www.nuwance.com/newsmonkey/

Я у тебя среди разработок где-то видел что-то связанное с РСС, там как проблему решал (если она вообще была)

etc
23.04.2007, 18:08
http://irss.etcs.ru/ видимо это имелось ввиду.
Ну KOI > UTF у меня было написано, а там как повезет с кодировками. Т.е. useCodepage либо включен, либо нет.

tandem
23.04.2007, 18:11
Да имел ввиду именно это. А поподробнее не сможешь рассказать как ты из этой ситуации выходил?

etc
23.04.2007, 18:19
Никак не выходил. Для каждого канала выставлялась кодировка либо вручную, либо автоматически (по xmlDecl), далее, перед загрузкой utf-документа отключается useCodepage, а при любом другом включался, вот и все.

tandem
23.04.2007, 19:30
Слушай, а где ты хранишь записаные адреса потоков?

Никак не выходил. Для каждого канала выставлялась кодировка либо вручную, либо автоматически (по xmlDecl), далее, перед загрузкой utf-документа отключается useCodepage, а при любом другом включался, вот и все.
и еще не знаешь, как флеш по умолчанию кодировку воспринимает если в заголовке XML она не указана (<?xml version="1.0"?>), UTF?

etc
23.04.2007, 19:57
Адреса потоков в SharedObject.
А кодировка либо utf, либо системная, в зависимости от useCodepage.

tandem
23.04.2007, 20:01
Адреса потоков в SharedObject.
А кодировка либо utf, либо системная, в зависимости от useCodepage.
Пасиб, то есть если я буду его делать через Zinc, то кодировка по умолчанию будет win-1251? Может все-таки UTF?

etc
23.04.2007, 20:13
Я же говорю — зависит от useCodepage. И, скорее всего, в Zinc есть инструменты по работе с кодировками.

tandem
24.04.2007, 22:09
Вот облегченный исходник моего RSS ридера, взгляни как будет время:
http://www.designerdesigner.ru/test/rss/rssreader.rar

проблема описана в http://www.flasher.ru/forum/showthread.php?t=94952

tandem
25.04.2007, 04:05
Никак не выходил. Для каждого канала выставлялась кодировка либо вручную, либо автоматически (по xmlDecl), далее, перед загрузкой utf-документа отключается useCodepage, а при любом другом включался, вот и все.

То есть:
1) ты сначала грузишь документ
2) когда он загрузился, то проверяешь кодировку
3) далее вкл.вкл кодировку
4) потом грузишь сного

я правильно понимаю?

Код загрузки с правильной кодировкой пишется внутри обработчика первоначальной загрузки документа на проверку?

etc
25.04.2007, 13:28
Правильно понимаешь.
А чего там конкретно и как написано я не помню и заглядывать не хочу — страшно.

tandem
27.04.2007, 14:03
С этим ясно, теперь другая фишка:

Почему bytesTotal очень тормозит с определением размера загружаемого XML или вообще выдает undefined? С разных сайтов по-разному...

В результате этого загрузчик не пашет...

etc
27.04.2007, 14:05
Видимо потому что сервер генерит этот XML и не возвращает Content-Length.

tandem
27.04.2007, 14:06
Видимо потому что сервер генерит этот XML и не возвращает Content-Length.

Т.е. это уже проблема сайтов, где файлы расположены? и мне никак на это не повлиять?

etc
27.04.2007, 14:08
Никак. Не, можешь сделать свой типа прокси-сервер, он будет хавать RSS с другого сайта, преобразовывать кодировку в utf-8 и отдавать флешу.

tandem
27.04.2007, 14:13
Никак. Не, можешь сделать свой типа прокси-сервер, он будет хавать RSS с другого сайта, преобразовывать кодировку в utf-8 и отдавать флешу.

а ты как делал в iRSS?

прокси-сервер, каким образом?

etc
27.04.2007, 14:14
Нет, я грузил как есть. Проблема с getBytesTotal есть, но я её не решал — лень.

tandem
28.04.2007, 11:10
Нет, я грузил как есть. Проблема с getBytesTotal есть, но я её не решал — лень.

А что ты все-таки подразумевал под прокси-сервером?

etc
28.04.2007, 12:13
Скрипт на сервере, к нему обращяется ридер с просьбой загрузить с опредленного адреса канал, обработать и отдать ридеру.

tandem
28.04.2007, 15:04
Слуш, а где конкретно хранятся файлы SharedObject?

etc
28.04.2007, 15:14
Documents and Settings\USER\Application Data\Macromedia\Flash Player\#SharedObjects\[random name]\

Это в винде, в макоси потом покажу (уже писал где-то).

tandem
30.04.2007, 14:19
Еще вопрос:
Как сделать, чтобы когда мувик аттачишь сверху, то все что под ним делалось неактивным, а то кнопки просвечивают и т.д.?

etc
30.04.2007, 14:32
Класть большую прозрачную кнопку поверх.

tandem
30.04.2007, 20:25
Класть большую прозрачную кнопку поверх.

Сделал как ты сказал, все работает, кроме htmltext, т.е. при проведении мышью над текстовым хтмл полем, которое содержит ссылки - они продолжают реагировать (происходит подчеркивание - я так тэг "a" так настроил), хоть они и не нажимаются, но реагируют.

Как быть?

etc
30.04.2007, 20:48
Применить другой стиль к полям, где подчеркивание не применяется.

tandem
30.04.2007, 21:27
Применить другой стиль к полям, где подчеркивание не применяется.

Эт я и сам знаю... А подругому никак судя по всему?

etc
30.04.2007, 21:36
Ну я иного решения сам не нашел (и не старался).

tandem
06.05.2007, 12:02
Слушай, а можно как-нибудь отследить процесс attachMovie? а то больно долго аттачится и белый экран...

etc
06.05.2007, 13:23
Не понял вопроса. attachMovie работает единовременно.

tandem
06.05.2007, 16:44
я тоже так думал, может проблема не в этом...
суть:
заргужаю xml, в зависимости от структуры аттачу мувики с заголовком, содержинием и ссылкой на новость. Аттач просиходит когда срабатывает событие onLoad у XML.
Когда происходит событие онЛоад у ХМЛ, то действие переходит на определенный кадр и туда аттачатся мувики.
Проблема в том что аттач происходит не сразу после срабатывания этого события, а через 0,5-1 сек, хотя действие переходит в другой кадр правильно. Как этого избежать?

Такое ощущение, что ролику нужно определенное время чтобы взять инфу из ХМЛ, распихать её по аттачанным мувикам и выдать...хотя по логике я согласен что это глупо...

iNils
06.05.2007, 16:49
Если ваш xml весит 2 мегабайта, будет задержка в несколько секунд.
Если вы аттачите 10000 объектов, будет задержка в несколько секунд.
Если вы аттачите мувик в котором многотысячный цикл, может быть задержка в несколько секунд.
Если вы...

tandem
06.05.2007, 19:13
Если ваш xml весит 2 мегабайта, будет задержка в несколько секунд.
Если вы аттачите 10000 объектов, будет задержка в несколько секунд.
Если вы аттачите мувик в котором многотысячный цикл, может быть задержка в несколько секунд.
Если вы...

Ну суть понятно, так и думал, я аттачу около 100 мувиков в цикле.

А как-нить это обходится?

iNils
06.05.2007, 19:23
Повесить аттач на onEnterFrame или setInterval, и за раз аттачить определенное количество, а не все сразу. Тогда можно и процесс графически отобразить.

etc
06.05.2007, 19:24
В интервале можно.
Но врядли особо сократишь время.

iNils
06.05.2007, 19:25
В интервале можно.
Но врядли особо сократишь время.
Время не сократишь, но не будет паузы и можно отображать процесс.

tandem
06.05.2007, 20:52
а как вы считаете это реализовано на http://www.nuwance.com/newsmonkey/ , там все сразу появляется, без тормозов.

iNils
06.05.2007, 21:00
а как вы считаете это реализовано на http://www.nuwance.com/newsmonkey/ , там все сразу появляется, без тормозов.Что именно?

etc
06.05.2007, 21:06
У меня на первом же попавшемся канале завис наглухо :D

tandem
06.05.2007, 21:23
У меня на первом же попавшемся канале завис наглухо :D

Да там виснет, на некоторых,т.к. ссылки битые.

Интересует как сделано то, что когда лента загружается нормальная, то все новости появляются сразу, без тормозов. Может там не аттач используется?, но тогда что?

etc
06.05.2007, 21:49
Аттач, а в чем сложность-то? Вывести десяток клипов? Редкий RSS содержит более двух десятков итемов…

Kikasso
07.05.2007, 02:10
Кто-нибудь знает какие ошибки являются незначительными для загрузки XML?Орфографические.

tandem
07.05.2007, 10:10
Орфографические.

имеется ввиду какие из -1 до -9 по версии плеера?

Kikasso
07.05.2007, 10:18
Так я об этом и говорю. По-моему, он вообще ошибок не терпит. Честно говоря, не проверял, ну так проверьте и расскажите.
Если присваивать текстовому полю htmlText - тут еще вольности допустимы.
Как вариант - можно на серваке обрамлять в CDATA сомнительный контент. И прикрутить CSS текстовому полю.

tandem
07.05.2007, 13:29
Так я об этом и говорю. По-моему, он вообще ошибок не терпит. Честно говоря, не проверял, ну так проверьте и расскажите.
Если присваивать текстовому полю htmlText - тут еще вольности допустимы.
Как вариант - можно на серваке обрамлять в CDATA сомнительный контент. И прикрутить CSS текстовому полю.

не ну какие-то терпит, текстовое поле и так html, а по подробнее по CDATA можно, чем это выигрышнее?

Я не свои потоки загружаю, я с других сайтов. Вы блин не поверите, у очень серьезных сайтов зачастую XML кривыми руками сделан... :yahoo:

и еще 2админы: может тему уже перекинем в раздел для профи, вопросы то уже серьезные пошли?

Kikasso
07.05.2007, 13:42
а по подробнее по CDATA можно, чем это выигрышнее?
Это не парсится, следовательно ошибки статуса не будет. Хранится как текстовая нода, просто берем ее value и сажаем htmlText.
Насчет какие-то терпит - там всего 9 ошибок, трудно смоделировать?

etc
07.05.2007, 13:44
и еще 2админы: может тему уже перекинем в раздел для профи, вопросы то уже серьезные пошли?
Нам виднее :)

tandem
07.05.2007, 13:51
Нам виднее :)

Когда меня уже повысят... :mosking:

Насчет какие-то терпит - там всего 9 ошибок, трудно смоделировать?

я не про то, я имею ввиду что какие-из этих ошибок принципиально влияют, на загрузку?

на некоторые из них обработчику пофиг, грузит все равно

etc
07.05.2007, 13:55
Без флейма, пожалуйста. То, где располагается тема, никак не влияет на неё и обсуждения в ней.

Kikasso
07.05.2007, 14:05
я не про то, я имею ввиду что какие-из этих ошибок принципиально влияют, на загрузку? на некоторые из них обработчику пофиг, грузит все равно
Мне за вас проверить?

tandem
07.05.2007, 14:31
Мне за вас проверить?

товарищь, вас никто собственно говоря не просит, просто если кто-нибудь обладает этой информациея, то прошу поделиться. А если этой информации нет, то умничать здесь ни к чему. :)

iNils
07.05.2007, 22:27
tandem, у вас есть отдельная тема (http://www.flasher.ru/forum/showthread.php?t=95515) по поводу getBytesTotal, вот там про метод и пишите.

tandem
07.05.2007, 22:42
tandem, у вас есть отдельная тема (http://www.flasher.ru/forum/showthread.php?t=95515) по поводу getBytesTotal, вот там про метод и пишите.

извиняюсь, забыл. :confused:

Но вопрос исчерпан, т.ч. у меня больше вопросов нету - решил.