文字コード変換 JavaScript の説明 |
たとえば,文字コードが ISO-2022-JP で,TEXTAREA 項目に“あいう”と入力して送信すると,フレーム内のドキュメントの URL がこのようになります.<FORM … TARGET="target"> <TEXTAREA NAME="d" … ></TEXTAREA> </FORM> <IFRAME NAME="target" … ></IFRAME>
{フォームの ACTION 属性に指定したもの}?d=%1B%24B%24%22%24%24%24%26%1B%28B“?d=”の後ろの部分が,“あいう”が ISO-2022-JP に変換され,URL エンコードされたものです.
としてドキュメントの URL をフレームの親ウィンドウに送信し,親ウィンドウの側では message イベントで URL を受け取ります.parent.postMessage(location.href, '*')
少なくとも最近の主要なブラウザでは,"data" URL にはクエリー文字列が付くようです."data:text/html," + encodeURIComponent("<SCRIPT TYPE='text/javascript'>parent.postMessage(location.href, '*')</SCRIPT>");
location.search
でよいのですが,location.search
だと Firefox ではなぜか "data" URL のクエリー文字列を取得できないので,location.search
ではなく location.href
を使っています.