0

複数のWebページがあり、それぞれにiframeとリンクが含まれているとします。リンクをクリックすると、新しいタブのそれぞれのページでiframeのソースが開きます。

$('#win1_docViewerNewTab').click(function () {
    window.open($('#win1_docViewer').attr('src'), '_blank');
});

さらに、これらの各Webページが同じDOMにあるとしましょう(たとえば、jQueryタブを使用)。各リンクには一意のIDが必要ですが、すべて同じクラスを使用します。iframeについても同じです。

私の質問:繰り返しを回避する方法はありますか?マスターページに1つのjavascript関数を設定すると、3つのページすべてのリンクがそれぞれのiframeを新しいタブで開くようになりますか?

4

1 に答える 1

2

現在、アンカーとiframeには関係がありません(信頼できないID名間の奇妙な関係を除いて)。

HTML5data-*属性を使用して、アンカーをiframeに関連付けることができます。

<a class="anchor" id="win1_docViewerNewTab" data-iframeid="win1_docViewer" href="...">Click me</a>

次に、マスターページで:

$('.anchor').click(function () {
    window.open($('#' + $(this).data('iframeid')).attr('src'), '_blank');
    return false;
});
于 2012-08-17T21:35:46.890 に答える