Подтвердить что ты не робот

Консольный интерфейс на веб-странице с помощью javascript

Мне очень нравится MySQL mysql cli tool, и мне не нравится phpMyAdmin. [IMHO] Это приятная вещь для пользователя Windows, но это не так хорошо, когда вы использовали консоль. [/IMHO].

Я хочу создать веб-страницу, содержащую элемент с консольным входом (например, что-то вроде this), который должен получить информацию от пользователь, отправьте его на PHP script в фоновом режиме и сообщите обратный ответ.

Выполняется back-end script (это была самая легкая часть), но я не могу найти библиотеку для JavaScript, реализующую консольный ввод.

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

Любые идеи о такой библиотеке JS?

4b9b3361

Ответ 2

есть shellinabox - терминал javascript.

EDIT:

Существует также библиотека xterm.js, которая является настоящим эмулятором терминала.

ОБНОВЛЕНИЕ 2 Моя библиотека jQuery Terminal полезна, когда вам нужно нестандартное поведение, и вы можете написать свой код в JS или в виде внутреннего кода, но для внутреннего интерфейса нужен простой ввод → вывод, если вы хотите запускать интерактивные внутренние команды, такие как vi или emacs, которые вам нужны Правильно, для этого лучше использовать xterm.js (или реализовать это в JavaScript) для любого другого использования Терминала jQuery. У него много функций, и вам не нужно запускать процессы на сервере (прослушивать порт), что иногда запрещено на общих хостингах или страницах GitHub.

Ответ 3

вместо console.log() используйте document.write()

Он будет писать текст на веб-странице, как только console.log будет в консоли

Ответ 4

Я создал консольную библиотеку под названием Простая консоль (я, вероятно, переименую ее, потому что simple-console берется на npm)

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

var handleCommand = (command)=> {
    var req = new XMLHttpRequest();
    req.addEventListener("load", ()=> {
        con.log(req.responseText);
        // TODO: use con.error for errors and con.warn for warnings
        // TODO: maybe log a table element to display rows of data
    });
    // TODO: actually pass the command to the server
    req.open("GET", "mysql.php");
    req.send();
};
var con = new SimpleConsole({
    handleCommand,
    placeholder: "Enter MySQL queries",
    storageID: "mysql-console"
});
document.body.appendChild(con.element);

За дополнительной информацией обратитесь к документации на GitHub.