[找到解决方法]有无扩展可以让Firefox在某个网页加载完成后通知我?

上网、浏览、聊天、下载等
回复
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

[找到解决方法]有无扩展可以让Firefox在某个网页加载完成后通知我?

#1

帖子 科学之子 » 2017-03-29 22:19

有无扩展可以让Firefox在某个网页加载完成后通知我?
某些网站访问起来很卡很卡,希望可以在等待网页时做些别的事情
然后等网页加载完成后提示我
比如访问本论坛时...
安装这个扩展就可以允许JS运行特定命令了:
https://addons.mozilla.org/en-US/firefo ... ommandrun/
感谢2,4楼提示
上次由 科学之子 在 2017-04-09 17:05,总共编辑 2 次。
头像
Hello World!
帖子: 3051
注册时间: 2008-06-23 15:19
系统: ���������
来自: 北欧某国
联系:

Re: 有无扩展可以让Firefox在某个网页加载完成后通知我?

#2

帖子 Hello World! » 2017-04-07 19:27

如果动手能力强的话,可以写个greasemonkey脚本,不太难的。
http://noie.name 网站改版中。
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 有无扩展可以让Firefox在某个网页加载完成后通知我?

#3

帖子 科学之子 » 2017-04-08 20:13

Hello World! 写了:如果动手能力强的话,可以写个greasemonkey脚本,不太难的。
但这里有一个特殊要求,希望可以调用本地程序进行提醒,JS脚本好像不行
头像
AutoXBC
帖子: 1744
注册时间: 2007-10-23 12:54

Re: 有无扩展可以让Firefox在某个网页加载完成后通知我?

#4

帖子 AutoXBC » 2017-04-09 0:06

显示系统级的通知,可以用 Notification,即使页面处于后台一样有效
https://developer.mozilla.org/zh-CN/doc ... ifications

如果觉得 js 的功能有限,受制于前端的权限控制,无法做系统级的操作,一个可行的方法是把前端和后端搭配起来用。在本地搭建 nodejs 环境,监听一个端口,用来和 userjs 通信,那么完全可以在 js 里执行系统命令,没有任何限制。

比如 js 一般是不能获得 http header 的(少数情况可以),那我们怎么得到某个 url 的重定向地址?

1. 在本地或者路由上搭建 web server,比如简单的 OpenWrt + Lighttpd,地址是 192.168.1.1:8080,写个 cgi 脚本 redirect.sh

代码: 全选

#!/usr/bin/haserl
content-type: text/plain

<% curl -I $QUERY_STRING | awk '$1=="Location:" {print $2}' | tr -d '\n' %>
此时访问 http://192.168.1.1:8080/cgi/redirect.sh?http://163.com,就会得到 http://www.163.com

2. 在自己的用户脚本里添加函数

代码: 全选

function _getRDT(uri)
{
	return "http://192.168.1.1:8080/cgi/redirect.sh" + "?" + uri ;
}
3. 封装一个可以跨域的 ajax 方法,比如 Opera 的 BeforeScript 事件,或者 Firefox 的油猴。此方法不和上一步的 _getRDT 耦合,因为这是个很有用的通用函数。

4. ajax 是自己封装好的跨域函数,第二个参数是回调函数

代码: 全选

ajax(  _getRDT(uri) , function(raw){
	console.log(raw);
} );
这样就拿到了重定向的地址,一个小例子,为的是说明前端搭配后端可以做很多事情。如果用 nodejs 的话,恐怕没有什么是用户脚本做不到的。
头像
kexul
帖子: 72
注册时间: 2013-03-04 13:34
系统: ubuntu 15.10
来自: 武汉

Re: [找到解决方法]有无扩展可以让Firefox在某个网页加载完成后通知我?

#5

帖子 kexul » 2017-04-11 14:48

回复