Benarkah AJAX tidak berjalan dengan baik di browser Safari?

Saat saya membuat program online tiketnya Broken Wings, saya menyadari bahwa form untuk pembelian tiket ternyata tidak berjalan dengan baik di browser Safari. Bahkan beberapa fungsi AJAXnya tidak jalan.
Aneh sekali, padahal di browser Mozilla Firefox, semua berjalan dengan baik.

Dari beberapa riset di internet ternyata banyak sekali yang mengatakan bahwa beberapa fungsi Javascript memang akan bermasalah di browser Safari. Melalui tes sederhana, saya agak meragukan pendapat itu, karena fungsi alert(‘tes’) berjalan dengan baik pada event

Akhirnya saya mencoba mencari tahu apakah ada menu debugger di Safari. Ternyata ada! Hanya saja kita harus mengaktifkannya terlebih dahulu.

Jika kita menggunakan Safari for Windows, dan kita akan mengaktifkan mode debugger/develop (the javascript console, DOM viewer, dll), berikut langkahnya:

1) Buka %APPDATA%\Apple Computer\Safari\Preferences.plist (atau bisa lewat C:\Program Files\Safari\Safari.resources\Defaults.plist)
2) Tambahkan key / value:


IncludeDebugMenu

Untuk Safari di Mac ketikkan perintah berikut di terminal:

$ defaults write com.apple.Safari IncludeDebugMenu 1

3) Restart browser safari

Jika masih belum bisa, buka menu preferences -> advanced settings -> disable / enable show develop menu.

Sampai pada langkah ini, saya bisa melihat error yang tidak kelihatan sebelumnya. Ternyata sangat sepele! Penggunaan reserved word class, tidak diijinkan oleh Safari, sementara browser yang lain mengabaikannya. Tidak heran jika semua fungsi AJAX saya tidak berjalan karena Safari menganggap variabel class yang saya gunakan sebagai reserved word yang seharusnya tidak boleh digunakan. Jadi kesimpulan saya, browser Safari ternyata lebih selektif dalam penggunaan kata sebagai variabel.

Semoga pelajaran saya ini bisa berguna buat teman2 semua…

2 Comments on AJAX di Browser Safari

  1. juragan says:

    Mantav, thanks infonya… Jadi pengen belajar juga nih..