LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

Firefox, Chrome, Opera でイメージマネージャの img コードをキャレット位置に挿入

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/9/6 22:24
OhYeah  2nd Class   投稿数: 8
 d3imgtag のイメージマネージャを使うようになって初めて気づいたんですが、xoops.js を修正しただけだと、イメージマネージャから挿入される img コードが IE 以外ではキャレット位置に挿入されないんですね。ということで、今度はイメージマネージャからの img コードをキャレット位置に挿入する方法です。
 XCL の標準イメージマネージャの場合は legacy_image_list.html、d3imgtag のイメージマネージャの場合は d3imgtag_imagemanager.html の function appendCode() を下記のように書き換えれば OK です。こちらに若干詳しく書いてあります。
 IE8, Firefox3.6, Chrome5, Opera10 で動作することを確認しました。
function appendCode(addCode) {
    var domobj = window.opener.xoopsGetElementById('<{$target}>');
    if (document.selection) { // for IE
        domobj.focus();
        obj = window.opener.document.selection.createRange();
        obj.text = addCode;
        obj.select(); // Display caret when text was replaced
    } else if (domobj.setSelectionRange) { // for Fx, Chrome, Opera
        var startPos = domobj.selectionStart;
        var endPos = domobj.selectionEnd;
        var lastPos = startPos + addCode.length;
        domobj.value = domobj.value.substring(0, startPos) + addCode
                       + domobj.value.substring(endPos, domobj.value.length);
        domobj.setSelectionRange(lastPos, lastPos); // Move caret to inserted text end
    } else { // for Other Browser
        domobj.value = domobj.value + addCode;
    }
    //window.close();
    return;
}
投票数:0 平均点:0.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities