Chrome 拡張機能を作る
ブックマーク登録拡張機能の作成
  現状 Pasty というブックマック登録の拡張機能を使用している。
これまでは正しく動作していたが、マシンを仮想化してからは何か調子が悪い。
複数リンクがある筈なのにタブ1個しか展開されない等・・・
  
仕方ないので Pastyを参考に、自作で拡張機能を作ることにする。
これまでは正しく動作していたが、マシンを仮想化してからは何か調子が悪い。
複数リンクがある筈なのにタブ1個しか展開されない等・・・
仕方ないので Pastyを参考に、自作で拡張機能を作ることにする。
クリップボードの取得
  前回作成した拡張機能テストプログラムに肉付けしていく。
まずはクリップボードの取得から。
  
クリップボードからの貼り付けは以下コマンドで実現できる。
  
HTMLにクリップボードの内容を貼り付けるためのtextareaを作成
  
JavaScriptでtextarea id="paste" にフォーカスをセットしクリップボードを張り付ける。
  
拡張機能画面(chrome://extensions)で test拡張機能の再読み込みを行い、
何かクリップボードにコピーした後、test拡張機能を実行…
  
しかし何もコピーされない
  
まずはクリップボードの取得から。
クリップボードからの貼り付けは以下コマンドで実現できる。
    document.execCommand("paste");
  
  HTMLにクリップボードの内容を貼り付けるためのtextareaを作成
    <textarea id="pastearea"></textarea>
  
  JavaScriptでtextarea id="paste" にフォーカスをセットしクリップボードを張り付ける。
    let pastearea = document.getElementById("pastearea")
pastearea.focus()
document.execCommand("pastearea")
  
  pastearea.focus()
document.execCommand("pastearea")
拡張機能画面(chrome://extensions)で test拡張機能の再読み込みを行い、
何かクリップボードにコピーした後、test拡張機能を実行…
しかし何もコピーされない
アクセス権限
  クリップボードからの読み込みを行うにはアクセス権限が必要っぽい。
権限一覧はこちら
https://support.google.com/chrome/a/answer/7515036?hl=ja
  
この中の "clipboardRead" 権限を付加すれば良い。
  
manifest.json に "permissions": ["clipboardRead"] の行を追加する。
拡張機能を再読み込みし実行
貼り付けできた。
  
権限一覧はこちら
https://support.google.com/chrome/a/answer/7515036?hl=ja
この中の "clipboardRead" 権限を付加すれば良い。
manifest.json に "permissions": ["clipboardRead"] の行を追加する。
{
  "manifest_version": 2,
  "name": "test",
  "version": "1.0.0.0",
  "browser_action": {
      "default_popup": "popup.html",
      "default_title": "test"
  },
  "permissions": ["clipboardRead"]
}拡張機能を再読み込みし実行
貼り付けできた。
Chrome拡張機能


 
0 件のコメント:
コメントを投稿