0
好吧,我是一名貿易SQL程序員,但我試圖找出一個(據說)簡單的greasemonkey javascript,從其他很多在這裏找到的例子拼湊在一起。Javascript on YouTube Video Change
基本上,我想檢查當前的視頻用戶對陣「好」用戶。如果他們在列表中找到,沒問題;如果它們不是,則將該頁面重定向回youtube.com。我有腳本處理第一個視頻播放,但是當通過鏈接選擇另一個視頻時,文檔對象似乎並未加載,或者getElementByClassName未找到任何內容並返回「未定義」。
這是迄今充分的GreaseMonkey腳本:
// ==UserScript==
// @name YouTube Limit To Users
// @namespace http://userscripts.org/users/23652
// @include https://www.youtube.com/watch
// @version 1
// @grant GM_getValue
// @grant GM_setValue
// ==/UserScript==
var goodYoutubers=["Sqaishey Quack", "Graser10", "Good Mythical Morning"];
window.onload = DoCheckForUser();
function youtubePageChange()
{
DoCheckForUser();
$('body').on('transitionend', function(event)
{
if (event.target.id != 'progress') return false;
DoCheckForUser();
});
}
$(youtubePageChange);
function DoCheckForUser() {
var y = document.getElementsByClassName('yt-user-info');
var aNode = y[0]; //<<< this goes "undefined"
var currentUser = aNode.textContent.trim();
alert(currentUser);
var indexUser = goodYoutubers.indexOf(currentUser);
if (indexUser < 0)
{
alert(currentUser + " is NOT an approved YouTuber!");
window.location = "http://www.youtube.com";
}
else
{
alert(currentUser + " is an approved YouTuber!");
}
}