HTMLエディタにてサイト内リンクを貼り付ける際の挙動

HTMLエディタにてサイト内リンクを貼り付ける際の挙動

- Hiroyuki H の投稿
返信数: 5

こんにちは。
フォーラムにサイト内リンクを投稿する際、リンクが設定されている文字列をマウスで選択してコピー⇒HTMLエディタ内に貼付け、という手順を使うと簡単に投稿できる、ということを白井先生が公開されたMoot2012 Mieでのご発表資料で知りました。

そこで、その機能を利用してちょっとしたカスタマイズを試みているのですが、手元の環境ではHTMLエディタの挙動(?)がブラウザによって違うことに気づきました。(Moodleのバージョンは、2.2.1+です)

例えば、下記のようなURLでMoodleを構築しているとします。
http://mymoodle_FQDN/hoge/

この際、config.phpでは
$CFG->wwwroot   = 'http://mymoodle_FQDN/hoge';
と設定しています。

このMoodle上のフォーラムへの投稿時に、Moodleサイト内のリンクをマウスで選択してコピペします。
例えば、ユーザのパブリックプロファイルへのリンクをコピペした場合は、下記のようなURLに対するリンクが書込まれるはずです。

http://mymoodle_FQDN/hoge/profile.php?id=2

この動作は、Internet Explorer 9、Google Chrome 17では問題ありませんが、Firefox 10.0.2では下記のようにリンクがおかしくなります。

http://mymoodle_FQDN/hoge/hoge/profile.php?id=2

投稿を行った時点でおかしくなるのではなく、HTMLエディタ内に貼付けを行った時点でおかしくなっているようです。
とり急ぎ私の手元の環境だけの現象なのか確認したいと思っているのですが、同様の事象を確認できた方がいらっしゃいましたらお知らせ頂ければ幸いです。
よろしくお願いいたします。

Hiroyuki H への返信

Re: HTMLエディタにてサイト内リンクを貼り付ける際の挙動

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

下記の環境でコース内ニュースフォーラム投稿ページのHTMLエディタにプロファイルのURLをコピー&ペーストしてみましたが、問題なく貼り付けることができるようです。

Moodle:
Version 2.2.1+ (Build: 20120223)

ブラウザ:
Internet Explorer 8.0.6001.18702
Mozilla Firefox 10.0.2

クライアントOS:
Microsoft Windows XP Professional Service Pack 3

添付 moodle_editor.png
Mitsuhiro Yoshida への返信

Re: HTMLエディタにてサイト内リンクを貼り付ける際の挙動

- Hiroyuki H の投稿

こんにちは。ご検証いただきましてありがとうございます。
ちょっと私の書き方が悪かったように思うので念のためご確認なのですが、例えばご投稿頂いた画像で言いますと、左側の "News forum"の青字の部分をそのままマウスで範囲選択してコピーし、HTMLエディタ内に貼り付けても正しいリンクになりますでしょうか?

Hiroyuki H への返信

Re: HTMLエディタにてサイト内リンクを貼り付ける際の挙動

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

Mozilla Firefox 10.0.2でしたら、ご指摘のようにリンクがおかしくなります。

添付 moodle_editor.png
最大評点: お役立ち度: ★★★★★★★ (1)
Mitsuhiro Yoshida への返信

Re: HTMLエディタにてサイト内リンクを貼り付ける際の挙動

- Hiroyuki H の投稿

検証ありがとうございました。当方だけの現象だけではないのですね。
難しそうですが原因を調べてみます。

Hiroyuki H への返信

Re: HTMLエディタにてサイト内リンクを貼り付ける際の挙動

- Hiroyuki H の投稿

TinyMCE側では、document_base_urlは"/"で終わらなければならない、となっていますが
http://www.tinymce.com/wiki.php/Configuration:document_base_url )

Moodleの mymoodle/lib/editor/tinymcr/lib.php は
'document_base_url' => $CFG->httpswwwroot,
となっています。

$CFG->httpswwwroot は(loginhttpsが有効ではない場合) config.php の $CFG->wwwroot と同等になり、/で終わらないようになっています。

そこで、Moodleの mymoodle/lib/editor/tinymcr/lib.php  を
 'document_base_url' => $CFG->httpswwwroot.'/',

に変更すると、Firefox 10.0.2で件の現象は発生しなくなることが確認できました。

ただこの修正を行うと他の事象を引き起こすことがあるようで( http://tracker.moodle.org/browse/MDL-27688 )、結論としてはMoodleに組み込まれているTinyMCEのバージョンが上がるのを待って再調査が必要なのかな、と思います。


最大評点: お役立ち度: ★★★★★★★ (1)