[ js ] Userscript只在特定tab執行與處理JS

看板Ajax作者 (阿儒)時間10年前 (2015/01/25 16:19), 編輯推噓1(106)
留言7則, 1人參與, 最新討論串1/1
因為標題的長度限制, 所以可能會看不太懂問題是什麼, 讓我來解釋一下. 小弟目前在學習怎麼寫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呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.70.45 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1422173944.A.BA6.html

01/25 17:23, , 1F
1.在網址上動手腳,例如,把全部link加一個參數之類
01/25 17:23, 1F

01/25 17:23, , 2F
然後userscript看到有參數就啟動,沒有就無視
01/25 17:23, 2F

01/25 17:25, , 3F
2.用unsafeWindow 覆寫掉 alert method,要是他給的跟你
01/25 17:25, 3F

01/25 17:25, , 4F
要擋掉的一樣就直接return,如果不是就呼叫原本的alert
01/25 17:25, 4F

01/25 23:25, , 5F
01/25 23:25, 5F

01/25 23:37, , 7F
進選項按enable
01/25 23:37, 7F
文章代碼(AID): #1KnARukc (Ajax)
文章代碼(AID): #1KnARukc (Ajax)