【アドオン】WebExtensions開発者用スレッド

1 :名無しさん@お腹いっぱい。:2017/11/18(土) 12:38:26.45 ID:FCimjQUj0.net
ブラウザのアドオンはWebExtensionsに統一されようとしています
開発者の情報交換にどうぞ

・Chrome公式ドキュメント
https://developer.chrome.com/extensions

・Mozilla公式ドキュメント
https://developer.mozilla.org/ja/Add-ons/WebExtensions

53 :名無しさん@お腹いっぱい。:2018/05/05(土) 13:46:42.36 ID:lW/JmvZM0.net

JS 750行程度(ほかにHTMLやCSSもある)だけどとくに困ってない
デバッグもブラウザコンソールとインスペクタで十分
API依存でない部分は普通のページ上のJSと同じように開発すればいいだけだし

モジュール(のように使うファイル)の数が増えると面倒とは思う
manifest.jsonやら<script>を書き散らかさないといけないWEの仕様は変
ただ基本的に読み込みまれっぱなしで使われるブラウザ拡張を
たくさんのモジュールに依存したり巨大なフレームワーク使うような作りにはしないから
そこまで困ってはいない

37 :名無しさん@お腹いっぱい。:2018/01/20(土) 08:24:54.20 ID:Vcg0eAtp0.net

自動化したいなら
人間以上のAI積んでからしろっつうねん

48 :名無しさん@お腹いっぱい。:2018/04/21(土) 17:37:08.18 ID:RSszIfud0.net

ググルの画像検索仕様が変わって拡張使えなくなっとる

6 :名無しさん@お腹いっぱい。:2017/11/25(土) 14:48:40.89 ID:eAJ09Svo0.net

審査履歴にコメントがあった
機能の詳細、設定方法、使用方法を書いてスクリーンショット付けろって言われとる
この人レビュワーなのかな?面倒だがやるか……

25 :名無しさん@お腹いっぱい。:2017/12/10(日) 10:56:37.00 ID:QMa2l3qs0.net

>>21
>>22
nightlyで試してみた
ダイアログを出さないbeforeunloadが設定されたページをdiscardできるようになっていたけど
そのタブを再度アクティブにしてページをクリックとかしてから
タブを閉じたりリロードしようとするとページ上のbeforeunloadハンドラの返り値を無視して
beforeunloadのダイアログが出るようになりこのタブは二度とdiscardできない
こんなひどいリグレッションがあるようでは58に入れるのは無理かもなあ…

26 :名無しさん@お腹いっぱい。:2017/12/13(水) 00:58:09.72 ID:moP6K8El0.net

ええ…

50 :名無しさん@お腹いっぱい。:2018/05/04(金) 22:35:17.51 ID:nOPwk/yb0.net

お前らの開発環境を教えてくれ
atomと自分のブラウザでやってたんだが、コードが増えるにつれて辛くなって来た
開発だけじゃなくてデバッグもつらい。500行未満の小さいのならともかく、巨大なアドオンとかとても作れる気がしない

14 :名無しさん@お腹いっぱい。:2017/11/29(水) 21:33:09.68 ID:uL5cKuad0.net

承認通知の文面が変更されて
公開後別のレビュワーがチェックするかもしれないから
ちょっと覚悟しとけみたいな内容が追加されてた

18 :名無しさん@お腹いっぱい。:2017/12/04(月) 08:25:50.18 ID:4N+MCAli0.net

tabs.discardがtwitterのページで効かないという話
https://egg.5ch.net/test/read.cgi/software/1506030128/922
https://egg.5ch.net/test/read.cgi/software/1506030128/924

beforeunloadイベントがlistenされていると
たとえlistenerでダイアログを出さないようにしていたとしてもdiscardされない模様
APIは失敗しない
内部的には強制discardがあるらしくWEから使えるようにという要望が出ていた
https://bugzilla.mozilla.org/show_bug.cgi?id=1420681

