2018年2月25日 (日曜日)

10:21:55 # Life Chrome Extensionが一通り機能するようになって面白い。async awaitは有用。 しかし、chrome.tabsで新しいタブでURLをロードできるんだけどexecuteScriptとかのインタフェースが最初よくわからずに困った。Content Scriptという不思議なコンテキストで実行されていてwindowにはアクセスできずdocumentにはアクセスできるというあたり。グローバルに定義されているはずのJavascript関数がよべなくて気づく。これはセキュリティ機構なんだろうか。なんでこうなっているのかを説明してほしいところ。認証周りが難しいなぁ。あとページが遷移したかというのをポリングで確認しているんだけどそれ以外のもっとましな方法はないのか。

const ExpectTabUrl = async (tabid, urlfragment) => {
    while (true) {
	await sleepMsec(300);
	const tab = await chrome_tabs_get(tabid);
	if (tab.url.indexOf(urlfragment) != -1) {
	    return;
	}
    }
}
   
Junichi Uekawa