Windows 10 Insider PreviewをBuild 14316にアップしたら、昨日書いた記事の拡張機能が使えなくなったので、Build 14316に合わせてコードを書きなおしました。
manifest.json
{ "name": "短縮URL取得", "description": "Google URL Shortener APIを使って短縮URLを取得します。", "version": "2.0.0.0", "default_locale": "ja", "author": "@kinuasa", "icons": { "24": "img/icon_24.png", "128": "img/icon_128.png" }, "background": { "page": "background.html", "persistent": true }, "browser_action": { "default_title": "短縮URL", "default_icon": { "20": "img/icon_20.png", "25": "img/icon_25.png", "30": "img/icon_30.png", "40": "img/icon_40.png" } }, "permissions": [ "<all_urls>" ], "minimum_edge_version": "37.14316.1000.0" }
background.html
<!DOCTYPE html> <html lang="ja"> <head> <title>短縮URL取得</title> <meta charset="utf-8"> <script src="./js/background.js"></script> </head> </html>
background.js
(function() { typeof msBrowser != "undefined" ? chrome = msBrowser : typeof browser != "undefined" ? chrome = browser : chrome = null; chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.executeScript(null, { "file": "./js/ext.js" }); }); })()
ext.js
var key = "(Google API Consoleで取得したAPIキー)"; var xhr = new XMLHttpRequest(); xhr.addEventListener("load", function(event) { var obj = JSON.parse(this.responseText); typeof obj.error != "undefined" ? alert("Error") : window.prompt("Short URL:", obj.id); }); xhr.addEventListener("error", function(event) { alert("Error"); }); xhr.open("POST", "https://www.googleapis.com/urlshortener/v1/url?key=" + key); xhr.setRequestHeader("Content-Type", "application/json; charset=UTF-8"); xhr.send(JSON.stringify({"longUrl":location.href}));
動作画面
Microsoft Edge 37.14316.1000.0になって、マニフェストファイルの仕様や拡張機能の動作が多少変わったようです。
まだまだプレビュー段階のようなので、Edgeの拡張機能開発をしたいという方は、現時点では、安定しているChromeの方で拡張機能を開発→Edgeの拡張機能が本格的に使えるようになったら移植、といった方向で進めた方が良いかもしれません。
この記事へのコメントはありません。