[ js ] Userscript只在特定tab执行与处理JS

楼主: denru01 (阿儒)   2015-01-25 16:19:01
因为标题的长度限制,
所以可能会看不太懂问题是什么,
让我来解释一下.
小弟目前在学习怎么写userscript,
用在chrome的tampermonkey上.
主要有两个问题:
1.我同时在不同的tab开一样的网站,
而我希望我的userscript只在某几个tab发生效果,
其它的tab就维持本来网站的特性.
目前的想法是,
加几个custom的按钮在网站上,
按下按钮后就启动function,
所以有按按钮的tab就会发生效用,
没有按按钮的tab就维持本来的样子.
但如果这是一个连续动作,
比方说网站会一直跳转,
我的userscript在不同跳转后的页面要执行不同操作,
这样的话, 等他跳转完就又要重新再点一次按钮.
所以想说是不是有办法抓到像是tab的ID,
把有按按钮的tab ID存下来,
等跳转后再看现在这个tab ID是不是有被启动这个功能,
再来在这个页面启动这个功能.
不知道大家有没有什么做法来处理这件事呢?
2.如何从userscript里去control本来页面有的javascript呢?
不是指injection,
而是比方说他会跳出alert,
然后会有个确认钮,
让你按了可以dismiss这个alert.
请问该怎么用userscript抓到这个alert的内容,
并且按下确定来dismiss这个alert呢?
谢谢!
作者: mmis1000 (秋月恋枫)   2015-01-25 17:23:00
1.在网址上动手脚,例如,把全部link加一个参数之类然后userscript看到有参数就启动,没有就无视2.用unsafeWindow 覆写掉 alert method,要是他给的跟你要挡掉的一样就直接return,如果不是就呼叫原本的alert1.http://jsbin.com/pajuwihttps://greasyfork.org/zh-TW/scripts/7694-example进选项按enable

Links booklink

Contact Us: admin [ a t ] ucptt.com