40 :名無しさん@お腹いっぱい。:2018/02/26(月) 04:12:13.54 ID:IzIHHk9b0.net

>>23
AMOの統計壊れついに報告されても直さなくなった
https://github.com/mozilla/addons/issues/510

39 :名無しさん@お腹いっぱい。:2018/02/13(火) 19:16:13.43 ID:04TfZh460.net

☆ 私たち日本人の、日本国憲法を改正しましょう。現在、
衆議員と参議院の両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

17 :名無しさん@お腹いっぱい。:2017/12/03(日) 10:37:04.29 ID:vnrqeG5h0.net

https://bugzilla.mozilla.org/show_bug.cgi?id=1419842
tabs.onUpdatedわりと気軽に使ってたけどこんなに重いのか…

30 :名無しさん@お腹いっぱい。:2017/12/21(木) 23:35:57.21 ID:jVWUmVDQ0.net

>>29
ネイティブのスクロールではなくvim系アドオンとかでJavaScriptでスクロールすると
強制的にスムーススクロールになってしまうようだ

24 :名無しさん@お腹いっぱい。:2017/12/08(金) 05:31:56.24 ID:Mk4JoaRu0.net

時々ユーザー数が0になるのこれか

49 :名無しさん@お腹いっぱい。:2018/04/24(火) 08:50:41.43 ID:c2v8ucew0.net

>>48 何がどういう風に使えなくなったのか 書いてくれないと。
Search by Image – Reverse Image Search は動いてる
https://addons.mozilla.org/en-US/firefox/addon/search_by_image/
ローカルの画像を参照して検索するタイプのアドオンは使ってないから分からないが

49 :名無しさん@お腹いっぱい。:2018/04/24(火) 08:50:41.43 ID:c2v8ucew0.net

>>48 何がどういう風に使えなくなったのか 書いてくれないと。
Search by Image – Reverse Image Search は動いてる
https://addons.mozilla.org/en-US/firefox/addon/search_by_image/
ローカルの画像を参照して検索するタイプのアドオンは使ってないから分からないが

2 :名無しさん@お腹いっぱい。:2017/11/20(月) 16:18:51.05 ID:Lah68vpU0.net

Firefox 57でhttps://raw.githubusercontent.com/のURLにcontent scriptが注入されない
AMOに対する制限と同じ感じ
privacy.resistFingerprinting.block_mozAddonManagerをtrueにしても変わない
なんだこれ…

46 :名無しさん@お腹いっぱい。:2018/03/17(土) 19:26:59.74 ID:5xKEEa2b0.net

>>45
拡張機能のcontent scriptはそのページに追加で<script>でJavaScriptを
読み込んだかのように動作するからなんだってできる
厳密にはwindowオブジェクトが分離されていて全く同じではないけど
ページ上のHTMLを変更するようなことは無制限にできる

42 :名無しさん@お腹いっぱい。:2018/03/11(日) 16:03:25.24 ID:hBq5a8ho0.net

単に興味本位の疑問なんだけどPermissionからcookies APIを許可しない場合だと
backgroundコンテキストからfetchでXHRのようにcookie持たせたpostを行いたい場合は
そのcookieをcontentscriptsコンテキストから取得してbackgroundに渡さないと駄目なのかな
contentscripts触れるなら好きに引っこ抜けるのに制限している理由がよくわからない

36 :名無しさん@お腹いっぱい。:2018/01/10(水) 09:42:43.10 ID:vkqe9XnG0.net

>>35
https://blog.mozilla.org/addons/2018/01/08/new-contribution-opportunity-content-review-addons-mozilla-org/
これの影響か
開発経験がなくてもボランティアが貢献できるようするためと言ってるけど
安易にレビュー自動化したらスパムまみれになったので
敷居を下げてただ働きしてくれる人を募集してるだけにしか見えない

3 :名無しさん@お腹いっぱい。:2017/11/20(月) 20:32:05.39 ID:Lah68vpU0.net

