コメントのリンクを新しいウィンドウで表示する
Tag:[]
Movable Type のコメントに挿入するHTMLタグはサニタイジングの関係で使用が制限されています。デフォルトで使用可能なタグ(属性含む)は
- a href、b、br、p、strong、em、ul、li、blockquote
です。つまり a タグで許容されている属性は href のみですので、target 属性を付与しても Movable Type が自動的に target 属性を削除するため別ウィンドウで表示することはできません。
下記に target 属性を有効にするための変更方法を記します。なおこの機能を利用する場合の注意事項として、コメントのリンクを有効にする方法は
- http://? を直接コメントとして記述したものに自動的にリンク(=aタグ)を付与する
- <a href="http://?" target="_blank">~</a>を手入力してリンクする
の2通りがありますが、両者は排他的ですのでいずれかの機能しか有効にできません。
左図は管理画面の設定箇所の抜粋です。図のように上の「コメントでのHTMLの利用を許可する」をチェックすればHTMLタグが利用できます。下の「URLを自動的にリンクにする」をチェックすればコメントに記したURLに自動的にリンクが与えられます。上にチェックがついている場合、下のチェックは無効になります。これらを踏まえてどちらのカスタマイズを実施するかを選択ください。 |
1.の場合
1.1 target 属性を許可する(方法その1)
先と同じ画面で最初の「一般的な設定」の「除去機能」のラジオボタンより「カスタマイズ」を選択し、ラジオボタンの右側にあるテキストボックスに下記の文字列をそのまま設定し、「保存」をクリックします。再構築は不要です。図のような設定状態になります。 |
- a href,a href target,b,br/,p,strong,em,ul,li,blockquote
1.2 target 属性を許可する(方法その2)
mt.cfgの358行目の下記の部分を変更する変更前
# GlobalSanitizeSpec br/,p
変更後(先頭の"#"および半角空白を削除)
GlobalSanitizeSpec a href,a href target,b,br/,p,strong,em,ul,li,blockquote
カスタマイズはどちらか一方で大丈夫です。なおいずれの方法も他のタグを事前に追加されている場合は引き継いでください(上記はデフォルトの設定に target 属性を追加しているだけです)。
・リンクに target 属性を自動付与する
上記のいずれかの対処に加え、
- lib/MT/Util.pm
の500行目辺りにある下記の関数に青色部分を追加してください。
これでコメント内の http://? と書かれたURLにtarget属性付きのリンクが自動で付与されます。
sub munge_comment {
my($text, $blog) = @_;
unless ($blog->allow_comment_html) {
$text = remove_html($text);
if ($blog->autolink_urls) {
$text =~ s!(http://\S+)!<a href="$1" target="_blank">$1</a>!g;
}
}
$text;
}
2.の場合
1項の「target属性を有効にする」のいずれかを実施すれば、コメント内に記述した a タグの target 属性指定が有効になります。なお1の「target 属性を自動付与する」を実施しても自動付与はされませんので、手入力で target 属性を指定してください。- Movable Typeのコメント完了ページの内容を記事ごとに振り分ける方法
- Movable Typeで特定カテゴリのコメントを表示する方法
- Movable TypeでreCaptchaを利用する
- Movable Typeでカテゴリ別+ブログ記事別に新着コメントを表示する
- Movable Type 5でコメント投稿フォームをポップアップする
- Movable TypeのコメントでFacebookアカウント認証を有効にする
- Yahoo! JAPAN OpenID を省略表示する(その2)
- コメントにHTMLタグ挿入ボタンをつける(MT4/MT5版)
- コメント投稿にTwitterのOAuth認証を導入
- Movable Type 5でのMTCommentsタグの動作
- ブログ記事とコメントをひとつのフィードで配信する
- Movable Typeのコメント一覧からウェブページのコメントを除外して表示する
- Movable Typeのコメントにimg要素を許容する
- Movable Type(MT)のコメント投稿者の承認と禁止について
- Movable Type 5(MT5)のコメントのページ分割機能(その2:カスタマイズ)
≫ コメント中のリンクを別窓で開く from やむやむ
コメント中のリンクに target="_blank" と 別窓で開くように指定し... [続きを読む]
≫ コメントのリンクを別窓表示に from Internet Zone::Movable TypeでBlog生活
コメントの欄に記入されたURLは自動的にリンクになるように設定しているのですが、それでも新しいウィンドウで開かないので、なんとかならんかなあ〓と思っていたら、こ... [続きを読む]
≫ コメントのリンクを新しいウィンドウで表示する from First Weblog
小粋空間: コメントのリンクを新しいウィンドウで表示するコメントのリンクを新しい... [続きを読む]
≫ コメントのリンクを別のウィンドウで表示する from とりあえずLOG
またまた、小粋空間さんにお世話になってしまいました。 手順1「mt.cfg」ファイルの358行目の# GlobalSanitizeSpec br/,pを 頭の... [続きを読む]
ホントありがとうございました。先日、コメント欄で絵文字を使えるようにするため、HTMLタグの使用を許可する設定にしてたので、さえらの場合、こちらの記事の2のケースに該当します。target 属性を許可する(方法その1)で、a href target を使用できるタグに加え、実際以前に target="_blank" と指定したのに別窓で開かなかったリンクをクリックしてみると・・・見事に別窓が開いてくれました。ヽ( ̄▽ ̄)ノ
いつもお世話になっております。
おお、これはいいと思い1の方法で早速試してみたのですが、target属性付与どころかリンクもされません。
何度か確かめて見て、設定に間違いは無いように思うのですが、もし陥りやすいミスなど心当たりがありましたらご教授頂けますでしょうか。
自己解決しました。
1のやり方がURLを自動的にリンクにする」、2のやり方が「コメントでのHTMLの利用を許可する」なのですよね。
勘違いして逆に設定していたようです。
お蔭様で随分便利になりました。
今後もよろしくお願いいたします。
>さえらさん
おめでとうございます。
私も勉強になりました。(笑)
>月夜さん
あ、画像が紛らわしかったですね…すいません。
とりあえずうまくできたようでよかったです。
ではでは!
はじめてコメント残します。失礼します。
コメント欄をMovable typeに設置したところ、PermalinkというかMTEntrylinkでlinkされているところがすべて、コメントをもらったページにリンクされてしまうと言う悪夢のような事態に遭遇しています。
コメント欄を削除しても、一向に直らないようです。
アドレスを見ると、各記事のアドレスなのですが、飛ぶページはいつも同じ。
「続きを読む」がまったく機能しなくなってしまいました。
いったいどうすればよいのでしょうか?
解決方法も見つからずお便りした次第です。
もしご存知でしたら教えていただけないでしょうか。
どうぞ宜しくお願い致します。
>yucoさん
はじめまして。
ご質問の件ですが、原因不明です。
根本的な解決につながらないと思いますが、以下、思いついたことを書いておきます。
・ブラウザの左上に表示される記事タイトルは問題ないようですが、エントリーの中身自体は大丈夫でしょうか?
・不具合の後、エントリーアーカイブは再構築されましたでしょうか?
・MTEntrylink を MTEntryPermalink に変更されるとどうなるでしょうか?
・不具合が直らないようであれば、デフォルトテンプレートに入れ替えてみるという手もあります(現状のテンプレートはバックアップをとっておきましょう)。
以上です。
それではどうぞよろしくお願い致します。