Форум Gatchina OnLine

Форум Gatchina OnLine (https://forumgol.ru/index.php)
-   Программирование и разработка (https://forumgol.ru/forumdisplay.php?f=4)
-   -   JavaScript (https://forumgol.ru/showthread.php?t=7353)

kainen 06.07.2009 15:51

Цитата:

Сообщение от ΛLIEN (Сообщение 357801)
Прямое. Один говорит про конкретную задачу и ее решение, другой вообще за жизнь несчастных пользователей ie6.

Ты случайно не женщина?

kainen 06.07.2009 15:55

Прошу прощения. Поддался импульсу, возникло ощущение, что я доктор, который почти вылечил больного от бронхита, а тот внезапно воткнул себе вилку в глаз и принялся бегать по палатам :)
Начнем заново?

ΛLIEN 06.07.2009 16:00

Цитата:

Сообщение от kainen (Сообщение 357813)
Начнем заново?

Разжевывать в очередной раз, что я имел ввиду не хочу. В главном мы сошлись. Так что, пожалуй, нет.

Том 17.03.2012 22:07

Помогите допилить данный информер, чтобы установить на страницу в UTF8.

Цитата:

HTML-код следует полностью, не изменяя все 6 строк, поместить в код страницы.

HTML - код в прикрепленном файле.

В коде Вы можете поменять два параметра: (5,false)
6 - количество показываемх заголовков, можно менять от одного до шести false - ссылка открывается в текущем окне, можно поменять на true - ссылка открывается в новом окне.

Следует помнить, что способ вызова <script src=...> приводит к проблемам в случае недоступности системы и требует от клиента поддержки javascript.
Поэтому Вы можете использовать другой способ экспорта заголовков новостей - Server Side Includes (SSI) - с помощью CGI - скрипта ( http://www.informer.ru/rbcnews.zip ) Perl версии.
В коде скрипта находится инструкция по настройке.
Код HTML:

<!--
include virtual="/include/funs.shtml"
//-->

 
<script language=JavaScript
src="http://pics.rbc.ru/js/top_funs.js">
</script>
<script>
<!--
print_funs_news(10,true);
//-->

</script>

Ява-скрипт корректно выводится только на win1251, в настройке SSI и Perl я не шарю.

ΛLIEN 18.03.2012 01:11

Случай с javascript не пойдет, т.к. сервер рбк отдает скрипт в кодировке ср1251. Cкрипт сам пишет в html документ через "document.write". Если рбк могут отдавать в другой кодировке, то это самое простое решение проблемы. Спроси их поддержку.
Конечно, наверняка можно через какой нибудь ajax самому загружать этот файл в переменную, потом перекодировать, написав функцию перекодирования (о стандартных функциях перекодирования в javascript не слышал), потом писать из переменной через тот же "document.write"... бла бла бла

Второй вариант с перловым скриптом, который подключается через
<!--
#include virtual="/cgi-bin/rbcnews.cgi"-->
//-->

накладывает условия:
- хостер должен поддерживать cgi, а скрипт rbcnews.cgi нужно кидать в папку cgi-bin.
- хостер должен поддерживать ssi. если поддерживает, то расширение скорее всего должно быть shtml, иначе не сработает.
- надо знать абсолютный путь куда кэшировать новости. строка 17: my $place="...", хотя может и поймет относительные пути.
- папка в которую кэшируется файл новостей должна иметь права записи.

Само перекодирование, см. файл rbcnews.cgi. После фразы "# Подключение модулей" добавить строчку "use Encode;"
Строку 52:
my @file=map { s/<a/"<a target=".($target?"'_blank'":"'_top'")/gei; $_; } split("\n", $response->content);
заменить на:
my @file=map { s/<a/"<a target=".($target?"'_blank'":"'_top'")/gei; $_; } split("\n", Encode::decode("cp1251",$response->content));

Есть третий вариант. Написать при помощи php кода:
PHP код:

<script>
<!--
<?php echo iconv("CP1251""UTF-8"file_get_contents("http://pics.rbc.ru/js/top_funs.js")); ?>
print_funs_news(10,true);
//-->
</script>


Том 18.03.2012 03:52

В техподдержку писал - молчат как партизаны.

Второй вариант с SHTML видимо не подходит, т.к. надо встроить в PHP-страницу.

Пока думал над третьим вариантом, произошло какое-то шаманство - информер стал корректно отображаться на UTF8-странице, хотя сервер РБК по-прежнему отдаёт в кодировке cp1251.

Вот код, который размещён:

Код HTML:

<script language=JavaScript src="http://pics.rbc.ru/js/top_funs.js"></script>
<script>
<!--
print_funs_news(10,true);
//-->

</script>

Вот адрес страницы UTF8: http://gatchina.ru.net/funs/

Нихрена не пойму, до этого же не работало...

ΛLIEN 18.03.2012 12:36

Цитата:

Сообщение от Том (Сообщение 434373)
Пока думал над третьим вариантом, произошло какое-то шаманство - информер стал корректно отображаться на UTF8-странице, хотя сервер

Это зависит от браузера и настроек определения кодировки. Опера, ie9, лиса и хром отобразили правильно, если установить кодировку: кириллица - автоматически. Значит определяют кодировку и перекодируют сами, когда файл скрипта загружается отдельно. Стоит принудительно поменять на ср1251 или утф-8, отображается корректно только часть страницы. Так что насчет работает, ты поторопился.

Том 19.03.2012 21:57

Короче я нашёл RSS-поток этого раздела (в самом разделе его не было, поэтому я думал что вообще нет RSS этих новостей).

Щас сделаю свой собственный настраиваемый инфомер с помощью API гугла, а свой отстой пусть сами юзают.

Алиен - спасибо большое за советы, я надеюсь ты мне ещё поможешь с радио в соседней теме =)


Текущее время: 17:34. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot