wake-up-neo.net

iOS 12 - Shortcut-Setup-Frage für "JavaScript auf Webseite ausführen"

Ich hoffe, dass dies der richtige Ort für diese Frage ist, da sie sich auf JavaScript konzentriert. In der neuen iOS 12 Shortcuts App können Sie Workflows erstellen. Ich möchte eine erstellen, die einfach eine Webseite startet, meinen Benutzernamen und mein Passwort eingibt und dann auf die Schaltfläche "Senden" klickt.

document.myForm.username.value = 'myUsername';
document.myForm.password.value = 'myPassword';
document.getElementById('loginSubmit').submit();

Aber bevor ich so weit komme, will ich einfach eine alert(1); ausführen. Das kann ich nicht schaffen. Ich bekomme diese Fehlermeldung weiter unten ...

Das Ausführen von JavaScript auf der Webseite ist fehlgeschlagen, da Verknüpfungen nicht konvertiert werden konnten von der URL zur Safari-Webseite.

 enter image description here

Ich bin nicht sicher, was das bedeutet. Ich konnte keine Informationen oder Tutorials finden, wie man dies verwendet. Weiß jemand, wie man JavaScript zum Laufen bringt? Vielen Dank!

4
gfrobenius

das erste, was Sie wissen müssen, ist, dass die Dokumente hier sind: https://support.Apple.com/guide/shortcuts/welcome/ios

Das Problem ist nun, dass "Javascript auf der Webseite ausführen" eine Eingabe mit dem Namen "Safari-Webseiten" benötigt, Open-URLs jedoch nur als Ausgabe das Ergebnis des Öffnens der URL, die die Seite in Safari anzeigt, ausgeben, damit sie funktioniert Open-URL benötigen, um ein Element der "Safari-Webseite" anzuzeigen.

Die einzige Möglichkeit, die ich gefunden habe, ist die Verknüpfung als "Share-Erweiterung" zu verwenden.

  1. Löschen Sie in Ihrem Workflow das URL-Element
  2. Wechseln Sie zur Seite mit den Verknüpfungseinstellungen, indem Sie auf das Symbol tippen Einstellungssymbol
  3. Tippen Sie nun auf "In Aktienblatt zeigen".
  4. Wählen Sie im Abschnitt "Akzeptierte Typen" nur URLs aus, die ganz unten in der Liste stehen.
  5. Gehen Sie schließlich zu Safari, öffnen Sie die gewünschte URL und tippen Sie auf die Share-Schaltfläche. Wenn Sie dies zum ersten Mal tun, müssen Sie den Abschnitt "Abkürzungen" aktivieren. In der unteren Liste gehen Sie bis zum Ende und tippen auf "Mehr". , scrollen Sie nach unten und wählen Sie "Verknüpfungen" Danach haben Sie die Option Verknüpfungen. Tippen Sie darauf, wählen Sie Ihre Verknüpfung aus und das Java-Skript wird auf der Seite ausgeführt.

Es ist wichtig anzumerken, dass Sie etwas mit der Ausgabe von "JavaScript auf Webseiten ausführen" tun müssen, z. B. wenn Sie das Ergebnis in einer Warnmeldung anzeigen, denn so, wie Sie Ihren Workflow jetzt haben, kann es so aussehen, als ob nichts passiert.

3
Abraham Soto

In der Aktion "JavaScript auf Webseite ausführen" wird Folgendes angezeigt: "Safari-Webseitenelement in Verknüpfungen, das besagt, dass sie nur verfügbar sind, wenn Sie Ihre Verknüpfung als Aktionserweiterung in Safari ausführen."

Daher ist es leider nicht möglich, Aktionen zu verketten, bei denen eine URL gestartet und anschließend JS ausgeführt wird. Sie müssen die URL besuchen und die Aktion über das Freigabeblatt ausführen.

1
user85303

Die Safari-Aktionen setzen voraus, dass Safari beim Starten der Aktivität für die gewünschte Seite geöffnet ist. Das heißt, Sie können dies leicht mit einem anderen Element erreichen.

Ich kenne Ihr technisches Niveau nicht, also entschuldige ich mich, wenn es sich bei Ihnen um Dinge handelt, die Sie bereits kennen.

Rufen Sie zunächst die gewünschte Seite in einem Mac/PC-Browser auf und öffnen Sie die Entwicklerwerkzeuge. Ich benutze Firefox Developer Edition, aber Safari und Chrome haben sie auch. Wenn Sie MacOS Safari verwenden, müssen Sie zunächst das Einstellungsmenü von Safari öffnen, die "Entwickleroptionen" überprüfen und einen Neustart durchführen.

Wechseln Sie nach dem Öffnen der Entwicklertools zur Registerkarte Netzwerk. Suchen und deaktivieren Sie die Option, mit der das Protokoll bei jedem Laden der Seite gelöscht wird. Lassen Sie dieses Fenster geöffnet, füllen Sie das Formular aus, löschen Sie das Netzwerkprotokoll in den Papierkorb und senden Sie das Formular ab. Nun sollte die HTTP-Anfrage der Formularübergabe entweder die erste oder die einzige Sache in der Liste sein.

Wählen Sie die Zeile für die Formularübermittlung aus, und sehen Sie sich den Anforderungskopf an. Es sollte eine Anforderungsmethode, Anforderungs-URL und alle mit dem Formular übermittelten Schlüssel-Wert-Paare geben.

Fügen Sie in der Shortcuts-App ein URL-Element hinzu und geben Sie ihm dieselbe URL wie die Anforderungs-URL. Verketten Sie dieses URL-Eingabeelement mit einem Aktionselement "Inhalt von URL abrufen", und aktivieren Sie das Fach "Erweitert". Wenn sich im Anforderungsprotokoll weitere Kopfzeilen befinden, können Sie auf Neue Kopfzeile hinzufügen tippen, um weitere hinzuzufügen. Passen Sie den Request-Type an das Feld Method an, wählen Sie als Request Body "Form" und fügen Sie dann alle Schlüssel und Werte der Anfrage hinzu.

Wie auch immer, das ist es.

Verketten Sie diese zu Set Variable und verwenden Sie dann einen IF-Block, um zu testen, ob die Anmeldung erfolgreich war oder nicht. Wenn dies erfolgreich war, erstellen Sie ein Ergebnis mit dem Hinweis "Sie sind jetzt angemeldet.". Wenn dies fehlgeschlagen ist, zeigen Sie die Variable an, damit Sie die Antwort debuggen können.

0
Brent Foxwell