+1 to @rampion suggestions。我想執行簡單的重定向,但在頁面上尋找元素並不是非常有用,因爲我不想無意間重定向用戶。
反正,我用這個代碼安裝監聽器哪裏需要在用戶點擊特別href
一個鏈接,將重定向:
if (document.addEventListener){
document.addEventListener("click", function(event) {
var targetElement = event.target || event.srcElement;
// TODO: support deeper search for parent element with a href attribute
var href = targetElement.getAttribute('href') || targetElement.parentElement.getAttribute('href') ;
if (href && videoURLRe.test(href)) {
var target = "";
if (href.indexOf("/") == 0) {
target = "https://m.facebook.com" + href
} else {
target = href.replace("www.facebook", "m.facebook");
}
window.location.assign(target);
}
}, true);
}
作品整齊漂亮。我必須找出正確的第三個addEventListener參數,以便我的偵聽器在任何其他人之前執行。
對於完整劇本,看看https://greasyfork.org/en/scripts/8176-switch-to-mobile-version-on-facebook-video-page
我找不到任何方法來可靠地檢測URL的變化,無論使用該網站來改變URL的方法。 @andy-e的方法看起來很棒,但由於某種原因,對我而言並不適用。也許我無法正確地創建腳本@grant
標記。
這個問題可能是相關的。 http://stackoverflow.com/questions/3522090/event-when-window-location-href-changes – bronsoja