+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