>>2
userChrome.jsスレの書き込みがヒントになったCSPのせいか
github.comにもCSP設定されているが注入できてたので見落としてた…
raw.githubusercontent.comはsandbox指定されててcontent scriptすら実行できないのね
こうもcontent scriptが実行できないケースが多いと実用性にかけるなあ

28 :名無しさん@お腹いっぱい。:2017/12/20(水) 12:53:38.18 ID:rSTgAnFo0.net

TSTの人が嘆いていたけどWebExtensionsの表記は最近は
API規格としての名称 = WebExtensions
Firefoxにおける拡張機能 = (Browser) Extension
という使い分けに見える
あとW3Cでの呼称がBrowser Extentionsなのも混乱の元
レガシーがなくなったので拡張機能(Browser Extension)がWEなのは自明ってことなんだろうけど
まだ52ESRが当分生きてるんだし時期尚早だと思う
MozillaもわざわざWebExtensionsという独自名称をつけたなら
ちゃんとブランディングしてくれればいいのに

45 :名無しさん@お腹いっぱい。:2018/03/17(土) 13:32:25.64 ID:dolaKGQS0.net

拡張機能に広告を付けることってできるのか?
enhancer for youtubeというアドオンを使ってyoutubeを見てるんだが、
普通に見るときには表示されないアドセンス広告が出てくる

15 :名無しさん@お腹いっぱい。:2017/12/02(土) 04:20:16.48 ID:wVGQJ0ea0.net

tabs.queryで返ってくるtab.discardedが嘘言うことがある気がする
明らかにアンロードされているタブがたくさんあるのに全部falseになってる
Firefox再起動すると直ってしまって再現条件がわからない

9 :名無しさん@お腹いっぱい。:2017/11/25(土) 15:27:02.75 ID:7CvS95LM0.net

>>8
審査通った後の話だったのね
公開された後人力で巡回してチェックしてるというのは聞いた覚えがある
当然全アドオンチェックなんてできないだろうからたまたま当たったのかな
外部サービス依存があるとチェックされやすいのかも

>そのサービスの知識がなくてもアドオンを理解できるようにしなさい

レビューポリシーだったかガイドラインにそんなようなことが書いてあったはず
定型文みたいなもんでしょう

11 :名無しさん@お腹いっぱい。:2017/11/27(月) 18:44:09.49 ID:q7i1N1560.net

何かまた同じ人からコメントが来た
プライバシーポリシーを追加して、どのユーザーデータが送信されているのか、どのサービスに対応しているのか説明しろ
必要ならWebサイトのプライバシーポリシーにも言及しろとある

勝手に作ったアドオンだし、個人情報なんて扱ってないのに
一体何を書けというのやら

8 :名無しさん@お腹いっぱい。:2017/11/25(土) 15:10:45.65 ID:eAJ09Svo0.net

>>7
俺もあっという間に更新されたから自動審査だなと思ったけど、通過した一週間後に来た

ニッチなWebサービス用のアドオンだが、
そのサービスの知識がなくてもアドオンを理解できるようにしなさいとか書いてあってこわいよ

29 :名無しさん@お腹いっぱい。:2017/12/21(木) 23:26:55.44 ID:jVWUmVDQ0.net

Bugzillaの強制スムーススクロールなんだこれ
余計なことを…

33 :名無しさん@お腹いっぱい。:2017/12/30(土) 22:59:41.31 ID:VJCx5akb0.net

僕のアドオンが他のアドオンとめっちゃ競合するう
同じAPIを叩いてる訳だから当たり前と言えば当たり前だが…
他のアドオンの挙動を見て整合性取らなきゃいけないつらい

32 :名無しさん@お腹いっぱい。:2017/12/27(水) 20:54:25.96 ID:wsFe6ieD0.net

何がなんだかさっぱりわからない説明ありがとう

16 :名無しさん@お腹いっぱい。:2017/12/02(土) 15:38:24.48 ID:OltRz4ui0.net

