我正在使用uzbl-browser作为自助服务终端计算机。当用户打开某个URL时,我想向我的uzbl-browser的实例发送“close”(或kill)。什么是最好的方式?
答案 0 :(得分:1)
我的目标不是那样。 我有一个调查,我会在退出前显示它。如果用户关闭它然后注销。否则请等到调查的最后一页(通过“某个网址”识别)并关闭uzbl并注销 我的解决方案是。
将此添加到配置文件
@on_event LOAD_FINISH spawn @scripts_dir/survey_end_check.sh
并在我的survey_end_check.sh
中#!/bin/sh
if [ $UZBL_URI = "http://yoururl" ];
then
sleep 5
echo "exit" | socat - unix-connect:$UZBL_SOCKET
fi
变体,以便在最终页面中找到广告某些字符串。 在grep之后,$?如果grep成功,则为0
#!/bin/sh
end=`echo "@<document.getElementsByClassName('success')[0].innerText>@" | socat - unix-connect:$UZBL_SOCKET | grep -q 'Success!'; echo $?`
if [ $end -eq 0 ];
then
sleep 5
echo "exit" | socat - unix-connect:$UZBL_SOCKET
fi
答案 1 :(得分:0)
如果我是该计算机上的用户并且没有任何窗口,浏览器,请在没有警告的情况下自行关闭我认为应用程序崩溃并再试一次。
强迫用户使用该行为可能不是最具信息性的选择。
您要查看的内容是可以过滤内容的透明代理。这就是大多数公司限制其员工访问某些页面的方式。
Squid是通常用于此的代理解决方案的一个示例,通常与SquidGuard一起设置。 This guide会让你开始。
或者,您也可以使用DNS解决方案将所有筛选的主机名重定向到给定页面。 DansGuardian在这里是可能的。
对stackoverflow的搜索也会给你答案,因为有几个用户已经提出了类似的问题。