FIREFOX HACKS REBOOTED 108〜117 Page
とりあえず、サンプルコードをそのままダウンロードして、Translator JP拡張機能を動かしてみたいんだけど、英文字を選択して、addonのTranslate into Japanese を選択すると、コンソールに以下の表示が出て、うまく動きませんでした。
error: An exception occurred. Traceback (most recent call last): File "resource://jid1-sbgmuzvjg3ctag-at-jetpack-translator-jp-lib/main.js", line 18, in var translated = response.json.responseData.translatedText; TypeError: response.json.responseData is nullそこで、116pに書かれているようにソースコードの途中にログ出力するように以下のように足してみたところ・・・
onMessage: function(sel) { console.log("selection: " + sel); var req = request.Request({ url: "http://ajax.googleapis.com/ajax/services/language/translate", content: { v: "1.0", q: sel, langpair: "|ja" }, onComplete: function(response) { console.log(response.json.toSource()); console.log(response.json.responseData.translatedText); var translated = response.json.responseData.translatedText; selection.text = translated;ログには以下のような出力が・・・
info: ({responseData:null, responseDetails:"Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors", responseStatus:403}) error: An exception occurred. Traceback (most recent call last): File "resource://jid1-sbgmuzvjg3ctag-at-jetpack-translator-jp-lib/main.js", line 20, in console.log(response.json.responseData.translatedText); TypeError: response.json.responseData is nullうーむ、なんか翻訳サービスから「疑わしい利用規約乱用」とか言われてるみたいなんだけど・・・これってこのメッセージで出てくる翻訳サービス有料化と、なにか関連してるんですかね?あんまり深追いしても時間の無駄っぽいので、次のaddon に進んだほうが良い気がしてきた。