今Chrome Extentionを制作しています。
そこで日本語文字列をjavascriptでEUC-JPコードとSJISコードに変換する必要がありまして、ecl.jsというjavascript用の文字コード変換ライブラリを試しているのですが、どうも機能していないようです。(ブラウザ環境はChrome)
どなたか対処方法がお分かりの方、教えて頂けませんでしょうか?
ちなみに、オリジナルのecl.jsとそれを改良したバージョンの2つを試してみましたが、どちらも上手く機能しませんでした。
ecl.js
http://www.junoe.jp/downloads/itoh/enc_js.shtml
ecl.js(改良版)
http://www.drk7.jp/MT/archives/001324.html
以下が使いたい関数のコードとなります。(ecl.jsの改良版から引用)
EscapeSJIS=function(str){
return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
var c=s.charCodeAt(0),m;
return c<128?(c<16?"%0":"%")+c.toString(16).toUpperCase():65376<c&&c<65440?"%"+(c-65216).toString(16).toUpperCase():(c=JCT11280.indexOf(s))<0?"%81E":"%"+((m=((c<8272?c:(c=JCT11280.lastIndexOf(s)))-(c%=188))/188)<31?m+129:m+193).toString(16).toUpperCase()+(64<(c+=c<63?64:65)&&c<91||95==c||96<c&&c<123?String.fromCharCode(c):"%"+c.toString(16).toUpperCase())
})
};
Chromeのディベロッパーツールのコンソールには以下のようなエラーが出力されていました。
[エラー行数:ecl.js:207行目]
Uncaught EvalError: Refused to evaluate a string as JavaScript because ’unsafe-eval’ is not an allowed source of script in the following Content Security Policy directive: "script-src ’self’ chrome-extension-resource:".
eval使うのは禁止されているっていう感じのエラーなのだと思うのですが、
どのようにすればエラーが出ずに実行出来るようになりますでしょうか?
エラーが指摘されている行をevalを使わずに書き換えれば良いということなのでしょうか?その場合、どのように書き換えてよいか分かりません。
みんなの回答 1 件
よく分かんないけどググったら同じような問題の記事があった。
madroom project: Chrome ExtensionでHTMLにスクリプトを書いたらエラー
http://madroom-project.blogspot.jp/2013/03/chrome-extensionhtml.html関連するトピックス