Menyalin teks yang diformat dari halaman web ke dialog input Applescript

8

Saya memiliki Applescript yang - disederhanakan - terlihat seperti ini:

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

Salah satu pengguna skrip ini menjalankan Lion. Setiap kali ia mencoba menyalin / menempelkan string ke dialog input, itu tidak akan berfungsi jika asal salinan memiliki beberapa format (misalnya string disalin dari halaman web). Semuanya berfungsi dengan baik di bawah Snow Leopard.

Adakah petunjuk mengapa ini terjadi?

Roberto Aloi
sumber
3
Tampaknya ini adalah bug baru di Lion. Tampaknya masalahnya secara khusus dengan menyalin teks yang berwarna selain putih murni atau hitam murni.
joelseph
Apakah Anda dapat memilih txt dan menyeretnya ke kotak dialog AppleScript? Saya telah melihat ini berfungsi dengan benar satu atau dua kali, di mana Salin / Tempel gagal ... Tapi saya tidak tahu bahwa ini akan berfungsi dengan AppleScript.
TheWellington

Jawaban:

1

Saya telah menemukan hal yang sama - jika saya salin / tempel dari TextEdit dalam mode Teks Kaya, saya tidak bisa menempel ke bidang input. Jika saya mengubah mode ke teks biasa, itu berfungsi dengan baik.

Inilah sebuah Applescript yang saya temukan yang bekerja untuk saya. Ini berfungsi dengan mengonversi clipboard ke teks biasa:

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

Anda harus menjadikannya skrip yang dapat dieksekusi dan kemudian ikat ke pintasan keyboard. Setelah itu, setiap kali Anda menyalin beberapa teks yang diformat, jalankan pintasan keyboard dan Anda kemudian dapat menempelkan teks tanpa masalah.

Roger
sumber
1
Karena tautan ke situs eksternal sering rusak, sebaiknya diringkas konten situs yang ditautkan dan bukan hanya mengirim tautan.
Daniel
1
set variable_name to (the clipboard as text)
Zed
sumber
1

Saya mencoba mereproduksi masalah dengan

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

tetapi setidaknya pada pandangan pertama tampaknya berfungsi ok. Masalah spesifik apa yang Anda temui ("tidak akan berfungsi" sedikit luas)?


Memperbarui

Masalahnya telah diperbaiki di OS X 10.8, baru saja menerima surat dari [email protected]:

14-Sep-2012 07:40 PM Tim Pelaporan Bug Pengembang Apple:

Kami percaya masalah ini telah diatasi dalam OS X 10.8 (Mountain Lion) Benih GM (Build 12A269). Versi pra-rilis ini sekarang tersedia di anggota yang memenuhi syarat untuk Program Pengembang Mac App Store untuk Mac. Harap verifikasi dengan rilis ini dan perbarui laporan bug Anda dengan hasilnya.

nohillside
sumber
1
Coba salin dan tempel teks abu-abu (atau warna apa pun selain putih atau hitam murni). Dalam hal ini "tidak akan berfungsi" berarti teks tidak dapat disisipkan ke dalam dialog AppleScript.
joelseph
Saya sudah mencobanya dengan teks yang diformat dari editor AppleScript, dari TextEdit dan dari beberapa situs web dan tidak mengalami masalah. Apakah kita berbicara tentang situs tertentu di sini?
nohillside
1
Menarik. Sepertinya warna-warna tertentu lainnya berfungsi, seperti warna biru AppleScript untuk perintah, tetapi tidak untuk warna hijau untuk variabel, atau warna abu-abu pada jawaban halaman ini (15% putih) dan komentar (20%), atau kata " set "atau kata" foo "di skrip Anda. Jika Anda dapat mencobanya juga, mungkin kita dapat melihat apakah itu bug yang sebenarnya atau kami hanya akan melakukan sesuatu yang tidak beres di sistem kami. Saya sekarang telah menemukan beberapa warna lain yang berfungsi, tetapi pengaturan warna secara acak di TextEdit hampir selalu menghasilkan paste yang tidak berfungsi.
joelseph
Memang. Memilih hanya nama variabel hijau dari AppleScript Editor tidak berfungsi, memilih seluruh baris tidak. Saya telah mengangkat Bug ID # 10175210 di bugreport.apple.com.
nohillside
1
Tidak diperbaiki dengan 10.7.2 :-(
nohillside
0

Ini sedikit kludge, tapi saya akan membayangkan itu bekerja: Salin teks dan tempel ke sesuatu seperti Kecepatan Notasional, BBEdit, TextEdit atau prosesor teks lain yang mendukung teks tanpa memformat. Jika Anda memiliki NV yang diatur ke teks biasa, cukup salin ulang dan Anda siap. Di BBEdit dan TextEdit ada perintah untuk menghapus pemformatan.

Timothy Mueller-Harder
sumber