0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Chromeの拡張機能を作成してみた

Last updated at Posted at 2020-02-03

####経緯
右クリック禁止ページにおいて画像の取得をしたかったのでいろいろ検索してみたら、
Googleの拡張機能を簡単に作成できるという記事を発見したので作成してみました。
実際に検索したら、同様の拡張機能はたくさんありました。(笑)

####仕様(今後の展開も含む)

  1. ページを開いた瞬間にページ内のimgタグを取得し、別タブに画像とaltの内容を表示します ←今ココ
  2. イベントの発火をページ開いた時ではなく、アイコンをタップした瞬間に変更する
  3. 別タブに表示するのではなく、アイコンクリック時に表示するHTMLへ表示する

####フォルダ・ファイル構成

test/
  - manifest.json → 設定ファイル
  - jquery.min.js
  - content_scripts.js → 処理ファイル

####ファイルの中身

manifest.json
{
  "name": "TakeAPicture",
  "manifest_version": 2,
  "version": "1.0.0",
  "browser_action": {
    "default_title": "TakeAPicture"
  },

  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["jquery.min.js", "content_scripts.js"]
    }
  ]
}
content_scripts.js
var set_html = "";
$("img").each(function() {
	var src = ($(this).hasClass('lazyload')) ? (($(this).attr('data-src') != undefined) ? $(this).attr('data-src') : $(this).attr('src')) : $(this).attr('src');
	var img = '<img src="' + src + '" alt="' + $(this).attr('alt') + '" />';
	var cap = '<p>' + $(this).attr('alt') + '</p>';
	set_html += img + cap + "<br>";
})

var nwin = window.open("", "image_list", 'width=600,height=700,resizable=1,scrollbars=1');
nwin.document.open();
nwin.document.write(set_html);
nwin.document.close();

####終わり
今回初めて作成してみましたが、特に苦戦する要素は無かったと思います。
ただし、デバックがうまくいかずいい方法がないか探してみようかと思います。
デバックでいい方法をしっている方いたら教えてください。

####参考サイト
Chromeブラウザの拡張機能を作ってみたい初心者向けに開発方法を紹介!【サンプルあり】

####更新履歴
20/02/10 タイトルを変更しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?