browser.downloads.resumeもなんかおかしいかも
こいつ呼んでも止まってるダウンロードが再開しないや

52 :名無しさん@お腹いっぱい。:2018/05/05(土) 01:14:46.28 ID:VnkL2EZD0.net

なんてこった同じか
webpackは名前しか知らない子だったのでこの機に勉強するか

47 :名無しさん@お腹いっぱい。:2018/03/17(土) 19:50:47.22 ID:dolaKGQS0.net

そうなんだ
じゃあ元々貼ってある広告を自分のに差し替えたりもできて、しかもばれない気がするな

20 :名無しさん@お腹いっぱい。:2017/12/04(月) 11:37:12.59 ID:4N+MCAli0.net

>>19
再現した
LastPassのアドオンは巨大(10MB!)で追ってられないけど
ざっとソース検索してbeforeunloadを使っている箇所はあった

しかしbeforeunloadを使っているcontent scriptを全ページに注入するようなアドオンを使うと
discardが一切できなくなるということだから
このままの仕様でdiscard APIリリースするとしたらひどい話だ

21 :名無しさん@お腹いっぱい。:2017/12/06(水) 04:24:08.21 ID:TCGB3jPQ0.net

>>18-20
この件、58ではダメだけど59NightlyだとTwitterもdiscardできるようになってた
Lastpassアドオン入ってても問題ない

31 :名無しさん@お腹いっぱい。:2017/12/23(土) 06:49:45.91 ID:KHcD4MkG0.net

https://qiita.com/piroor/items/2047e840d2d9786e619e
タブIDの一貫性が損なわれる件、この書き方は少し誤解を招くと思う
ウィンドウをまたいで移動するとIDが新しいIDに変わるように読めるけど
listenerの引数に渡されるIDは、onUpdated以外のイベントは元のID
onUpdatedは新旧両方のID混在(ひどい)

43 :名無しさん@お腹いっぱい。:2018/03/12(月) 16:22:45.23 ID:JP/vte7L0.net

>>42
content scriptのとくにURLを制限しない<all_urls>は非常に強力で
ほぼなんでも許可と言っているようなものなので
この権限を許可してcookies APIは許可しないようなケースは想定してないんだろう
安易に<all_urls>権限を持った拡張機能を作ったり使ったりするのはどうかと思うんだけど
APIが貧弱すぎてなにかとcontent scriptでごちゃごちゃやらざるを得ないから
目をつむって権限許可する以外選択肢が無いという

22 :名無しさん@お腹いっぱい。:2017/12/06(水) 12:05:52.31 ID:aHzowIZS0.net

>>21
https://bugzilla.mozilla.org/show_bug.cgi?id=1415918
これかな
コメントついてるけどこれ58に入れないのはありえない
入れられないならtabs.discard自体を59まで入れないべき

https://bugzilla.mozilla.org/show_bug.cgi?id=1420681
はダイアログが出る場合でもforceDiscardオプションで破棄できるように
ということらしい

4 :名無しさん@お腹いっぱい。:2017/11/24(金) 16:53:49.53 ID:ZrJeDzmC0.net

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns
にあるmatch patternを正規表現に変換するコード
盛大にバグってると思ってページ再確認したら数日前に完全に書き換えられていた
しかしそれも盛大にバグっているという
というかmatch patternでmatchする関数ぐらいWE APIとしてexportしといてもらいたい

23 :名無しさん@お腹いっぱい。:2017/12/08(金) 04:05:16.11 ID:03t3pjvP0.net

統計がよくおかしくなると思ったら
何年も前から壊れたままでクレームがあったら手動で直してるらしい
https://github.com/mozilla/addons/issues/366
https://github.com/mozilla/addons/issues/510
これはひどい

7 :名無しさん@お腹いっぱい。:2017/11/25(土) 15:02:58.85 ID:7CvS95LM0.net

