在某些网址上关闭uzbl-browser

时间:2014-03-12 12:07:06

标签: browser user-input

我正在使用uzbl-browser作为自助服务终端计算机。当用户打开某个URL时,我想向我的uzbl-browser的实例发送“close”(或kill)。什么是最好的方式?

2 个答案:

答案 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的搜索也会给你答案,因为有几个用户已经提出了类似的问题。