無料ブログ「rentafree.net」の管理人ブログ

<input type="range">はまだ・・・

先月書いた記事でお伝えしましたが、
Firefox 22 で<input type="range">が実装されるとのことで、当サイトでも利用する予定でしたが、
Firefox 22(現Beta)で実装されているようなのですが標準で無効になってる?
ちょっとよくわからないですが、現時点で22(Beta)では有効になってないので確認していません。
Firefox 23(現Aurora)では有効なようですが、こちらで試すのはBetaまでです。

Firefoxのリリースは22が6月下旬で23が8月上旬になると思いますが、22リリース後に23がBetaになりますので、
他ブラウザでは既に実装されており、こちらでも早く使用したいので、23リリースを待たずに来月に修正を行うかもしれません。

ブログエディターの色選択部分のみの変更になるので大した変更にはなりません。

Firefox 22 で<input type="range">が実装されるようなので

HTML5の<input type="range">にFirefoxが22でやっと対応するようなので、
Firefox 22 が出たら、確認した上で当サービスでも導入します。
Firefoxは現行バージョンが20で、5月(上旬?)に21、6月(下旬?)に22がリリースされるようです。

<input type="range">は、HTMLでスライダーUI(バー上にポッチがありマウスで移動させて数値を指定するUI)を実装することができ、
現在ブログエディターの色選択ツールのRGB値指定部分に独自UIのスライダーを実装していますが、これをブラウザ標準のUIに置き換えます。
これにより非対応ブラウザではスライダーが表示されなくなりますが、数値の直接入力は可能ですので致命的な問題とはなりません。

Firefox以外の主要ブラウザは既に<input type="range">に対応していますが、
Firefox以外の全てのブラウザは、 別の重要な部分でHTML5の実装が遅れているため、当サービスではFirefoxのみを推薦ブラウザとし、他のブラウザとブログエディターを分けています。
そのため、Firefox以外で利用されるブログエディターは新機能は基本的に導入しませんので、Firefoxのみ影響を受けることになると思います。

今月は何も書いていなかったので・・・

サービス開始から毎月このブログに何かしら書いていましたが、今月は現時点で、まだ何も書いていないので適当に・・・


何も修正していないから記事書いてないわけですが、
現在のところサービスに現実的な修正予定等はありません。

Firefox以外でのブログエディターをFirefoxと同じ新エディターに移行させたいのが最優先ですが、
Firefox以外のブラウザにコンテキストメニュー(右クリックメニュー)を拡張する方法はありませんので現時点ではできません。


Firefoxは今日あたりに19がリリースとなりますので、beta20がこちらで利用できるようになりましたら、いつも通りテストします。
19については、プラグイン不要の標準機能でPDFが読めるようになるという大きな変更点がありますが、
当サービスに影響するような変更点は無さそうです。

ブラウザの"戻る"の時に警告

マウスのチルトホイールや4ボタン以降のボタン誤操作で文章入力中にページが移動して編集中の文章が消えるのを防ぐために、
ブラウザの"戻る"時に警告を出すようにすることを検討してみたんですが、

ブラウザの"戻る"だけを検知して警告を出すことはできないので、
代わりに"beforeunload"イベントでページが閉じられる前に処理をする必要があるのですが、
これだと"戻る"以外にも<a><form>などでも発生してしまう。

<form>だけ回避するという事も出来なくはないですが、
イベント発生場所の取得もできないので全ての<a>でイベント処理をキャンセルすることはできなそう。

<form>以外でのページ移動の際に全て警告を出してもいいかなとは思うんですが、
下書き機能の自動バックアップもありますし、そもそも警告を出す必要性があまりないかなと思うんで、
この件は実装しない方向で・・・

Wikiにもハイブリッドテンプレートを用意しようかと・・・

ブログ公式テンプレートに新たに用意した、カラム数可変のハイブリッドテンプレートは、
ハイブリッドを標準にしようかと検討したくらいで良くできたと思っているのですが、
(レイアウトが変化することを理解せずに使用されたくないので標準にはしませんでしたが)
モバイル機器で通常のWEBサイトを見ることが多くなっていますので、
ブログではなく、Wikiの方も同様にハイブリッドテンプレートを用意できないか検討しています。

ブログはサイドバーにはプラグインしか設置できないので、プラグイン単位にグループ化することができますが、
Wikiの場合はサイドバーに何が入っているのかわかりませんので、システムを変更して構文を拡張する必要がありますが、
一応構想はできていますので、近いうちに実際に検証してみようと思います。

自動バックアップ機能をつけるかも・・・

この前ブログに長文を書こうとしてる時に、
ページ移動が発生しちゃって作成中の記事が消えちゃってかなりショックだったんで、
ブログエディターに自動バックアップ機能をつけようかな・・・
と考えてます。

