回答編集履歴

1

不足分

2020/09/01 21:25

投稿

hina
hina

スコア132

test CHANGED
@@ -1,5 +1,9 @@
1
- 当該Extensionにおいて,`feedkeys`は[`setTimeout()`によって非同期に実行されている](https://github.com/brookhong/Surfingkeys/blob/f92e999cf13f06279e60520e5ae3806ddc06980f/content_scripts/normal.js#L745-L753)ようなので,コマンドの実行を待ってアクションを行いたい場合,そちらでも`setTimeout`を使って充分な時間(500msとか)待ってから操作を行う必要がありそうです.
1
+ 当該Extensionにおいて,`feedkeys`は[`setTimeout()`によって非同期に実行されている](https://github.com/brookhong/Surfingkeys/blob/f92e999cf13f06279e60520e5ae3806ddc06980f/content_scripts/normal.js#L745-L753)ようなので,コマンドの実行を待ってアクションを行いたい場合,質問本文にもあるようにそちらでも`setTimeout`を使って充分な時間(500msとか)待ってから操作を行う必要がありそうです.
2
2
 
3
3
 
4
4
 
5
- ただし,当該のExtensionをみたところ,そのコードはContent scriptとしてWebページ内で実行されるようです.つまり,タブの切替を待ったところで`window`は元のタブを指したままとなり,意図するタブではなく元のタブでそのURLを開くことになってしまいそうです.
5
+ ただし,当該のExtensionをみたところ,そのコードは[Content scripts](https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Content_scripts)としてWebページ内で実行されるようです.つまり,タブの切替を待ったところで`window`は元のタブを指したままとなり,意図するタブではなく元のタブでそのURLを開くことになってしまいそうです.
6
+
7
+ Extensionを書くのであればバックグラウンドスクリプトで実装可能でしょうが,当該Extension単体で果たして可能でしょうか……無理な気がします.
8
+
9
+ (参考:タブの切替はバックグラウンドスクリプトにメッセージを非同期に送信することでおこなわれているはずです)