MozTW 討論區
https://forum.moztw.org/

關於 greasemonkey 的問題
https://forum.moztw.org/viewtopic.php?f=11&t=15301
1 頁 (共 1 頁)

發表人:  neoesque [ 2006-08-21, 08:57 ]
文章主題 :  關於 greasemonkey 的問題

就是我發現 greasemonkey 的 script 套用時間總是在網頁讀取完
Firefox show 出完整頁面之後
有任何辦法可以把 script 套用的時間挪前嗎?

比方說等到 greasemonkey 套用完之後在 show 出整個頁面~
有這種 extension 嗎? 或手段可以使用嗎?

因為小弟最近再跟學校作戰xd
一切起因是成大網路選課系統
http://course.ncku.edu.tw/course/

他裡面用了 IE only 的語法,如下:

代碼:
if(!window.showModalDialog){
   alert("為了選課公平起見 , 同學僅可使用支援【網頁對話】之瀏覽器 ex: MSIE \n煩請見諒");
   window.location.href = 'logout.php';
   window.open('http://www.ncku.edu.tw','_SELF');
   //window.close();
}


(window.showModalDialog 是 IE only 的語法
學校的理由是騙人的~)

我的 script 就是把 這段文字拿掉
不過他套用的時間是在讀取之後
結果就會先跳出 alert 然後就轉址了 = =
那樣根本沒用 QQ

所以有辦法把 script 套用時機移到顯示之前嗎
換句話說 或者有辦法把顯示時機移到script套用之後嗎

又或者版上的強者
有辦法破解這道語法嗎
因為學校很故意就是不要讓使用者使用非 IE 的瀏覽器
看了就很不爽 決定要跟學校抗爭~
只要破解這道牆 內部的也都一樣
而且其實內部網頁選課語法是可以用 Firefox 的
就只是學校單純不想要讓 Firefox 選課
真夠機車的
強者大眾們xd
給點意見吧 ^^ 感激

發表人:  Ada [ 2006-08-22, 17:57 ]
文章主題 : 

好像沒辦法,應該是說那種 script 在網頁 HTML code 一讀完的情形下就馬上生效了...

我也想攔截這種東西,最後放棄了... :(

即使使用 window.stop() 也不能阻止 script 的啟動!

發表人:  neoesque [ 2006-08-22, 18:58 ]
文章主題 : 

恩 今天下午在 google 時

突然 goo 到一個可行的方法

小試了一下

還真的可以 = =||

不過不確定每台電腦都可以

而且因為現在選課系統關閉

說是要因應明天的大一新生選課"衝擊"

(看來學校好像真的很怕 = =+)

所以等明天選課系統再度開放時

我在 PO 出我的修正方法~

發表人:  blackcat [ 2006-08-22, 21:52 ]
文章主題 : 

小弟我是某學院電算中心的成員

但並不是管理或發展這方面系統的

不過有協助過....

我只是想說 或許你們會覺得 學校今天這樣很機車

只使用IE ONLY的網頁語法

老實說 我也不喜歡這樣

但是學校有學校的考量 並不是你們學生想怎麼搞就怎麼搞

我想對於這樣不滿的同時 可以理性的去反應

而不是私下搞一些程式

這樣只會變成下次學校再築更高更厚的牆

當然 儘可以去把這當成挑戰 但這對你我想不會有什麼樣的好處

發表人:  neoesque [ 2006-08-23, 08:09 ]
文章主題 : 

blackcat 寫:
小弟我是某學院電算中心的成員
但並不是管理或發展這方面系統的
不過有協助過....
我只是想說 或許你們會覺得 學校今天這樣很機車
只使用IE ONLY的網頁語法
老實說 我也不喜歡這樣
但是學校有學校的考量 並不是你們學生想怎麼搞就怎麼搞
我想對於這樣不滿的同時 可以理性的去反應
而不是私下搞一些程式
這樣只會變成下次學校再築更高更厚的牆
當然 儘可以去把這當成挑戰 但這對你我想不會有什麼樣的好處


可能你不知道來龍去脈 所以會這樣說

在 8/16 當時是我們第二階段選課

所謂的第二階段就是 "搶課"

搶通識 搶英文 搶外系的選修課 因此對學生很重要不是嗎?

以前是紙本選課 問題幾乎沒有

在 8/15 號晚上 10:00 我最後上去選課系統逛逛時 還沒有杜絕非 IE 用戶 後來我就去睡覺了

在 8/16 號早上 8:00 醒來連上系統時 發現... 他們已經把非 IE 的用戶拒絕了 不過當時還可以連上系統而不被踢出去
因為語法還沒寫完吧

但是在 8:40 分時... 他們會把非 IE 用戶踢出系統

這是多麼可惡的一招...

於是我就在 8:50 分打電話去選課管理系統人員

說我是用 Mac 的用戶 手邊沒有 IE 的工具也沒有裝載 Windows 的電腦之類的"請願"

結果他冷冷回了一句 "那你可以來計中這邊選"

我家在高雄... 我就對他們很失望

爾後當然還是要想辦法進去

幸好當時他們的語法很簡便 跟外面一般的一樣 只檢查 App Ver 有沒有MSIE 這四個字

因此我就用 User Agent Switcher 把他破了

並且發表在網路上(成大的 BBS -- 夢之大地)

不過後來幸好選課系統自己當機

九點開始選課 九點就馬上當 計中說是瞬時連線數太多

然後就說因為有人用 Firefox 開多分頁才會當的話

事實上... 有關係嗎 學校只是要強加一個罪名

後來大概是 User Agent 的文章被學校發現(學校有在看意見反應)

三天後 8/19 號晚上 他們又改了語法

就是我最上面的那篇語法

試圖利用 Firefox 不認識的語法來讓 Firefox user 不能使用

事情經過大概就是這樣...

在 8/16 ~ 8/19 號期間 我們幾個成大的 Firefox or Mac OS user 曾經寄信給學校~ 叫學校再度開放...

BUT 你看到的結果... 就是學校變本加厲

我認識的學弟有個是學生會的幹部 他們在 8/16 號當天早上就有去教務處親自反應 結果依然 NO USE 因為學校說要等開完 公聽會 才能在規劃 公聽會定在開學後 選課早截止了...

唉 這就是官方阿...

所以我才極力想要找方法

絕對不是想要跟學校反抗

只是已經好言相勸了

他們依然不尊重 Mac OS X or Linux 用戶(我只工作在 Mac 跟 Linux 底下)....

那我只好...

發表人:  yuoo2k [ 2006-08-23, 10:31 ]
文章主題 : 

學校不支援學生使用 MSIE 之外的瀏覽器的本意,如果真的是為了打壓 MacOS、Firefox 等用戶...
標題 "某知名大學網路選課系統鄙棄 MacOS、Linux 用戶..." 出現在各大媒體上的話學校會很熱鬧~

但我有另一種看法...
可能貴校真的發現利用 Firefox 上的某些特異功能,可以搞出某些能夠影響選課公平性的問題,
但是因選課時程在即、來不及完善的進行修改測試、選課亦無法延宕,所以才如此禁止...

以校方的立場,既然知道這個問題嚴重到可能影響選課公平性,當然不能明講、對外說法只能含糊帶過...
免得引起更多人去嘗試踹出這個BUG、那對大家都沒好處。
事情要是爆大的話,例如學生間已經流傳能使用這個BUG來讓自己選課優勢增加,導致有人提出異議...
最壞的情況,也許可能讓今年的網路選課作業宣告失敗,全部回歸手動選課、校務時程因此全部被迫延宕。
校方應該最不希望看到的結果就是這樣...

當然如果事情真相是因為這樣,你可以說校方鴕鳥心態,
但換個角度來想,如果自己是負責這件事情的校方人員,是否也有可能做出如今天限用MSIE一樣的決定?

因此不管最後結果如何,你們應該督促校方下次選課系統能夠完善點,不要再有這些問題...
這樣對於解決這整件事情可能會比較正面點。

發表人:  pool [ 2006-08-25, 11:55 ]
文章主題 : 

neoesque 寫:
恩 今天下午在 google 時

突然 goo 到一個可行的方法

小試了一下

還真的可以 = =||

不過不確定每台電腦都可以

而且因為現在選課系統關閉

說是要因應明天的大一新生選課"衝擊"

(看來學校好像真的很怕 = =+)

所以等明天選課系統再度開放時

我在 PO 出我的修正方法~


請問可以 PO 出方法了嗎?
很好奇如何能夠讓 greasemonkey 的 script 在網頁讀取完之前就立刻套用

發表人:  neoesque [ 2006-08-25, 21:17 ]
文章主題 : 

引言回覆:
請問可以 PO 出方法了嗎?
很好奇如何能夠讓 greasemonkey 的 script 在網頁讀取完之前就立刻套用


阿~冏rz.. 其實我不是讓 GM 在讀取之前套用 = =

因為那個目前好像真的無解 >"<

聽開發人員說是 Firefox 存在的一個Loading Bug

我是找出讓學校選課系統的 script 部份失效

原理是利用 capability.policy

利用這個使用者偏好設定功能 可以設定某某網站的那些 script 要 block

發表人:  pool [ 2006-08-29, 15:10 ]
文章主題 : 

neoesque 寫:
引言回覆:
請問可以 PO 出方法了嗎?
很好奇如何能夠讓 greasemonkey 的 script 在網頁讀取完之前就立刻套用


阿~冏rz.. 其實我不是讓 GM 在讀取之前套用 = =

因為那個目前好像真的無解 >"<

聽開發人員說是 Firefox 存在的一個Loading Bug

我是找出讓學校選課系統的 script 部份失效

原理是利用 capability.policy

利用這個使用者偏好設定功能 可以設定某某網站的那些 script 要 block


請問 capability.policy 下的子參數要用什麼才能 block "特定" script ?

發表人:  neoesque [ 2006-08-30, 15:35 ]
文章主題 : 

pool 寫:
請問 capability.policy 下的子參數要用什麼才能 block "特定" script ?


比方說你不允許 window.close();

那就用 user_pref("capability.policy.nckusucks.Window.close", "NoAccess");

去 block 他 nckusucks 是 policy name~

換句話說 capability.policy.%policyname%.+想擋的 script 語法

即可 至於擋的語法就是參照DOM 分析出來的語法~

像 alert() -> .Window.alert

發表人:  pool [ 2006-08-31, 21:12 ]
文章主題 : 

neoesque 寫:
pool 寫:
請問 capability.policy 下的子參數要用什麼才能 block "特定" script ?


比方說你不允許 window.close();

那就用 user_pref("capability.policy.nckusucks.Window.close", "NoAccess");

去 block 他 nckusucks 是 policy name~

換句話說 capability.policy.%policyname%.+想擋的 script 語法

即可 至於擋的語法就是參照DOM 分析出來的語法~

像 alert() -> .Window.alert


感謝您的說明,還有一個疑問就是 "No Access",這個參數是不管前面用了任何參數,都一概套用嗎? 還是有其他的 value ?

發表人:  neoesque [ 2006-09-02, 10:12 ]
文章主題 : 

pool 寫:
neoesque 寫:
pool 寫:
請問 capability.policy 下的子參數要用什麼才能 block "特定" script ?


比方說你不允許 window.close();

那就用 user_pref("capability.policy.nckusucks.Window.close", "NoAccess");

去 block 他 nckusucks 是 policy name~

換句話說 capability.policy.%policyname%.+想擋的 script 語法

即可 至於擋的語法就是參照DOM 分析出來的語法~

像 alert() -> .Window.alert


感謝您的說明,還有一個疑問就是 "No Access",這個參數是不管前面用了任何參數,都一概套用嗎? 還是有其他的 value ?


可以舉例嗎 @@

不然自己試看看 XD

其實一共有三種參數 一個是 allAccess, NoAccess, 另一個忘了
要去察看看 >"<

發表人:  pool [ 2006-09-04, 14:42 ]
文章主題 : 

neoesque 寫:
pool 寫:
neoesque 寫:
pool 寫:
請問 capability.policy 下的子參數要用什麼才能 block "特定" script ?


比方說你不允許 window.close();

那就用 user_pref("capability.policy.nckusucks.Window.close", "NoAccess");

去 block 他 nckusucks 是 policy name~

換句話說 capability.policy.%policyname%.+想擋的 script 語法

即可 至於擋的語法就是參照DOM 分析出來的語法~

像 alert() -> .Window.alert


感謝您的說明,還有一個疑問就是 "No Access",這個參數是不管前面用了任何參數,都一概套用嗎? 還是有其他的 value ?


可以舉例嗎 @@

不然自己試看看 XD

其實一共有三種參數 一個是 allAccess, NoAccess, 另一個忘了
要去察看看 >"<


那第三種參數是不是介於 allAccess 和 NoAccess 之間,可以指定 site or domain ?

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/