変更を監視して、
下書き機能を拡張して保存する感じで考えてます。
つけるとしても、新エディターのみになると思うんでFirefoxだけ。

リファラーがない場合コマンドを受け付けないようにしようかと・・・

CSRF対策で、
公式サイトのほとんどのコマンドに対して、
リファラーがない場合コマンドを受け付けないようにしようかと考えてます。

リファラーが送信されないブラウザで利用しているユーザーは利用できなくなりますが、
数日分のログを見たところリファラーを送っていないユーザーは一人もいなそう。

リファラー確認以外の対策も考えましたが、
投稿系コマンドはPOSTですが、削除系等はGETだったりしますし、
単純な掲示板と違ってコマンドがたくさんあるからコマンドごとに個別に対策してると穴ができそうなんで、
リファラーで一括制限にします。たぶん。

たぶん今日明日にでも実装する。

改善したい問題点等

IEのステルスアップデート?で問題が発生するようになっていたので、また問題が生じるようにならないか気になりますが、
かなり重要な問題と考えていた、IEのEnter問題は解決出来ましたが、
その他で把握していて改善したい問題点。

1. ブログエディターでOperaのEnterを<br>にできない。
2. タッチパネル機でコンテキストメニューが出ない。

まあ、以前から何度か書いてますが、こんなところ。

OperaのEnterは、
他ブラウザはEnter入力時に<p>や<div>ではなく<br>を挿入するように処理していますが、
元々は、他ブラウザと共通処理をするとキャレットが消滅するという現象が発生していました。
どうもこの現象、selectionを削除するとscriptでselectionを設定してもキャレットが表示されない。
という事のようで、
今回の対IE用の修正で、selection自体は削除せずにrangeのみ操作するように修正したのですが、
それにより、同じ処理をOperaで行なってもキャレットは消滅しなくなりました。
が、<br>を挿入しているのでキャレットは次の行に移動して欲しいところですが、移動しないようなので処理を分けたままにしています。
この問題の解決のために、いろいろな方法でrange置換を試していますが、Operaでの解決方法は見つかっていません。
解決方法が見つかり次第対応したいです。

タッチパネル機でコンテキストメニューが出ないのは、
マウスの無いタッチパネル機では、右クリックの代わりに長押しでコンテキストメニューが出て欲しいところですが、
主要ブラウザのどれもcontenteditable上でコンテキストメニューは普通にはでません。出す方法も見つかっていません。
Firefox以外では、contenteditable以外に関してもコンテキストメニュー出ませんし、oncontextmenuイベントすら発生しない。
ブラウザアップデートでPCブラウザと同じような動作をしてくれるようになってくれないと厳しい。
タッチパネル機のために右クリック操作を捨てるとPCで編集しにくくなってしまうと思いますし。


あとは、
* CSSのviewportによる公式サイト全体のモバイル機器での縮小表示回避。(Opera以外未実装)
* ブログエディターの<menu>でのコンテキストメニュー拡張。(Firefox以外未実装)
* <input type="range">とかHTML5の<input>。(OperaとWebkitは随分前から実装してるんだが・・・)
* ログインフォームを<iframe srcdoc seamless sandbox>にしてセキュリティーを高めたい。(Webkitは実装しているが、全ブラウザ問題あり)
こんなところ。
ブラウザ実装が進まないと対応できない。

今月は何も更新していませんが・・・

サービス開始から毎月何かしら修正していましたが、
今月は何も修正ないかも・・・

すぐにできるような機能追加の予定は今のところ無いです。
要望等ありましたらサポート掲示板や問い合わせからお願いします。


ブログエディターのタッチパネル対応は、かなり操作厳しいので改善したいですが、
Androidの各種ブラウザで、contextmenu系のイベントが機能しないので、
現状ではこれ以上対応できません。

あと、先日IE10と9でrangeにタグを適用する際にエディターが破損する場合があることに気づいて修正しましたが、
その他に、「Enterキーでの改行時に、一つ目のEnterでキャレットが移動しない。」
という問題が発生しているのを把握しています。
致命的でもないと思いますが、治せるなら治したいですが、難しい感じ・・・
これも、以前は問題なかったはずなんですが、IEはバージョン変わらずに、こっそり仕様が変わるらしい・・・

ブログエディターで表のセルにstyle

管理人ブログの"対応ブラウザ"ページなんかがそうですが、
ブログ記事に表を記載したい場合、表に枠つけることが多いと思いますが、
うちのブログエディターで簡単に枠をつけることができますが、
各<td>にCSS書くんで、HTMLコードの量が多くなってHTML直接見ると意味がわからん・・・

ってわけで、
各<td>にCSS書かずに、
<colgroup>使うように修正しようか考えてる。