LINUX.ORG.RU

Сообщения Ritz

 

Чтение текстового файла из JavaScript

Форум — Web-development

Я делаю файлик html, через который можно будет смотреть видео на YouTube. Идея очень простая.

1. Пишем (вручную) в файлик videos.txt идентификаторы видео с YouTube
2. Запускаем файлик videos.html, который загружает videos.txt в iframe.
3. Скрипт читает имена видео и через document.write формирует страницу превьюшек.

В общем, в FireFox и на localhost всё работает. А с Internet Explorer и с удалённым сервером есть нюансы.

Internet Explorer ругается на innerHTML, более конкретно, на вот эту строчку (Ошибка: требуется Объект):

var VdDt = document.getElementById('videos').contentWindow.document.body.innerHTML;

Удалённо же не грузится вообще ничего, как будто Апач не позволяет прочесть текстовый файлик.

После часа гугленья выяснил, что с innerHTML бывает куча проблем, но все они связаны не со считыванием, а, наоборот, с записью в innerHTML.

Что ещё можно проверить? Или, возможно, есть более простые способы считать файлик из JavaScript?

На всякий случай, вот код целиком:

--- Начало кода ---
<html>
<head>
<title>Видео</title>
<meta http-equiv=«Content-Type» content=«text/html; charset=windows-1251»>
<link rel=«stylesheet» href=«aoa.css» type=«text/css»>
</head>

<body>
<!-- Грузим список видео (из файла videos.txt) -->
<iframe src='videos.txt' name='videos' frameborder='0' width='0' height='0' id='videos'></iframe>

