2017-06-01 6 views
0

YouTubeで右クリックしてJavaスクリプトを使用して実行するChrome拡張機能を作成したいが失敗する。マウスクリックによるChromeアドオンの作成が機能しない

if(document.URL.match('youtube.com/') && new RegExp('v=[a-zA-Z0-9-_]{11}').exec(document.URL)) { 
var YID = RegExp.lastMatch.substr(2); 
if(document.getElementById('yt-masthead-content')) { 
    var Button = document.createElement('button'); 
    Button.onclick = function() {var ID = new RegExp('v=[a-zA-Z0-9-_]{11}').exec(document.URL).substr(2); 
    window.open('http://www.music-clips.net/v/'+ID+'/'); 
    }; 
Button.className = 'yt-uix-button start link-gplus-lightbox yt-uix-sessionlink yt-uix-button-default'; 
Button.setAttribute('style', 'float:right;', 0); 
Button.innerHTML = 'Extract & Download MP3'; 

    document.getElementById('yt-masthead-content').appendChild(Button); 
} 
} 

すべてが正常に追加され、onclickコード行を除くYouTubeページに挿入されます。
私は解決されませんが、代わりに混乱してしまいます。誰でも誠実に明確な説明をするのを手伝ってください。すべての給付ガイドは喜んで感謝されます。

答えて

0

execの戻り値は配列であり、文字列ではありません。 toString()メソッドを使用して変換できます。

Button.onclick = function() {var ID = new RegExp('v=[a-zA-Z0-9-_]{11}').exec(document.URL).toString().substr(2); 
    window.open('http://www.music-clips.net/v/'+ID+'/'); 
}; 
関連する問題