我想要一个类似于bash脚本的东西,它位于并侦听,然后在我的浏览器中加载特定网页时运行脚本。我想知道这样的事是否可能,如果是的话,我该怎么做?在网页加载时运行命令行脚本
我在想这应该是可能的某种程度上。我在Mac上,在我的/etc/hosts
文件中,我可以指定应阻止特定的网站,例如“www.facebook.com
”。
所以简而言之。当我的电脑浏览器导航到网页时,是否(以及如何)运行bash脚本,例如“www.facebook.com
”?
我想要一个类似于bash脚本的东西,它位于并侦听,然后在我的浏览器中加载特定网页时运行脚本。我想知道这样的事是否可能,如果是的话,我该怎么做?在网页加载时运行命令行脚本
我在想这应该是可能的某种程度上。我在Mac上,在我的/etc/hosts
文件中,我可以指定应阻止特定的网站,例如“www.facebook.com
”。
所以简而言之。当我的电脑浏览器导航到网页时,是否(以及如何)运行bash脚本,例如“www.facebook.com
”?
更新回答
如果你想要做网站到预先定义的站点名称的一些匹配,然后说些什么,你的脚本应该是这样的:
#!/bin/bash
while :; do
site=$(osascript -e 'tell application "Safari" to return URL of front document')
if [[ $site =~ stackoverflow ]]; then
say "Stack overflow! A quality site"
fi
sleep 1
done
原始回答
您对使用的浏览器,页面是什么或想要做什么没有特别的了解,但此脚本坐在并观看Sa fari并询问您正在查看的页面并将其打印在终端中。显然,您可以修改它以检测某些页面,并在导航到它们时运行脚本。
#!/bin/bash
while :; do
osascript -e 'tell application "Safari" to return URL of front document'
sleep 1
done
把上面的在你的主目录下名为monitorSafari
文件。然后进入终端,输入下面的一次,使其可执行:
chmod +x monitorSafari
然后您可以通过双击它在Finder中运行它,或者通过在终端中输入
./monitorSafari
。它每秒打印一次您所在的页面。
酷,这看起来像一个很好的解决方案。我明天会试一试。如果它有效,我会标记为正确的。 – Tossel
您可以:
httpd
,lighttpd
...)(或使用预装httpd
)localhost:8080
)。例如,此脚本可以是PHP
脚本,用于调用bash
脚本或完成作业本身。尽管这可以通过cgi
完成。www.facebook.com
)到您的hosts
文件重定向URL请求localhost:8080
hosts
文件或安装dnsmasq
管理定制请求的重定向。
什么是您的浏览器?你很可能需要为此编写一个浏览器插件。 – anishsane
只是一个bash脚本不可能我猜.. – sjsam
我主要使用Safari,但有时不得不使用Chrome工作。 – Tossel