#2328 closed enhancement (fixed)
一部のブラウザでアルバム小窓がカーソルの位置に挿入されない
Reported by: | imamura623 | Owned by: | fukamachi |
---|---|---|---|
Priority: | minor | Milestone: | OpenPNE2.13.8 |
Component: | その他 | Version: | 2.12.x & 2.14.x |
Keywords: | Cc: |
Description (last modified by )
■現象
PC版において、一部のブラウザでアルバム小窓を使った際にカーソル位置にテキストが挿入されず、テキストエリアの一番上に挿入されてしまう。
■環境
- OS : WindowsXP SP2, Windows2000 Professional
- ブラウザ : IE6, IE7
■原因
IEでは他のブラウザのようにカーソル位置を取得できないため。
■修正内容
実行ブラウザがIEの場合のみ、別の処理をさせるようにした。ブラウザの判定にはプロパティの有無を使った。
184 if (undefined !== window.execScript) {
execScriptプロパティはIEにしか実装されていないため、IEだけ処理を分けることができる。
■関連情報
元のDescription
http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=16662 より転記
アルバムから貼り付けするときにどうしてもタグが上に貼ってしまう。。。 (とりあえず、カット&ペーストで対応していますが、できることならカーソルの位置でペーストできるとベスト)
Change History (48)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Priority: | minor → major |
---|
comment:3 Changed 13 years ago by
Keywords: | 再現待ち removed |
---|
以下のような確認を行ってみたところ再現できました。 また、FireFox2.0では正常に動作しました。
■確認ブラウザ
- IE6
■確認バージョン
- trunk
■手順
- 日記作成画面
- タイトル・本文を入力し、適当な位置にカーソルを合わせる
- アルバム小窓からアルバムを挿入
- アルバムが挿入されている位置を確認
comment:4 Changed 13 years ago by
Milestone: | → OpenPNE2.12beta2 |
---|
comment:5 Changed 13 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
やります。
comment:6 Changed 13 years ago by
Priority: | major → minor |
---|
IEだと別ウィンドウを開いたときにテキストエリアのカーソル位置情報が消えるのが原因っぽいですね。
調査・対応が難しいので優先度低めで取り組みたいです。
comment:7 Changed 13 years ago by
Owner: | changed from ebihara to nobody |
---|---|
Status: | assigned → new |
他のバグ修正を優先します。手放します。
comment:9 Changed 13 years ago by
Version: | 2.11.x → 2.12.x & 2.13.x |
---|
comment:10 Changed 13 years ago by
Milestone: | OpenPNE2.12beta3 → OpenPNE2.12RC1 |
---|
comment:11 Changed 13 years ago by
Milestone: | OpenPNE2.12RC1 → OpenPNE2.12RC2 |
---|
comment:12 Changed 13 years ago by
Priority: | minor → major |
---|
フォーカスが外れる直前にカーソル位置をBookmarkしておくという策は採れるかもしれません。
comment:13 Changed 13 years ago by
IE の場合のみ、 textarea に対して、
document.getElementById("mce_editor_textarea").onblur = function() { var rng = this.createTextRange(); var bk = rng.getBookmark(); this.focus(); rng.moveToBookmark(bk); };
このようなコードを書くことで、フォーカスが外れた瞬間に現在のカーソル位置を記憶し、戻すことができるようになります。
これを活用していく方向で実現したいです。
comment:14 Changed 13 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
チャレンジしてみます。
comment:15 Changed 13 years ago by
Priority: | major → minor |
---|
comment:16 Changed 13 years ago by
Milestone: | OpenPNE2.12RC2 → OpenPNE2.12.1 |
---|
comment:17 Changed 13 years ago by
Keywords: | OpenPNE2.13.2 added |
---|
comment:18 Changed 13 years ago by
Milestone: | OpenPNE2.12.1 → OpenPNE2.12.2 |
---|
comment:19 Changed 13 years ago by
Milestone: | OpenPNE2.12.2 → OpenPNE2.12.3 |
---|
window.open() によってダイアログを表示するのをやめるというのがシンプルな対処方法かもしれません。
comment:22 Changed 12 years ago by
Keywords: | OpenPNE2.13.3 added; OpenPNE2.13.2 removed |
---|
comment:23 Changed 12 years ago by
Type: | defect → enhancement |
---|
comment:24 Changed 12 years ago by
Keywords: | OpenPNE2.13.3 removed |
---|
comment:25 Changed 12 years ago by
Owner: | changed from ebihara to nobody |
---|---|
Status: | assigned → new |
comment:27 Changed 12 years ago by
Owner: | changed from nobody to fukamachi |
---|---|
Status: | new → assigned |
修正します。とりあえずは仕様変更ではなく、comment:13の海老原さんの方法で修正したいと思います。
comment:31 Changed 12 years ago by
r11284で修正しました。
public_html/js/pne_decoration.js の関数に、IE用の動作部分を追加しました。
comment:33 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
Windows 2000 Pro IE6
の環境でテストしたところ、正常に動作していなかったので自分で差し戻しておきます。
comment:35 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
カーソル位置への挿入に、expand()は使わなくてもいいみたいです
修正すべき内容
- selection.expand("character"); - if (selection.text === "") { - selection.text = str + selection.text + "\n"; - } else { - selection.text = str + selection.text; - } + selection.text = str + selection.text;
時間があるときに修正します。
comment:37 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
FireFox3.0では修正を確認できましたが、IE6で確認したところ修正されていません。
- 確認ブラウザ:IE6
- 確認バージョン:trunk
日記の作成で適当な文字列を本文に入力し任意の位置にカーソルを移動後
アルバムの挿入を行うと、本文の一番上に挿入されてしまいます。
comment:38 Changed 12 years ago by
r11292時点ではWin2000, IE6で動作確認したのですが、
r11317の変更後に動かなくなったのかもしれません。
申し訳ないです。時間があるとき(明日)に修正します
comment:39 Changed 12 years ago by
r11418時点で確認しましたが、再現しませんでした。
- 確認OS : Windows2000
- 確認ブラウザ : IE6
- 確認バージョン : trunk(r11418)
comment:40 Changed 12 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
開発版へのマージ忘れが原因でした。
r11515でマージしましたので、再確認お願いします。
comment:41 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
firebugでjsのエラーが出ています、firefox3では動作上問題ありませんでしたが
IETesterでIE6をテストしたところエラーが出てしまい正常に挿入されませんでした。
comment:42 Changed 12 years ago by
エラー内容について追記します。
- エラー内容
- t.editor is null
- t.editor is null
- ファイル
- js/tiny_mce/tiny_mce_popup.js?r7140 23行目
comment:43 Changed 12 years ago by
上の内容とは関係ないですが、JSLintで警告が出ていたのでr11518で修正しました。
- 値を必ずしも返さない関数がある
- セミコロン忘れ
- 変数の再定義
- 条件文での == の使用(===を使用して厳密化)
comment:44 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | 確認中 added; 差し戻し removed |
comment:45 Changed 12 years ago by
comment:46 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:47 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | 確認中 removed |
comment:48 Changed 12 years ago by
Description: | modified (diff) |
---|
報告された方の環境は下記のとおりです