Userscript zum Hinzufügen einer „Flag“-Schaltfläche zu gelöschten Stack Exchange-Beiträgen

Als Teil meiner täglichen Routine markiere ich gelöschte Fragen auf Stack Exchange. Normalerweise sehe ich so etwas:

Geben Sie hier die Bildbeschreibung ein

Und um einen gelöschten Post zu markieren, den ich nicht sehen kann, muss ich Postman öffnen und die POST-Anfrage zum Markieren fälschen. Das kostet viel Zeit und ist unbequem.

Ich möchte ein Benutzerskript / eine Erweiterung, die:

  • Fügt gelöschten Post-404-Seiten eine Flag-Schaltfläche hinzu
  • Idealerweise öffnet sich der Standard-Flag-Dialog, aber es muss mir unbedingt erlaubt sein, benutzerdefinierten Text für ein Flag „erfordert die Aufmerksamkeit des Moderators“ einzugeben. Ich interessiere mich nicht wirklich für andere Flag-Typen, daher ist der Standarddialog nicht erforderlich
  • Im Idealfall müsste ich mich nicht bei der API authentifizieren, sondern die standardmäßigen POST-Anforderungen verwenden, die auf der Seite verfügbar sind (mit meinem fkey).

Gibt es ein Skript, das das kann?

In Bezug auf Ihren zweiten Aufzählungspunkt: Die einzige Markierungsoption für gelöschte Beiträge ist "andere".
Ist das erlaubt? Ist es der Alltag aller SE-Moderatoren? Wenn ja, warum gibt es diese Funktion nicht? Wie finden Sie einen guten Grund zum Melden, wenn Sie den Inhalt nicht mehr sehen können?
@ThomasW. Es wird vom System zugelassen und kann in einigen Fällen nützlich sein, vor allem, wenn Sie einen Benutzer für etwas kennzeichnen möchten und sein einziger Inhalt gelöscht wird. Es ist nicht für jeden eine tägliche Routine, es ist nur ein Hobby, das ich habe.

Antworten (1)

// ==UserScript==
// @name         Flag Link for Deleted Messages
// @namespace    http://github.com/
// @version      0.1
// @description  Eh.
// @author       Madara Uchiha
// @include        /http:\/\/.+\.stackexchange.com/
// @include        /http:\/\/.+\.stackoverflow.com/
// @include        /http:\/\/stackoverflow.com/
// @include        /http:\/\/askubuntu.com/
// @include        /https:\/\/.+\.stackexchange.com/
// @include        /https:\/\/.+\.stackoverflow.com/
// @include        /https:\/\/stackoverflow.com/
// @include        /https:\/\/askubuntu.com/
// @grant        none
// ==/UserScript==

if ($('h1:contains(Page Not Found)').length > 0) {
    var postId = document.location.href.match(/questions\/(\d+)\//)[1];
    var $a = $('<a />', {
        text: 'Flag this question',
        css : {
            float: 'right'
        }
    });
    var $spinner = $('<img />', {
        src: 'http://i.imgur.com/YPmA6Jk.gif',
        css: {
            position: 'fixed',
            top     : 0,
            right   : 0
        }
    });
    $a.on('click', function () {
        var flagMessage = prompt('Enter flag message here.');
        $.post('/flags/posts/' + postId + '/add/PostOther', {
            fkey     : StackExchange.options.user.fkey,
            otherText: flagMessage
        }, hideSpinner);
        showSpinner()
    });
    $('#mainbar-full .subheader').append($a);
    $('#mainbar-full .subheader').append($spinner);

    $spinner.hide();

    function showSpinner() {
        $spinner.show();
    }

    function hideSpinner() {
        $spinner.hide('slow');
    }
}

prompt()Das obige Benutzerskript fügt rechts neben der Kopfzeile jeder 404-Seite einen Link hinzu, mit dem Sie die Frage über einen einfachen Aufruf mit einem benutzerdefinierten Flag kennzeichnen können .

Einhörner

Ich habe festgestellt, dass das Benutzerskript nicht (mehr?) Funktioniert, falls die entfernte Frage aufgrund von Spam-Flags entfernt wird, während es für gelöschte, aber nicht als Spam-Posts gilt.
Nun, der Test besteht darin, dass „Seite nicht gefunden“ auf der Seite (in einem <h1>Element) steht. Wenn das anders ist, dann würde das Userscript tatsächlich nicht funktionieren.