更新: 一部は解決しましたが、他の部分は解決しませんでした
現在、CRX を更新しています (再構築ではありませんでした)。
ただし、Chrome は https URL で XML または CRX を受け入れません。
#2は自己署名証明書だからだと思います。これを回避する方法があるかどうか誰かが知っていますか? (これは純粋に開発用であるため、内部でホストされています)
元の投稿:
内部 Web サイトでホストされているパッケージ拡張機能を作成しましたが、デスクトップからドラッグすることで Chrome に追加されます (Chrome では外部 Web サイト経由でパッケージ拡張機能をインストールできないため、こちらを参照してください: URL を使用して ExtensionInstallSources 設定を Chrome に追加した後)設定、「.crx」パッケージアプリのインストールは引き続き許可されません)。
マニフェストには、update_url
自分のサイトにある XML ファイルが設定されています。その XML ファイルには、 の下に設定された crx ファイルの URL がありますupdatecheck codebase='...'
。どちらのファイルも Web サイトに存在し、見つけることができます。また、XML ファイルと.xml ファイルのバージョン番号を から2.0.0.2
に更新しました。拡張機能の index.html ファイルにも変更を加えました。2.0.0.2
manifest.json
を確認したappid
ところ、XML ファイルと Chrome で同じです。
「拡張機能を今すぐ更新」ボタンを 50 回ほどクリックし、10 分待っても更新されません。
注:サイトがホストファイルでホストされている内部IP 192.168.1.108のエイリアスを作成しましたmyinternal.fake
が、これはchromeとfirefoxの両方で機能するため、それは問題ではないと思います
XML ファイルの更新 (場所: https://myinternal.fake/updates/helloworld.xml )
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='akchdaojnpiglpjeiamjpacbkppcgbgj'>
<updatecheck codebase='https://myinternal.fake/helloworld.crx' version='2.0.0.2' prodversionmin='23' />
</app>
</gupdate>
マニフェスト.json
{
"manifest_version": 2,
"name": "Hello World",
"version": "2.0.0.2",
"minimum_chrome_version": "23",
"update_url": "https://myinternal.fake/updates/helloworld.xml",
"icons":
{
"16": "icon_16.png",
"128": "icon_128.png"
},
"app":
{
"background":
{
"scripts":
[
"main.js"
]
}
}
}
EDIT:私もチェックしましたが、ヘッダーはChromeで受け入れられるものです(これによると:http://developer.chrome.com/dev/extensions/hosting.html)。CRX ファイルを「text/plain」として送信し、ヘッダーを送信しないため、X-Content-Type-Options: nosniff
有効である必要があります。
また、 から に変更しhttps
たhttp
ときに、[拡張機能を今すぐ更新] をクリックすると、拡張機能が一瞬消えます。これは、XML を読み取っていることを示していますが、まだ更新を受け入れていません!