DEVELOPERS BLOGデベロッパーズブログ

加藤 正人のデベロッパーズブログ

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

加藤 正人

2013/03/23

IE10 と CKEditor

 

Windows 8 がリリースされ、IE10 を利用するケースが増えてきたが、CKEditor が IE 10 でうまく動作しないことがある。現在判明している現象は下記の通り。

  • V2.x だと、CKEditor の入力欄にカーソルが入らないので入力自体ができない / 既存のデータが表示されない
  • V3.x だと、CKEditor の入力欄にカーソルは入り文字入力もできるが、改行できない

とりあえず上記の問題は、IE10 の [ツール]-[互換表示] をチェックして有効にすると解決する。

CKEditor 側で対応する場合は、既存の ckeditor フォルダの中身をまるごと 4.0.2 に変更することで解決する。

ただし、CKEditor と CKFinder を組み合わせて使っている場合、CKFinder が V2.1 およびそれ以前バージョンの場合、IE10 でサーバーブラウザを起動すると応答が無くなってしまうので CKFinder もバージョンアップする必要がある。(2.4 なら IE10 で動作することを確認済み。)

CKFinder のバージョンアップに際しては、CKFinder の設定ファイル config.php のバックアップを取っておき、旧 config.php に適用されている当該サイト用の設定を新しい config.php に反映させるのを忘れないこと。

よくある設定の例:

// CakePHP との協調動作用設定 (Auth 認証で利用)
session_name("CAKEPHP");
session_start();

// 認証状態チェック関数の修正 (CakePHP の Auth コンポーネントとの協調動作)
function CheckAuthentication()
{
	// WARNING : DO NOT simply return "true". By doing so, you are allowing
	// "anyone" to upload and list the files in your server. You must implement
	// some kind of session validation here. Even something very simple as...

	// return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized'];

	// ... where $_SESSION['IsAuthorized'] is set to "true" as soon as the
	// user logs in your system. To be able to use session variables don't
	// forget to add session_start() at the top of this file.

	if ( isset($_SESSION['Auth']['Admin']) && !empty($_SESSION['Auth']['Admin']) )	// CakePHP の Admin テーブルによる Auth 認証の確認
	{
		return TRUE;
	}
	return false;
}

// ベース URL の変更
$baseUrl = '...';	// Cake の見かけ上の URL パス。サイト上の実パスは $baseDir に定義する

// サイト上の実パスの変更
$baseDir = realpath(dirname(__FILE__)) . '/userfiles/';	// 例:このファイルからの相対位置にある userfiles を指定する

等。

関連タグ: IE10  CakePHP2  CakePHP  CKFinder  CKEditor  JavaScript 

関連エントリー

YOLP (Yahoo! Open Local Platform) のサービス縮小

CakePHP のレンダリング結果を保存したい

iframe の中身の動的切り替え

CakePHP 2.x の Cookie と js.cookie.js

時刻入力用 jQuery Plugin TimePicki の不具合調整

CakePHP プラグインで HTTPS 判定

作業用モデルビヘイビア

CakePHP のバリデーション時に状況に応じてバリデーションルールを変更する

JavaScript でのクロージャからの外部変数参照

CsvLoader ビヘイビアを使って CSV を一発でロードする Cake Shell

CakePHP の Security コンポーネント、ベーシック認証、CGI

形態素解析システム MeCab (めかぶ) を CakePHP から利用する

Google APIs Client Library を CakePHP から利用する

分数電卓を作ってみる・その2

分数電卓を作ってみる・その1

CsvLoaderBhavior - CSV データを CakePHP で扱うための一手法・その2

 CsvLoaderBhavior - CSV データを CakePHP で扱うための一手法

CakePHP でストアドファンクション

テキストフィールドを CSV として処理する CakePHP ビヘイビア・補足

テキストフィールドを CSV として処理する CakePHP ビヘイビア・その2

テキストフィールドを CSV として処理する CakePHP ビヘイビア・その1

Google Maps で郵便番号⇒住所変換・その2

Google Maps で郵便番号⇒住所変換

テキストを自動整形する簡易 CakePHP ヘルパー

Google Chart へのアクセスをヘルパーで実装してみる【その2】

Google Chart へのアクセスをヘルパーで実装してみる【その1】

Google reCAPTCHA を使いやすくする

駅データ.jp のデータを CakePHP から使う

CakePHP の小ネタ

UploadPack を Exif Orientation 対応にする

作業用テーブル処理を再利用可能なツール化してみる・その1

クリックイベントが2回実行される?!

MySQL で「指定した順序で結果を取得」

CakePHP のフォームで required・その2

CakePHP の Paginator の sort() で昇順ソート時に NULL 値を最後にしたい

CakePHP のフォームで required

UploadPack のヘルパーメソッド名称が変わっていた

CakePHP 2.x の PaginatorHelper::sort の不思議

Google Maps Javascript API V2 提供終了

Google Bot と JavaScript

IE と IFRAME のワナ

UploadPack で四苦八苦・再び

CakePHP で四苦八苦 - あるフィールドにだけ値が書き込まれない

UploadPack で四苦Hack その後

IE のワナ (script タグの type 属性値)

CakePHP の小ネタ

「JavaScript でバリデーション」を拡張したい

CakePHP v2 のエラー処理

JavaScript でバリデーション

JavaScript で入力フィールドの文字カウンタを実装してみる

UploadPack で四苦Hack・その2

Paginator で見かけの URL を使用する方法

「Notes プラグインが見つかりません」

SyntaxHighlighter ではまった話

CakePHP v2 で HTTP エラー画面をカスタマイズする

UploadPack で四苦Hack

PHP 5.4 と CakePHP 2.x