趣味のブログ - IE 以外のブラウザでイメージマネージャの img コードをキャレット位置に挿入
「IE 以外のブラウザで BBcode 及びスマイリーをキャレット位置に挿入」で、Firefox, Chrome, Opera でも BBcode とスマイリーをテキストカーソル位置に挿入できるようになりました。しかし、最近イメージマネージャを使い始めて気がついたんですが、イメージマネージャで画像を選択した場合は、IE 以外のブラウザでは img コードが文末にしか挿入されないんですね
。
というわけで、今度は Firefox, Chrome, Opera でイメージマネージャの img コードをテキストカーソル位置に挿入できるようにしてみました。

というわけで、今度は Firefox, Chrome, Opera でイメージマネージャの img コードをテキストカーソル位置に挿入できるようにしてみました。
XOOPS の標準イメージマネージャを使用している場合は、ALTSYS のテンプレート管理で、「互換モジュール」の「legacy_image_list.html」の DB-default を編集するのが最も簡単です。function appendCode() 全体を下記のように修正すれば OK です。
オリジナルと同様に、画像選択後イメージマネージャのウィンドウを閉じたいときは、window.close(); の行の // を削除します。
ALTSYS を使用していない場合は、{XOOPS_ROOT_PATH}/modules/legacy/templates/lagacy_image_list.html を直接編集して、互換モジュールのアップデートを行ってください。
IMGTag D3 のイメージマネージャ統合を使用している場合は、d3imgtag のテンプレート管理で d3imgtag_imagemanager.html の DB-defalut で function appendCode() 全体を下記のように修正します。
オリジナルと同様に、画像選択後イメージマネージャのウィンドウを閉じたいときは、window.close(); の行の // を削除します。
ALTSYS を使用していない場合は、{XOOPS_ROOT_PATH}/modules/legacy/templates/lagacy_image_list.html を直接編集して、互換モジュールのアップデートを行ってください。
IMGTag D3 のイメージマネージャ統合を使用している場合は、d3imgtag のテンプレート管理で d3imgtag_imagemanager.html の DB-defalut で function appendCode() 全体を下記のように修正します。
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;
}
トラックバック
トラックバックpingアドレス http://www.o-ya.net/modules/d3blog/tb.php/32
コメント一覧
0件表示
(全0件)
すべてのコメント一覧へ