>>6
審査履歴にコメントしてるのはレビュワーだね
そんなこと言われたことないけどなあ
説明一言だけスクリーンショット無しのアドオンたくさん公開されてるし
というか最近すごい審査早いからほぼ自動審査になってると思ってた

12 :名無しさん@お腹いっぱい。:2017/11/28(火) 20:30:06.96 ID:PvRjehi40.net

外部サービスを扱うアドオンなら
・サービスからどんなデータを取得するのか
・取得したデータをどう扱うのか
・取得したデータをローカルに保持するのか
・サービスにどんな操作を行うのか
こういったことを明確にしてくれって話ではないかと

作った本人には自明の内容であったとしても
使う側はブラックボックスだから気になるところだと思う

ろくに記述もないアドオンはそういうレビューがされていないか
コメントがあってもガン無視してるんでしょう

35 :名無しさん@お腹いっぱい。:2018/01/04(木) 22:18:01.18 ID:6ejLFz/90.net

>>6
これと同じようなレビュワーコメントが来た
設定画面も独自のボタンや画面も無いアドオンなのに
おそらくスクリーンショットの有無なんかを機械的にチェックして定型文送ってるだけだな
手抜きチェックでアドオン作者に余計な手間要求しないで欲しい

55 :名無しさん@お腹いっぱい。:2018/06/07(木) 20:50:20.10 ID:saWBnjck0.net

Message系のAPIでContentScriptへ投げられないのが不自由すぎる
storageのonChange使うのが一番マシな代替方法かな

27 :名無しさん@お腹いっぱい。:2017/12/16(土) 09:03:02.03 ID:LymSBaE00.net

>>25
ページをクリックとかしてからタブを閉じたりリロードしようとすると
ページ上のbeforeunloadハンドラの返り値を無視してbeforeunloadのダイアログが出るのは
discardのせいではなくbeforeunloadのundocumented?な挙動のせいだった
beforeunloadの返り値が、
null→必ずダイアログ出ない
空文字列→ページをクリックとか操作しない限りダイアログ出ない
適当な文字列とか→必ずダイアログ出る

ダイアログ出るパターンの場合でもdiscardできるようにするforceDiscardオプションの
実装が進められていたけど
この件含みタブ関係いろいろやってた人がbugzillaから全面撤退してしまった

10 :名無しさん@お腹いっぱい。:2017/11/25(土) 15:41:09.20 ID:eAJ09Svo0.net

なるほど、そんなものがあったのか
ありがとう

レビュワーには努力したぞって返信しとくわ

44 :名無しさん@お腹いっぱい。:2018/03/13(火) 00:19:32.85 ID:h3tWOy130.net

ああ言われてみれば本当にその通りだ
contentscriptsで力技する実装に慣れ過ぎた故の疑問だった

5 :名無しさん@お腹いっぱい。:2017/11/25(土) 13:34:34.18 ID:eAJ09Svo0.net

開発者センターで「詳細情報がリクエストされました。 」ってアクティビティが出たけどなんだろう
英語で説明書けばいいのかな

19 :名無しさん@お腹いっぱい。:2017/12/04(月) 10:36:57.86 ID:Fa8Cu9gn0.net

>>18
この症状確認してる時にたまたま気づいたんだけど
このサイト↓開いたタブ普通なら問題なくdiscard出来るが、LastPassのアドオンを入れると出来なくなる。無効にするとまた出来る

>HTML,CSS カラーコード一覧表 | 背景色や文字色の設定
http://www.netyasun.com/home/color.html

LastPassのアドオンはこれ
https://addons.mozilla.org/ja/firefox/addon/lastpass-password-manager/

57 :名無しさん@お腹いっぱい。:2018/06/13(水) 23:36:50.86 ID:mnZQy65V0.net

ContentScriptからContentScriptをやりたかったんだよね
せめてtabsが使えればqueryからid取ってどうにか出来るんだけど
相互通信用のライブラリをbackgroundに常備させたい衝動に駆られる

参考になったらSNSでシェアお願いします!

