Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Я верю , Zenity сделает то, что Вы хотите. Это специально предназначено для отображения диалоговых окон GTK из командной строки, и это доступно как пакет Ubuntu .
Kdialog и диалоговое окно оба хороши, но я рекомендовал бы Zenity. Быстрый, легкий, и намного лучше выглядящий xmessage или диалоговое окно.
Существует также dialog
, и версия kdialog
. dialog
KDE используется slackware, таким образом, это не могло бы быть сразу доступно на других дистрибутивах.
Я нашел команда xmessage, которая является видом достаточно хороших.
Вот немного сценария Tcl, который сделает то, что Вы хотите. Интерпретатор Желания должен быть установлен по умолчанию на Ubuntu.
#!/usr/bin/wish
pack [label .msg -text [lindex $argv 0]]
pack [entry .ent]
bind .ent <KeyPress-Return> { puts [.ent get]; destroy . }
focus .ent
Вызов это как это:
myanswer=`gui-prompt "type your answer and press enter"`
Приложение zenity , похоже, именно то, что вам нужно.
Чтобы получить входные данные из zenity , вы можете указать переменную и сохранить в нее выходные данные zenity --entry . Это выглядит примерно так:
my_variable=$(zenity --entry)
Если вы сейчас посмотрите на значение в my_variable , это будет то же самое, что было введено в диалоговом окне ввода всплывающего окна zenity.
Если вы хотите дать какой-то вид спросите, что пользователь (или вы) должен ввести в диалоговом окне, добавьте переключатель - текст с нужной меткой. Выглядит это примерно так:
my_variable=$(zenity --entry --text="What's my variable:")
В Zenity есть много других хороших опций, предназначенных для конкретных задач, так что вы можете проверить и их с помощью zenity --help . Одним из примеров является параметр - календарь , позволяющий