はてなダイアリーのGoogle Gadget貼り付けで見つかった問題点
はてなと関係ないものもありますが、ひとまず以下。
現在テストしているガジェットは、以下のようなコードで外部のJavaScriptを動的にロードしています。
var scriptE = document.createElement("script");
scriptE.setAttribute("type", "text/javascript");
scriptE.setAttribute("src", script_url);
_gel("script_container").appendChild(scriptE);
コンテンツの文字化けについては、動的にロードするJavaScript部分のキャラクターセットを明示的に指定することで解決できました。
scriptE.setAttribute("charset", "UTF-8");
タイトルの文字化けについては、Google Gadgetのタイトル指定がUTF-8の文字列をURLエンコードしてパラメータで渡されているので、キャラクターセットがEUC-JPのはてなでそのまま表示すると化ける、ということじゃないかと思ってます。
script タグの charset に UTF-8 を指定すれば直るかなと思ったんですが、これを追加すると不正な JavaScript ということで、はてなダイアリーにはねられてしまいます(「ここではスクリプトタグを使用することができません」)。
IEでの表示不具合と、Safariリロード時の問題は、こちらのコードの問題ぽいですね。
もうちょっと調べてみようと思います。