{"id":352,"date":"2023-11-16T17:04:53","date_gmt":"2023-11-16T17:04:53","guid":{"rendered":"https:\/\/habett.fr\/blog\/?p=352"},"modified":"2023-12-24T12:19:34","modified_gmt":"2023-12-24T12:19:34","slug":"firefox-manifest-v3","status":"publish","type":"post","link":"https:\/\/habett.fr\/blog\/2023\/11\/firefox-manifest-v3\/","title":{"rendered":"Firefox \/\/ Manifest V3 \/\/ <all_urls>"},"content":{"rendered":"\n<p>Compliqu\u00e9s rapports entre firefox et le ManifestV3. Maintenant que le support est l\u00e0 (v109) et m\u00eame dans les versions ESR, il restait pour moi le probl\u00e8me li\u00e9 au permissions d&rsquo;acc\u00e9der \u00e0 tous les sites. Dans le Manifest.json, cela ne suffit pas:<\/p>\n\n\n\n<p><code>\"host_permissions\": [\"&lt;all_urls>\"],<\/code><\/p>\n\n\n\n<p>Grosse prise de t\u00eate donc je mets ici le r\u00e9sultat de mes explorations:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Mettre dans le popup un bandeau pour avoir un point d&rsquo;entr\u00e9e, par exemple:<br><code>&lt;center id=\"perm\" style=\"color: yellow; background: #840; clear: both; font-weight: 404; padding: .5em; margin,: .5em; cursor: pointer;\"&gt;Finaliser&lt;\/center&gt;<\/code><br><\/li>\n\n\n\n<li>Dans le javascript du popup, mettre ce bout de code dans handler de l&rsquo;event DOMContentLoaded avec pour objectif de cacher le bandeau d\u00e9fini pr\u00e9c\u00e9demment si les permissions d&rsquo;h\u00f4te sont bonnes, et sinon de les obtenir gr\u00e2ce \u00e0 un clic sur le bandeau (action de l&rsquo;utilisateur n\u00e9cessaire):<br><code>chrome.permissions.contains({<br>    origins: ['&lt;all_urls&gt;']<br>  }, (result) =&gt; {<br>    if (result) {<br>      document.getElementById('perm').style.display = 'none';<br>    } else {<br>      document.getElementById('perm').addEventListener('click',function() {<br>        chrome.permissions.request({<br>          origins: ['&lt;all_urls&gt;']<br>        }, (granted) =&gt; {<br>          if(!granted) {<br>            browser.permissions.request({<br>            origins: ['&lt;all_urls&gt;']<br>          });<br>        }<br>      });<br>    });<br>  }<br>});<\/code><br><\/li>\n\n\n\n<li>Fonctionne aujourd&rsquo;hui avec Firefox 119. Transparent pour browser moins regardants, type Chromium\/Chrome.<\/li>\n<\/ol>\n\n\n\n<p>Cheers<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Compliqu\u00e9s rapports entre firefox et le ManifestV3. Maintenant que le support est l\u00e0 (v109) et m\u00eame dans les versions ESR, il restait pour moi le probl\u00e8me li\u00e9 au permissions d&rsquo;acc\u00e9der \u00e0 tous les sites. Dans le Manifest.json, cela ne suffit pas: \u00ab\u00a0host_permissions\u00a0\u00bb: [\u00ab\u00a0&lt;all_urls>\u00a0\u00bb], Grosse prise de t\u00eate donc je mets ici le r\u00e9sultat de mes &hellip; <a href=\"https:\/\/habett.fr\/blog\/2023\/11\/firefox-manifest-v3\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Firefox \/\/ Manifest V3 \/\/ <all_urls><\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[39,42,61],"class_list":["post-352","post","type-post","status-publish","format-standard","hentry","category-webextension","tag-firefox","tag-javascript","tag-manifestv3"],"_links":{"self":[{"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/posts\/352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/comments?post=352"}],"version-history":[{"count":4,"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/posts\/352\/revisions"}],"predecessor-version":[{"id":362,"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/posts\/352\/revisions\/362"}],"wp:attachment":[{"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/media?parent=352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/categories?post=352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/habett.fr\/blog\/wp-json\/wp\/v2\/tags?post=352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}