[ 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