Copie du texte formaté d'une page Web dans une boîte de dialogue de saisie Applescript


8

J'ai un Applescript qui - simplifié - ressemble à ceci:

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

L'un des utilisateurs de ce script exécute Lion. Chaque fois qu'il essaie de copier / coller une chaîne dans la boîte de dialogue d'entrée, cela ne fonctionnera pas si l'origine de la copie a été mise en forme (par exemple, la chaîne est copiée à partir d'une page Web). Tout fonctionne bien sous Snow Leopard.

Une idée de pourquoi cela se produit?


3
Cela semble être un nouveau bogue dans Lion. Il semble que le problème concerne spécifiquement la copie de texte d'une couleur autre que le blanc pur ou le noir pur.
joelseph

Pouvez-vous sélectionner le txt et le faire glisser vers la boîte de dialogue AppleScript? J'ai vu cela fonctionner correctement une ou deux fois, où le copier / coller a échoué ... Mais je ne sais pas si cela fonctionnera avec AppleScript.
TheWellington

Réponses:


1

J'ai trouvé la même chose - si je copie / colle à partir de TextEdit en mode RTF, je ne peux pas coller dans le champ de saisie. Si je change le mode en texte brut, cela fonctionne très bien.

Voici un Applescript que j'ai trouvé qui a fonctionné pour moi. Cela fonctionne en convertissant le presse-papiers en texte brut:

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

Vous devez en faire un script exécutable, puis le lier à un raccourci clavier. Après cela, chaque fois que vous copiez du texte formaté, exécutez le raccourci clavier et vous pouvez ensuite coller le texte sans problème.


1
Étant donné que les liens vers des sites externes se cassent souvent, il est utile de résumer le contenu du site lié et de ne pas simplement publier un lien.
Daniel

1
set variable_name to (the clipboard as text)

1

J'ai essayé de reproduire le problème avec

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

mais au moins à première vue, cela semble fonctionner correctement. Quel problème spécifique avez-vous rencontré ("ne fonctionnera pas" est un peu large)?


Mise à jour

Le problème a été corrigé dans OS X 10.8, je viens de recevoir un mail de devbugs@apple.com:

14 sept. 2012 19 h 40 Équipe de signalement des bogues des développeurs Apple:

Nous pensons que ce problème a été résolu dans OS X 10.8 (Mountain Lion) GM Seed (Build 12A269). Cette version préliminaire est disponible dès maintenant sur le Mac App Store pour les membres éligibles du programme pour développeurs Mac. Veuillez vérifier avec cette version et mettre à jour votre rapport de bogue avec les résultats.


1
Essayez de copier et coller du texte gris (ou toute autre couleur que le blanc ou le noir pur). Dans ce cas, "ne fonctionnera pas" signifie que le texte ne peut pas être collé dans la boîte de dialogue AppleScript.
joelseph

Je l'ai essayé avec du texte formaté de l'éditeur AppleScript, de TextEdit et de plusieurs sites Web et je n'ai rencontré aucun problème. Parlons-nous d'un site spécifique ici?
nohillside

1
Intéressant. Il semble que certaines autres couleurs fonctionnent, comme la couleur bleue d'AppleScript pour les commandes, mais pas pour sa couleur verte pour les variables, ou les nuances de gris sur les réponses de cette page (15% de blanc) et les commentaires (20%), ou le mot " set "ou le mot" foo "dans votre script. Si vous pouviez les essayer aussi, peut-être que nous pourrions voir s'il s'agit d'un bug réel ou que quelque chose de bizarre se passe dans nos systèmes. J'ai maintenant trouvé une poignée d'autres couleurs qui fonctionnent, mais la définition aléatoire des couleurs dans TextEdit entraîne presque toujours le collage qui ne fonctionne pas.
joelseph

En effet. La sélection d'un seul nom de variable verte dans AppleScript Editor ne fonctionne pas, la sélection de la ligne entière le fait. J'ai soulevé l'ID de bogue # 10175210 sur bugreport.apple.com.
nohillside

1
Non corrigé avec 10.7.2 :-(
nohillside

0

C'est un peu compliqué, mais j'imagine que cela fonctionne: copiez le texte et collez-le dans quelque chose comme Notational Velocity, BBEdit, TextEdit ou un autre processeur de texte qui prend en charge le texte sans formatage. Si vous avez défini NV sur du texte brut, recopiez-le simplement et vous êtes prêt. Dans BBEdit et TextEdit, il existe des commandes pour supprimer le formatage.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.