FTPd.js работает под Opera 10.00 RC

Случайно обнаружил, что FTP-сервер, который я восемь лет писал на JavaScript (с использованием LiveConnect к Java) работает, оказывается под Opera 10 RC, которая вчера вышла. Интересно, что запрос к PrivilegeManager «Опера» понимает, но обрабатывает как-то неправильно.

LiveConnect — это придуманный фирмой Netscape для их браузера Netscape 4.xx (удобный) способ скрещивания различных плагинов и JavaScript, в частности, можно вызывать из JavaScript Java и наоборот. Насколько я понимаю, после смерти браузера Netscape, наследниками технологии LiveConnect стали FireFox (из-за того, видимо, что Netscape принимала участие в разработке Gecko) и Opera, по всей видимости, просто из-за того, что она поддерживает бинарные плагины Gecko.

А вот под новыми браузерами FireFox мой сервер не работает — не хватает полномочий. Мне, если честно, не хочется разбираться что там ещё надо запрашивать.

Комментарии 11

leotsarev.livejournal.com № 1
Надо отметить что LiveConnect будет выброшен в Fx 3.6
https://bugzilla.mozilla.org/show_bug.cgi?id=442399
Евгений Степанищев (bolknote.ru) автор № 2
Чёрт :) За что?
Евгений Степанищев (bolknote.ru) автор № 4
Комментарий для leotsarev.livejournal.com:

«Это всё старое, никто не понимает, потому выгасим». Мда, странная позиция.
rembish.livejournal.com № 5
Комментарий для Евгения Степанищева:

Скорее обычная ситуация. Кажется когда-то из IE выбросили gopher по той же причине.
Евгений Степанищев (bolknote.ru) автор № 6
Не совсем. В Gopher нашли уязвимость, а так как этим протоколом (почти) никто не пользуется, то его удалили.
olo-olo-lo (olo-olo-lo.ya.ru) № 7
Комментарий для Евгения Степанищева:

В плагинах нового поколения (Java >= 6 u 10) прямой вызов java из javascript (лайвконнект) работает в том числе в Internet Explorer. Но есть одно условие: первый раз нужно вызвать такой яваскрипт из апплета (java -> javascript -> java). Потом — откуда угодно в пределах страницы.

import java.applet.*;
import netscape.javascript.JSObject;

public class JavaJSJava extends Applet
{
public void start()
{
try {
JSObject window = JSObject.getWindow(this);
window.eval(«alert(new java.lang.String('Java from JS'))»);
}
catch (Exception e){}
}
}

Если б они знали правду о том, где «это» в основном используется, причина была бы другой…
Евгений Степанищев (bolknote.ru) автор № 8
Странно, в моём IE8 объект java из JS недоступен. Или он появится когда из Java вызовешь JS?
Евгений Степанищев (bolknote.ru) автор № 10

Комментарий для olo-olo-lo.ya.ru:

Ох, мама… Надо попробовать, спасибо! Время будет — поэкспериментирую, есть мысли.

Если б они знали правду о том, где «это» в основном используется, причина была бы другой…

А где это используется?

Евгений Степанищев (bolknote.ru) автор № 11
Комментарий для olo-olo-lo.ya.ru:

А… я почему-то думал, что надо просто дёрнуть любую функцию из JS на HTML-странице, а это просто вызов JS из Java и из того JS уже можно вызывать Java. Моя понимать :)