<script type=«text/javascript»>
// Грузим список, удаляем комментарии и лишние строки, нарезаем в массив
var VdDt = document.getElementById('videos').contentWindow.document.body.innerHTML;
VdDt = VdDt.replace(/(<\/?pre>|[ \r])/g, ");
VdDt = VdDt.replace(/(#.*)/g, ").replace(/(.*[^-_\w\n].*)/g, ").replace(/\n(?=\n)/g, ").replace(/((^\n)|(\n$))/g, ");
var VdLst = VdDt.split('\n');

// Выводим видео в две колонки, ширина превьюшек 400х300
document.write('<div align=«center»>\n<div style=«position: relative; width: 900;»>\n');
for (i=0;i<(VdLst.length);i++){
document.write ('<div style=«position: absolute; left: ' + ((i%2)*500) + '; top: ' + (100 + (Math.floor(i/2))*400) + ';»>\n');
document.write ('<object width=«400» height=«300»><param name=«movie» value="http://www.youtube.com/v/' + VdLst[i] +

'&hl=ru_RU&fs=1&«></param><param name=„allowFullScreen“ value=„true“></param><param name=„allowscriptaccess“ value=„always“></param><embed

src=»http://www.youtube.com/v/' + VdLst[i] + '&hl=ru_RU&fs=1&" type=«application/x-shockwave-flash» allowscriptaccess=«always»

allowfullscreen=«true» width=«400» height=«300»></embed></object><br><br>\n\n');
document.write ('</div>');
}
document.write('</div></div>');
</script>

</body>
<html>
--- Конец кода ---

Ritz
()

Печать HTML: ландшафт

Форум — Web-development

Мне нужно распечатать из HTML большую картинку. Суть такова.

Есть шаблон накладной (gif 1500x1000). Я наклеиваю на него через «position: absolute» нужные данные: номер накладной, цену и так далее. Получившуюся аппликацию я хочу распечатать.

Проблема в том, что браузер печатает картинку, во-первых, в портретном режиме, а во-вторых со своими футерами-хедерами, типа «страница 2 из 2».

Можно ли как-то объяснить браузеру, что печатать нужно только картинку, в режиме «ландшафт»? Пока нашёл вот такой рецепт:

@page { size: landscape; margin: 2cm;}

Но он ничего не меняет. Печатается по-прежнему «портрет».

Ritz
()

Как запустить программу в «фоновом режиме»?

Форум — General

Как запустить программу в «фоновом режиме», чтобы потом продолжать работать в командной строке?

Сейчас, например, я набираю «gedit», открывается gedit и блокирует мне собой командную строку, пока я его не закрою. Это неудобно: приходится открывать ещё один терминал, снова ползти в нужную папку...

Я предполагаю, можно набрать что-нибудь типа run_new gedit?

(Извините, если вопрос уже задавался: выгуглить ответ не смог, так как на «фоновый режим» и «new» и тому подобные слова вылезает разный мусор).

Ritz
()

Синхронизация папок через TCP-IP

Форум — Web-development

Нужно раз в минуту синхронизировать две папки: одна на сервере под Linux, вторая — на сервере под Windows. Связь через TCP-IP, при этом сервер под Windows внешнего IP не имеет.

Я собираюсь запустить под Linux простенький CGI-скрипт, который будет отдавать и принимать файлы по удалённому запросу. Под Windows, соответственно, будет раз в минуту запускаться программа, которая будет сравнивать содержимое папок и перекачивать туда-сюда файлы.

Годный ли я избрал способ или, возможно, есть более простые и правильные решения?

Ritz
()

Таблица и автоподсчёт итогов в JavaScript

Форум — Web-development

У меня на сайте посетителю показывается таблица. Я хочу, чтобы когда он меняет в ней циферки, автоматически менялась цифра итогов.

Собираюсь для этого класть таблицу в кучу переменных вида

var line13 = [«1», «12», «43»];

А потом при каждом изменении вызывать функцию, которая будет подсчитывать сумму строчки и сумму всех строчек.

Правильно ли я делаю, или есть какой-нибудь другой, более православный способ?

Ritz
()

Как установить Proftpd 1.3.2 под Ubuntu?

Форум — General

Пытаюсь установить на Ubuntu 8.10 ProFTPd, который будет поддерживать русские буквы. По apt-get install proftpd ставится версия 1.3.1, которая русских букв не поддерживает.

Попробовал скачать исходники 1.3.2, однако после выполнения указанных в файле «INSTALL» манипуляций наткнулся на неработающее proftpd: после выполнения /etc/init.d/proftpd start не происходит ровным счётом ничего, даже никаких ошибок не пишется.

Значит ли это, что я не выполнил всех инструкций в INSTALL, или, возможно, есть ещё какой-нибудь способ установки?

Ritz
()

Как запретить браузеру автозаполнять пароль?

Форум — Web-development

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

<input type='password' name='user-1837' value='ostavit-stariy' size='15'>

Проблема в том, что подлый браузер автоматически подставляет в это поле пароль пользователя. Как объяснить браузеру, что трогать это поле его никто не просит?

Или вариантов нет, и мне надо придумать какой-нибудь другой метод смены пароля?

Ritz
()

Перекодировка MySQL дампа

Форум — Web-development

У меня есть трёхсотметровый дамп MySQL, который был по какой-то причине выгружен с путаницей в кодировках.

Я собираюсь отпарсить этот файл скриптом и автоматически поправить везде кодировки на CP1251, при необходимости перекодируя текст из UTF8.

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

Ritz
()

Audigy2 не работает под Ubuntu 8

Форум — Linux-hardware

Есть карта: Creative SB X-Fi Xtreme Audio 7.1 PCI-eX (SB1040). Есть Ubuntu: Linux version 2.6.24-26-generic (buildd@vernadsky) (gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3))

Под XP звук работает нормально, когда перегружаюсь под Ubuntu — работать не хочет. В Интернетах нашёл несколько описаний этой проблемы, потратил несколько часов на эксперименты, результат — нулевой. Звука нет.

Регулятор громкости выглядит как громкоговоритель с красным значком, при щелчке на него пишет «Модули GStreamer и/или устройства регулировки громкости не найдены».

В «параметрах звука» пробовал как ALSA, так и остальные варианты.

Что ещё можно попробовать?

Ritz
()

SSH: Долгая пауза перед паролем

Форум — Security

Когда соединяюсь с Ubuntu машиной через ssh, после ввода имени пользователя и нажатия Enter идёт пауза в 25 секунд. Раньше такого не было.

Что это значит? Кто-то пытался залогиниться ко мне через SSH и перебирал пароли? Или просто SSH внезапно решил увеличить паузу?

Можно ли где-нибудь посмотреть логи -- кто пытался подсоединиться и с каким успехом?

Ritz
()

Чем смотреть свои POST-запросы в Ubuntu?

Форум — Web-development

Мне нужно автоматически читать веб-страницы с сервера. Проблема в том, что для просмотра нужной страницы надо сгенерировать POST-запрос, а запросы генерируются очень запутанные (Crystal Reports, да). В качестве примера: для перехода на следующую страницу в запросе передаётся примерно 6 килобайт данных.

Однако когда я передаю серверу точно такой же запрос не через браузер, а напрямую, из моей программы -- получаю в ответ ошибку.

Чтобы понять, что я делаю не так, я хочу посмотреть, как точно выглядит POST-запрос, который FireFox передаёт на сервер. Делаю это через FireBug. Но... FireBug показывает данные не в виде голого текста, а уже обработанные, в виде таблицы.

Есть ли под Ubuntu что-нибудь типа оконного Fidler, чтобы посмотреть голый текст передаваемого запроса? Мне хочется, чтобы он был примерно в таком виде:

1. POST /CrystalReports/report HTTP/1.1
2. Host: www.gz-spb.ru
3. Content-Type: application/x-www-form-urlencoded
4. Content-Length: 5913
5. Referer: http://www.gz-spb.ru/CrystalReports/report?report=pr_auct_rating.rpt&para...
6. Cookie: JSESSIONID=785F6411E0A8AAAF6601436963389D44
7. Connection: close
8.
9. CrystalCompositeViewState=CrystalViewerCrystalForm...
...

Ritz
()

RSS подписка на новые темы