グローバル変数「imageUrl」が関数「genericOnClick()」の内外で異なる動作をする理由を理解しようとしています。
var imageUrl
var id = chrome.contextMenus.create({
"title": "Add to JC Queue",
"contexts": ["image"],
"onclick": genericOnClick
});
function genericOnClick(info) {
imageUrl = info.srcUrl;
console.log(imageUrl);
chrome.tabs.create({
url: chrome.extension.getURL('dialog.html'),
active: false
}, function (tab) {
// After the tab has been created, open a window to inject the tab
chrome.windows.create({
tabId: tab.id,
type: 'popup',
focused: true
});
});
}
console.log(imageUrl);
どこが間違っているのか教えてください:
- imageUrl をグローバル変数として宣言する
- id をグローバル変数として宣言し、関数 OnClick() を実行します
- 関数内のコンソールに imageUrl を記録します (正常に表示されます)。
- 関数の実行後に imageUrl をコンソールに記録します (未定義です)。