避免使用母版页在 Javascript 中重复

Avoiding Repetition in Javascript Using a Master Page

本文关键字:Javascript 母版页      更新时间:2023-09-26

假设我有多个网页,每个网页都包含一个iframe和一个链接。单击该链接将在相应页面上的新选项卡中打开 iframe 的源代码。

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

此外,假设这些网页中的每一个都在同一个 DOM 中(例如,使用 jQuery 选项卡)。每个链接都需要一个唯一的 ID,但它们都使用相同的类。内嵌框架也是如此。

我的问题:有没有办法避免重复,并且在母版页上只有一个javascript函数,该函数将导致所有三个页面上的链接在新选项卡中打开各自的iframe?

目前,锚点和 iframe 没有任何关系(除了它们的 id 名称之间有一些无法依赖的古怪关系)。

您可以使用 HTML5 data-*属性将锚点与 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;
});