別ウインドウで開くコンテンツをモーダルにするには?
- 詳細
- カテゴリ: テンプレート
- 作成日:2016-04-21
テンプレート内に空のiframeを配置し、別ウィンドウで開くコンテンツのURLをiframeのsrc属性に指定することで実装が可能です。
モーダルウィンドウを画面中央に配置する処理も含め、実装例をご案内します。
クライアント側で動作するスクリプトにつきましては、サンプルスクリプトを用意しておりますので、こちらからダウンロードをお願いいたします。
例:
PCサイト
<a class="sample" href="http://www.example.com/otherWindow.html" target="_blank">別ウィンドウで開くリンク</a>
スマホサイト側での記述
<gc-script>
//PC側のaタグを調整する
var $link = $('a.sample');
var href = $link.attr('href');
//aタグに元々ついている属性を無効化する
$link.attr('href','javascript:void(0);');
$link.removeAttr('target');
//onClick属性を追加する
$link.attr('onClick','iframeOpen('+ href +')');
</gc-script>
<!-- 上記スクリプト動作後のaタグ -->
<a href="javascript:void(0);" onClick="iframeOpen('http://www.example.com/otherWindow.html')">別ウィンドウで開くリンク</a>
<!-- 静的に記述するモーダル本体部分 -->
<div id="iframe_wrapper" style="display: none" onclick="IframeClose();">
<div id="iframe_close_icon" onclick="IframeClose();">
</div>
<div id="iframe_inner">
<iframe></iframe>
</div>
<div id="close_wrapper">
<div id="iframe_close" onclick="IframeClose();">閉じる</div>
</div>
</div>