Posting helper for Japanese Users of Veoh

By charmy Last update Jun 6, 2009 — Installed 615 times. Daily Installs: 2, 2, 2, 9, 3, 4, 4, 2, 2, 2, 3, 3, 3, 4, 2, 6, 4, 2, 2, 5, 4, 2, 3, 2, 3, 2, 5, 3, 2, 2, 2, 3
Script Summary:
Veohの日本語(Multibyte文字)でのコメント、メッセージ,descriptionなどのポストが表示時に文字化けする件に対するヘルパーです。
Version: 1.0

This script has no discussions.

start the discussion

This script has no reviews.


Version 1.0


1. Accept-charset="ISO-8859-1"の追加

ページの文字エンコーディングをISO-8859-1にする必要はありません。
以下のフォームにaccept-charset="ISO-8859-1"を追加します。
  • メッセージの編集フォーム
  • プロフィール入力フォーム
  • グループ情報入力フォーム
追加したフォームには、
Posting Helper has added the accept-charset attribute to this form.
が表示されます(V0.9以降)。

2. ボタンの追加

以下のフォームに「Convert」ボタンと「Inverse」ボタンを追加します。
  • グループのディスカッションのSubjectとコメント入力フォーム
  • プロフィールページのコメント入力フォーム
  • ビデオのコメント入力フォーム
  • ビデオ情報入力フォーム(1.の方法だとうまくいかなかったので)

(1) Convert ボタン

入力テキストを10進数の数値参照文字列に変換します。
全角1文字に付き8バイトに変換されます。
ただし、コメント欄の許容文字数が少ないので、半角の英数記号は変換せずそのまま通します。
また、変換後の文字数もボタンの横に表示してますので、参考にしてください。
変換された文字列 "&#数字;" は編集しないでください。
変換後に通常の全角文字を追加した場合、再度「Convert」ボタンをクリックしてください。
既存の変換部分は半角の英数記号なので、影響を受けずに、追加文字を変換できます。

(2) Inverse ボタン

入力テキストの10進数の数値参照文字列を通常の文字に変換します。
入力文章の修正、追加などで元の文章が必要なときに戻す事ができます。

3. フォーム書き換え監視

ポスト後にフォームノードが書き換えられるため、そのままだとボタンが消えます。
そこで、フォームノードが書き換えられたときの監視のためにsetTimeout使ってます。
動作が重く感じるようならコマンドメニューから変更できますので、適当に変更してください。
イベント処理でうまくいったので、V0.7から本機能のデフォルトはオフにしました。
イベント処理がうまく働かない場合の代替手段として残します。

4. UTF-8 ⇒ Unicode変換

ページ上で文字化けしているUTF-8文字列をUnicodeに変換して表示します。
全ページをチェックできないので、現在は以下の部分に対応しています。
  • ビデオタイトル(サムネイルの下)とバルーン
  • グループ名(サムネイルの下)とバルーン
  • コメントSubject(Groupページ)
  • コメント本文(Groupページ、Profileページ、watchページ)
  • About Me(Profileページ)
  • watchページのビデオタイトル
  • watchページのDescription
  • watchページのtags
  • Edit Groupページのグループ名表示
  • Edit GroupページのGroup Name(テキストボックスの中)
  • Edit GroupページのDescription(テキストエリアの中)
  • Edit Videoページのビデオタイトル表示
  • Edit VideoページのTitle(テキストボックスの中)
  • Edit VideoページのDescription(テキストエリアの中)
  • Edit VideoページのTags(テキストボックスの中)
  • メッセージページのSubject、本文
  • お気に入りのTitle
  • ビデオ情報のポップアップ
  • ページタイトル(TITLEタグ内と実際のタイトルバー)
タイトルバーに関しては、TITLEタグ内の文字列の変換では変化しなかったので、ownerDocumentのtitle属性を変更することにしました。
それと、グループ名を数値参照文字列で日本語入力した場合、グループを表示するとページタイトルが数値参照文字列で表示されてしまうようなので、通常文字に変換する機能を追加しました。
watchページのビデオタイトルの方は、問題なく通常文字で表示してくれるようです。何が違うのだろうか。
バグとか未対応の項目とかがあれば、discussionにでも詳しく書いてください。

5. コマンドメニュー

(1) Set interval to watch over the form changing

上記3.のイベント処理がうまく働いている場合は、本機能は使用しないでください。
本機能を使用中の方は0を設定して監視を解除してください。

フォーム書き換え監視時のチェック間隔を指定します。
単位はミリ秒です。設定可能値は500(0.5秒)から10000(10秒)です。
監視不要という方は、Intervalに0を指定してください(デフォルトは0です)。
この場合、フォームノードの書き換え監視をしません。ポスト後などにボタンが消えた場合は、必要なときにコマンドメニューから、手動でボタンを追加してください。

(2) Add convert button to the form

「Convert」ボタンと「Inverse」ボタンを手動で追加します。
Intervalに0を指定した場合でボタンが消えたときに使用します。
上記2. ボタンの追加で記述されているフォームにしか付きません。

(3) Convert unreadable UTF-8 characters

ページ上で文字化けしているUTF-8文字列をUnicodeに変換して表示します。
自動変換処理を行わない時に手動で変換します。

(4) Enable automatic conversion mode of unreadable UTF-8 characters

UTF-8 ⇒ Unicode変換を自動的に行うモードに設定します。モード設定のみですので、次回 load 時以降有効になります。

(5) Disable automatic conversion mode of unreadable UTF-8 characters

UTF-8 ⇒ Unicode変換を自動的に行わないモードに設定します。モード設定のみですので、次回 load 時以降有効になります。デフォルトはこのモードです。

6. 備考

プロフィールやビデオ情報などを更新した場合、ページへの反映には時間がかかります。
プロフィールの場合、http://www.veoh.com/myprofile ページには即反映されますが、
http://www.veoh.com/users/username ページへの反映はタイムラグがあります。
同様にビデオ情報なども、しばらく待ってから確認してください。
Convert時の文字数チェックはビデオ情報入力フォームでは、MAXのサイズがよく分からなかったので行っていません。


Changelog

  • V0.1 初版
  • V0.2 グループ情報入力対応、ビデオコメント対応
  • V0.3 フォームノード監視オフ機能、Inverseボタンの追加、不要コード削除
  • V0.4 ビデオ情報入力フォーム対応、文字数カウントの修正、その他小さな修正
  • V0.5 文字化けUTF-8文字列の変換表示機能の追加
  • V0.6 多重に変換されている文字化けUTF-8文字列の繰り返し変換(最大5回)の追加
  • V0.7 フォームノードの書き換え判定をイベント処理で対応、文字化け自動処理モードの追加、文字化け項目の処理対象追加
  • V0.8 バグ修正(存在しない関数を呼んでいる部分があった、なぜか動作は問題ないんだが、通ってなかったのかな)
  • V0.9 accept-charsetを追加したというメッセージをフォーム内に表示するようにした。 ページタイトルの変換表示機能の追加
  • V1.0 Convertボタン、Inverseボタン、メッセージ領域のstyleをカスタマイズしやすいように変数化した。