显示双按钮和三按钮(多姆诺德插入)

Double and triple button is shown (DOMNodeInserted)

本文关键字:按钮 插入 显示      更新时间:2023-09-26

我有一个奇怪的问题:

我正在开发一个chrome扩展程序,在Facebook的"喜欢"按钮旁边添加一个自定义按钮。到目前为止,在很多帮助下,我找到了一种运行脚本的方法,即使将帖子添加到新闻提要(无需刷新页面(。但问题是,在时间线/股票代码(右侧的实时提要窗口(中,按钮会随着时间的推移而复制自己。

我目前的脚本:

$(document).ready(function(){
    $(".like_link,.cmnt_like_link").after(
        '<span class="dot"> · </span>' +
        '<button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}">' +
            '<span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span>' +
        '</button>'
    );
    $(".taheles_saving_message").hide();
    $(document).bind('DOMNodeInserted', function(event) {
        $(event.target).find(".like_link,.cmnt_like_link").after(
            '<span class="dot"> · </span>' +
            '<button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}">' +
                '<span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span>' +
            '</button>'
        );
        $(event.target).find(".taheles_saving_message").hide();
    });
});

like_link是显示在新闻提要/任何其他地方的帖子/评论中的按钮。 cmnt_like_link是注释中显示的按钮。

如果我在选择器中使用#contentArea,则自定义按钮甚至不会添加到股票代码中。如果我使用document(当前(,它会显示在股票代码中,但会复制自己。我想知道问题是什么。我试图查看chrome开发人员面板,但没有运气。

好的,

我自己找到了答案:

只需在事件处理程序中添加$(event.target).find(".tickerDialogContent .taheles_link, .tickerDialogContent .dot, .fbTimelineUnit .taheles_link, .fbTimelineUnit .dot, .fbPhotoSnowliftPopup .taheles_link, .fbPhotoSnowliftPopup .dot").remove();,如下所示:

$(document).ready(function(){
$(".like_link,.cmnt_like_link").after(
    '<span class="dot"> · </span>' +
    '<button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}">' +
        '<span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span>' +
    '</button>'
);
$(".taheles_saving_message").hide();
$(document).bind('DOMNodeInserted', function(event) {
    $(event.target).find(".tickerDialogContent .taheles_link, .tickerDialogContent .dot, .fbTimelineUnit .taheles_link, .fbTimelineUnit .dot, .fbPhotoSnowliftPopup .taheles_link, .fbPhotoSnowliftPopup .dot").remove();
    $(event.target).find(".like_link,.cmnt_like_link").after(
        '<span class="dot"> · </span>' +
        '<button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}">' +
            '<span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span>' +
        '</button>'
    );
    $(event.target).find(".taheles_saving_message").hide();
});

}(;

如果有人需要它,我已经添加了它以供将来参考。

干杯:)