Kopieren von formatiertem Text von einer Webseite in ein Applescript-Eingabedialogfeld


8

Ich habe ein Applescript, das vereinfacht so aussieht:

...
display dialog "foo" default answer ""
...

Einer der Benutzer dieses Skripts führt Lion aus. Wenn er versucht, eine Zeichenfolge in den Eingabedialog zu kopieren oder einzufügen, funktioniert dies nicht, wenn der Ursprung der Kopie eine gewisse Formatierung aufweist (z. B. wenn die Zeichenfolge von einer Webseite kopiert wurde). Unter Snow Leopard funktioniert alles einwandfrei.

Irgendwelche Hinweise, warum dies passiert?


3
Dies scheint ein neuer Fehler in Lion zu sein. Es scheint, dass das Problem speziell beim Kopieren von Text liegt, der eine andere Farbe als reines Weiß oder reines Schwarz hat.
JoelSeph

Können Sie den txt auswählen und in das AppleScript-Dialogfeld ziehen? Ich habe dies ein oder zwei Mal richtig gesehen, als das Kopieren / Einfügen fehlgeschlagen ist ... Aber ich weiß nicht, dass es mit AppleScript funktioniert.
TheWellington

Antworten:


1

Ich habe das Gleiche gefunden - wenn ich aus TextEdit im Rich Text-Modus kopiere / einfüge, kann ich nichts in das Eingabefeld einfügen. Wenn ich den Modus auf Nur-Text ändere, funktioniert das einwandfrei.

Hier ist ein Applescript, das für mich funktioniert hat. Es funktioniert, indem die Zwischenablage in einfachen Text konvertiert wird:

try
  set the clipboard to string of (the clipboard as record)
on error errMsg
  display dialog errMsg
end try

Sie müssen es zu einem ausführbaren Skript machen und dann an eine Tastenkombination binden. Wenn Sie anschließend formatierten Text kopieren, führen Sie die Tastenkombination aus, und Sie können den Text problemlos einfügen.


1
Da Verknüpfungen zu externen Websites häufig unterbrochen werden, ist es hilfreich, den Inhalt der verknüpften Website zusammenzufassen und nicht nur einen Link zu veröffentlichen.
Daniel

1
set variable_name to (the clipboard as text)

1

Ich habe versucht, das Problem mit zu reproduzieren

on run
    set dialogResult to display dialog "foo" default answer ""
    set newText to text returned of dialogResult
    display dialog "Text entered: " & newText
end run

aber zumindest auf den ersten blick scheint es ok zu funktionieren. Auf welches spezifische Problem sind Sie gestoßen ("funktioniert nicht" ist ein bisschen weit gefasst)?


Aktualisieren

Das Problem wurde in OS X 10.8 behoben. Ich habe gerade eine E-Mail von devbugs@apple.com erhalten:

14. September 2012, 19:40 Uhr Apple Developer Bug Reporting Team:

Wir glauben, dass dieses Problem in OS X 10.8 (Mountain Lion) GM Seed (Build 12A269) behoben wurde. Diese Vorabversion ist ab sofort im Mac App Store für Mac Developer Program-berechtigte Mitglieder verfügbar. Bitte überprüfen Sie diese Version und aktualisieren Sie Ihren Fehlerbericht mit den Ergebnissen.


1
Versuchen Sie, grauen Text (oder eine andere Farbe als reines Weiß oder Schwarz) zu kopieren und einzufügen. In diesem Fall bedeutet "funktioniert nicht", dass der Text nicht in das AppleScript-Dialogfeld eingefügt werden kann.
JoelSeph

Ich habe es mit formatiertem Text aus dem AppleScript-Editor, aus TextEdit und von mehreren Websites ausprobiert und bin auf keine Probleme gestoßen. Sprechen wir hier über eine bestimmte Site?
Nohillside

1
Interessant. Es sieht so aus, als ob bestimmte andere Farben funktionieren, wie die blaue Farbe von AppleScript für Befehle, aber nicht die grüne Farbe für Variablen oder die Graustufen in den Antworten (15% Weiß) und Kommentaren (20%) dieser Seite oder das Wort " setze "oder das Wort" foo "in deinem Skript. Wenn Sie das auch versuchen könnten, können wir vielleicht sehen, ob es sich um einen tatsächlichen Fehler handelt, oder wir haben einfach etwas Wackeliges in unseren Systemen. Ich habe jetzt eine Handvoll anderer Farben gefunden, die funktionieren, aber das zufällige Festlegen von Farben in TextEdit führt fast immer dazu, dass das Einfügen nicht funktioniert.
JoelSeph

Tatsächlich. Wenn Sie im AppleScript-Editor nur einen grünen Variablennamen auswählen, funktioniert dies nicht. Wenn Sie die gesamte Zeile auswählen, funktioniert dies. Ich habe die Fehler-ID 10175210 auf bugreport.apple.com angehoben.
Nohillside

1
Nicht behoben mit 10.7.2 :-(
nohillside

0

Dies ist ein bisschen kludge, aber ich würde mir vorstellen, dass es funktioniert: Kopieren Sie den Text und fügen Sie ihn in etwas wie Notational Velocity, BBEdit, TextEdit oder ein anderes Textverarbeitungsprogramm ein, das Text ohne Formatierung unterstützt. Wenn Sie NV auf Nur-Text eingestellt haben, kopieren Sie es einfach erneut und Sie sind eingestellt. In BBEdit und TextEdit gibt es Befehle zum Entfernen der Formatierung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.