2013-12-12 4 views
0

Приносим извинения, если этот вопрос кажется глупым.Сценарий BASH CGI - как закрыть веб-страницу

У меня есть сценарий BASH, хранящийся в каталоге cgi-bin. Сценарий вызывается через окно браузера. В URL-адрес входит пара аргументов query_string, а сценарий выводит файл .html. Все работает так, как должно. Есть ли способ закрыть окно браузера после завершения работы скрипта? Может ли сценарий даже понадобиться, чтобы браузер оставался открытым для того времени, в котором он работает?

Использование unix/Apache/Samba. Веб-экземпляр запускается из Windows 7.

Спасибо.

ответ

0

Итак, я решил эту проблему с простым перенаправлением stdout после того, как был создан выходной файл html, и некоторый базовый html, чтобы закрыть окно браузера.

exec 3>&1 4>&2 
exec > output.html 

echo "my html stuff" 

exec >&3 2>&4 

echo "Content-type: text/html" 
echo "" 
echo "<html><head><title>Close browser</title>" 
echo "<script type='text/javascript'>" 
echo "window.open('', '_self', ''); window.close();" 
echo "</script></head><body>" 
echo "</body></html" 

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

Смежные вопросы