レスを投稿する(名前省略可)

この記事を読んだ方へのおすすめ

  • Discord 2サーバー目

    元スレ 1 :名無しさん@お腹いっぱい。:2017/12/24(日) 16:16:30.16 ID:CjB81i2x0.net 無料VoIPアプリケーション、Discordについて語り合うスレ。 Discordはチャット…

  • オススメLinuxディストリビューションは? Part71

    元スレ 1 :login:Penguin:2018/03/16(金) 23:18:35.10 ID:hE6GJlFh.net 前スレ オススメLinuxディストリビューションは? Part70 http://mao.5c…

  • VMware総合スレ Part45

    元スレ 1 :名無しさん@お腹いっぱい。 :2018/10/09(火) 16:52:13.17 ID:8qN5AgVy0.net !extend:on:vvvvv:1000:512 次スレを立てる方は↑を二行重ねて書いて…

  • Mozilla Firefox Nightly Part14

    元スレ 1 :名無しさん@お腹いっぱい。:2017/09/16(土) 20:13:12.11 ID:1tTPcwCf0.net === Firefoxの次期バージョン「Nightly」「Aurora(Dev)」「β」の情…

  • 【HDD Regenerator】セクタ修復ソフト 4【HDAT2】

    元スレ 1 :名無しさん@お腹いっぱい。:2014/09/06(土) 18:06:18.40 ID:Z8f4yeiR0.net HDD RegeneratorやHDAT2といった、HDDで生じた不良セクタを修復するソフト…

  • SopCast/NIJI Part21

    元スレ 1 :名無しさん@お腹いっぱい。:2018/03/08(木) 22:14:04.31 ID:W8FXAqAw0.net SopCast/NIJI Part20 https://egg.5ch.net/test/r…

  • RHELクローン)CentOS とScientific Linux(統合スレ

    元スレ 1 : 忍法帖【Lv=10,xxxPT】 ◆RHEL6j0JmE :2011/06/21(火) 10:18:09.26 ID:cX+9CvO9.net RHEL6の特徴 ・馬鹿デモデキルKVM(64bitOS) …

  • Windows標準のデフラグソフトの完全版Diskeeper 8

    元スレ 1 :名無しさん@お腹いっぱい。:2013/10/22(火) 13:20:20.15 ID:NnUvwqbC0.net Windows 2000・XPのデフラグソフトの完全版Diskeeperについて語るスレです…

  • ATOK/一太郎 統合スレッド[ その3 ]

    元スレ 1 :login:Penguin:2013/04/22(月) 19:05:55.69 ID:QW9DfxpN.net 【公式サイト】  一太郎 for Linux  ttp://www.justsystem.co…

  • 【初心者】Ubuntu Linux 122【本スレ】

    元スレ 1 :login:Penguin:2019/04/06(土) 00:26:26.62 ID:ws2vFIwg.net ■ Ubuntu 公式サイト https://www.ubuntu.com/ https://…

  • OmegaChartスレ ver.10

    元スレ 1 :名無しさん@お腹いっぱい。:2017/03/07(火) 14:56:10.51 ID:F6zMzisw0.net 会則 OmegaChartはサポートを終了しています。  ご自身でコンパイルできない方は、他…

  • 熱狂的ぷろぐらみんぐ

    元スレ 1 :ぱすかる:02/04/02 23:18 ID:CVuWnF4w.net ここのみんなはLinuxでマイナーなプログラミング言語使ってる? 使ったことあるやつでも書いて感想を述べよ!俺はFreePascalが…

最近のコメント

匿名 : 合同会社グラウンドステップ 被害者の会 part2
 吉川利幸さんが社長を務めるランサーズでの評価 すご... (5/05)
匿名 : Opera12(Presto) Part8
 Dragonflyが使えなくなったorg (6/25)
匿名 : あえてコマンドライン禁止のLinux
 いまではほとんどのディストリのインストで日本語環境までコマン... (6/15)
ページTOPへ↑