0

YouTube 動画ページの関連動画のタイトル要素を取得しようとしています。

これは私が使用している JavaScript ですが、何らかの理由で機能させることができませんでした。これがコードです。

var span = document.getElementById('title').style;
if(span.font-size=='13')    {
document.cookie="VISITOR_INFO1_LIVE=-fntp2HbKFI;%20path=/;%20domain=.youtube.com"; 
window.location.reload();
}
else{
document.cookie="VISITOR_INFO1_LIVE=;%20path=/;%20domain=.youtube.com";
window.location.reload();
}

上記のコードは、動画ページで Youtube 実験をオンにし、再度実行するとオフにします。

実験は動画ページで行われ、関連動画のタイトルのフォント サイズが大きくなります。Cookie 値 (VISITOR_INFO1_LIVE) を何らかの値に設定して有効にし、ページをリロードします。関連動画のタイトルのフォント サイズが 13 px から 19 px に大きくなりました。

getElementById でそのタイトル要素を取得できません。コンソールに記録すると、エラーは get is TypeError: document.getElementById(...) is null です。要素ID「list-video-item」でもこれを取得します

次に、コードをもう一度実行すると、タイトルのフォント サイズが 19 px であるかどうかがチェックされます。コードは Cookie 値を削除し、ページを再度リロードして、フォント サイズを 13 ピクセルに戻します。

このコードはブックマークレットに追加され、YouTube の新しい実験のオンとオフを切り替えます。

この小さな実験については、こちらで読むことができます

4

1 に答える 1

1

titleid ではないクラスです。クラスgetElementsByClassNameですべての要素の配列を取得するために使用します

var spans = document.getElementsByClassName('title');
if(spans.length){
    var spanStyle = spans[0].style;
    if(spanStyle.fontSize=='13')
    ...
    else
    ...
}
于 2013-07-13T06:15:41.577 に答える