Пытаюсь переделать один userJS для оперы.
Почему-то не закачивается торрент файл скриптом с torrents.ru.
Вот код, минимизированный (только самое необходимое для получения ошибки).
// ==UserScript==
// @include http://torrents.ru/forum/viewtopic.php*
// ==/UserScript==
document.addEventListener(
'load',
function (e) {
//alert('message');
document.evaluate(
'//div[@class="mrg_4 pad_4"]',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null).snapshotItem(0).innerHTML += "<br/>Количество пиров на retracker.psihaven.com: <span id='retracker_peers'><a href='javascript:getPeersCount()'>Получить</a></span>";
},
false
);
window.getPeersCount = function() {
window.$('#retracker_peers').html("Запрос количества пиров...");
url = window.$('a[@class="dl-stub dl-link"]').attr('href');
alert(url);
xmlhttp = new XMLHttpRequest();
// xmlhttp.overrideMimeType('text/plain; charset=x-user-defined');
xmlhttp.open('GET', url, true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
alert(xmlhttp.responseText.length);
// ...
}
}
}
xmlhttp.send(null);
}
Файл целиком никогда не закачивается.
От полукилобайта до 2 закачивается и все.
В firefox 3 нормально.
PS: В опере "Инструменты — Настройки — Дополнительно — Содержимое — Кнопка 'Настройть JavaScript' — Указать папку пользовательских скриптов".
В эту папку положить код в файле *.js.
Зайти на страницу
http://torrents.ru/forum/viewtopic.php?t=1616783 . Подождать загрузки и под списком пиров нажать ссылку получить.
Получается, что никогда 14 килобайт (размер торрента) не получается.
На operafan спрашивал. Ни ответа, ни привета.
Может здесь кто подскажет, всеж к веб программированию вопрос относится.
Традиционный вопрос. Что делать?
... << RSDN@Home 1.2.0 alpha 4 rev. 1125>>
Мне кажется запрос верным, тем более что работает в других браузерах. Могу только посоветовать проверить.. Используй ссылку на локальный текстовый файл, если и он возьмётся не верно, возможно у тебя криво поставилась опера.. иначе проблема на этапе получения данных с сервера..
Здравствуйте, Jyk, Вы писали:
Jyk>Мне кажется запрос верным, тем более что работает в других браузерах. Могу только посоветовать проверить.. Используй ссылку на локальный текстовый файл, если и он возьмётся не верно, возможно у тебя криво поставилась опера.. иначе проблема на этапе получения данных с сервера..
Поэкспериментировал.
Ссылка на локальный файл не катит, ибо невозможны запросы с XMLHttpRequest меж разными доменами.
Я попробовал в качестве урла подставлять адрес какой-либо страницы с торрентс.ру.
Получает правильный размер.
А вот с торрент файлом всегда неправильный.
Читал описание XMLHttpRequest — вроде бы должен работать с бинарными данными.
Проблема в опере, но не конкретно в моей. Везде так.
Почему? Как обойти?
... << RSDN@Home 1.2.0 alpha 4 rev. 1125>>