Langsung ke konten utama

Construct 2 Indonesia Manual: Bab Plugin Reference - 6. Browser

Object: Browser mengakses fitur Web Browser yang menjalankan game HTML5. Ini juga dapat beralih ke dan dari mode Fullscreen, mendeteksi jika game sedang diperbarui di latar belakang, dan menentukan apakah halaman tersebut dapat terlihat.

Keterbatasan keamanan terkadang mencegah Browser Action. Misalnya, Window Action: Close hanya bisa digunakan saat Window dibuat oleh Javascript: window.open call.


Risiko dengan eksekusi Javascript String

Object: Browser menyediakan dua cara untuk menjalankan String sebagai kode Javascript: Action: Execute Javascript, dan Expression: ExecJS. Meskipun sesekali berguna, ini secara luas dianggap berbahaya.

  • Jika Anda menjalankan String yang berisi input dari user, mungkin saja user bisa memasukkan (Inject) Javascript untuk dieksekusi. Hal ini dapat menyebabkan kerentanan keamanan, merusak game, atau membiarkan user melakukan kecurangan (Cheat).

  • Jika Anda secara tidak sengaja menggunakan fitur yang hanya tersedia pada Platform tertentu, game Anda akan ‘Crash’ di Platform lain yang tidak mendukung fitur tersebut. Construct 2 biasanya melindungi Anda dari hal ini, karena ini telah diuji dengan baik di banyak Platform, namun ini merupakan kesalahan mudah dilakukan, jika Anda mengeksekusi Javascript sendiri. Platform non-browser tertentu seperti CocoonJS memiliki fitur yang sangat terbatas, jadi sangat mudah untuk terjadi kerusakan.

  • Secara Default, kode diminimalkan pada ekspor. Jika Anda tidak menulis Javascript yang kompatibel dengan mode ADVANCED Google Closure Compiler, itu mungkin akan merusak game setelah diekspor.

  • Mengeksekusi Javascript String dari Event seringkali bisa menghasilkan kode yang padat dan tidak terbaca yang sulit dimodifikasi di masa depan.


Menggunakan Javascript SDK resmi hampir selalu merupakan cara yang lebih elegan dalam menambahkan Javascript khusus dalam Construct 2 Project. Jika memungkinkan, tuliskan Javascript Anda dalam sebuah Plugin menggunakan SDK.



Browser Conditions

  • Cookies enabled
    Benar jika user mengaktifkan Cookies di browser mereka. (Biasanya jarang bagi mereka untuk dinonaktifkan karena banyak situs web bergantung pada Cookies agar bekerja dengan baik.)

  • Is online
    TRUE jika browser saat ini memiliki koneksi aktif ke internet. Game pada Construct 2 bisa bekerja secara offline – lihat Offline game (http://www.scirra.com/tutorials/70/offline-games-in-construct-2) untuk informasi lebih lanjut.

  • On resized
    Terpicu saat jendela browser yang menampilkan game diubah ukurannya. Ini termasuk saat mengubah orientasi pada perangkat seluler. System Expression: WindowWidth dan WindowHeight akan diperbarui untuk mencerminkan ukuran baru jika mode Fullscreen sedang digunakan.

  • On went online
  • On went offline
    Dipicu jika koneksi ke internet sudah tersedia atau tidak tersedia saat menjalankan game. Hal ini biasa terjadi pada perangkat seluler yang mungkin bergerak masuk dan keluar dari area sinyal. Condition: Is online juga berubah untuk mencerminkan status koneksi.

  • Is portrait/landscape
    Untuk memeriksa apakah tampilan saat ini adalah Portrait (tinggi lebih besar dari lebar) atau Landscape (lebar lebih besar dari tinggi). Hal ini dilakukan dengan membuat cek sederhana pada ukuran jendela browser, sehingga juga menunjukkan keadaan yang sesuai pada browser desktop tergantung pada dimensinya.

  • On back button
    Dipicu saat user menekan tombol Back pada perangkat. Perhatikan bahwa tidak semua perangkat memiliki tombol ini (misalnya perangkat iOS hanya memiliki tombol Home) dan tidak semua Platform mendukung Trigger ini.

  • On menu button
    Dipicu saat user menekan tombol Menu pada perangkat. Perhatikan bahwa tidak semua perangkat memiliki tombol ini (misalnya perangkat iOS hanya memiliki tombol Home) dan tidak semua Platform mendukung pemicu ini.

  • On search button
    Dipicu saat user menekan tombol Search pada perangkat. Perhatikan tidak semua perangkat memiliki tombol ini (misalnya perangkat iOS hanya memiliki tombol Home) dan tidak semua Platform mendukung pemicu ini.

  • Is downloading update
    TRUE jika game berjalan dari Cache, tapi sedang mendownload versi update di Background. Ini bisa digunakan untuk mengimplementasikan Auto-updater sederhana. Lihat Offline game (http://www.scirra.com/tutorials/70/offline-games-in-construct-2) untuk informasi lebih lanjut.

  • On update ready
    Dipicu saat game berjalan dari Cache, namun versi update telah selesai diunduh di Background. Jika user masih berada di Game Menu atau Screen Title, Anda mungkin ingin meminta mereka untuk menyegarkan (Refresh) halaman (atau melakukannya secara otomatis) sehingga versi baru dimuat. Lihat Offline game (http://www.scirra.com/tutorials/70/offline-games-in-construct-2) untuk informasi lebih lanjut.

  • Is fullscreen
    TRUE jika browser berjalan dalam mode Fullscreen.

  • Page is visible
    TRUE jika halaman game HTML5 yang sedang berjalan saat ini terlihat. Halaman dianggap tersembunyi (Hidden) jika jendela browser diminimalkan, halaman berada dalam Tab yang berbeda dengan yang dibuka, atau pada perangkat seluler saat aplikasi berada di Background. Saat halaman disembunyikan, game otomatis berhenti.

  • On suspended
  • On resumed
    Dipicu saat perubahan visibilitas halaman, atau saat aplikasi mobile masuk ke latar belakang atau latar depan. Saat tidak terlihat atau di latar belakang, aplikasi ditangguhkan (Suspended): semua Event berhenti berjalan dan semua Audio dinonaktifkan.



Browser Actions

  • Execute Javascript
    Jalankan kode Javascript String. Perhatian yang besar diperlukan untuk menggunakan ini dengan benar – lihat bagian Resiko dengan eksekusi Javascript String di atas.

  • Start group
  • End group
    Memulai atau mengakhiri grup di Error Console pada browser  (https://www.scirra.com/tutorials/147/checking-for-errors-in-browsers).
    Group tampak menjorok ke dalam, dan browser mungkin memberi pilihan untuk memperluas / menciutkan Group dengan mudah. Group dapat diberi nama secara opsional.
    Untuk membuat Group, gunakan Action: Start group, lalu serangkaian Action: Log, lalu Action: End Group.

  • Log
    Log pesan, peringatan atau kesalahan pada Error console pada browser (https://www.scirra.com/tutorials/147/checking-for-errors-in-browsers).
    Ini bisa berguna untuk debugging, Testing dan Diagnostic.

  • Go back
  • Go forward
    Pindahkan halaman browser melalui History navigasi seolah mengklik tombol Back and Forward pada browser.

  • Go home
    Arahkan halaman browser ke beranda.

  • Go to URL
    Arahkan ke URL yang diberikan. Catatan: ini menggunakan jendela / Tab yang sama seperti yang ditampilkan pada game HTML5, jadi aksi ini akan mengakhiri game.

  • Invoke download
    Ajukan URL sebagai unduhan file di browser. Bahkan jika ini mengarah ke halaman web atau dokumen, akan diunduh sebagai file di antarmuka browser. URL dapat menunjuk ke alamat manapun di Internet, atau bisa juga nama file Project yang diimpor, atau URL data (berguna untuk mendownload foto kanvas). Parameter nama file memungkinkan Anda memilih nama file yang diberikan browser ke unduhan, yang bisa berbeda dengan nama sumber daya yang didownload.

  • Invoke download of String
    Seperti Invoke download, tapi bukannya menyediakan URL untuk mendownload, sebuah String data aktual untuk diunduh saat file digunakan. Data URI yang menggabungkan tipe MIME dan data dibuat, lalu diteruskan ke browser untuk mendownload. Ini lebih mudah untuk mendownload String dalam format JSON sebagai file, misalnya: data Object dari Expression: AsJSON.

  • Open URL in new window
    Arahkan ke URL yang diberikan di jendela baru (atau Tab jika Override pengaturan browser). Ini terus menjalankan game HTML5.

  • Reload
    Membuka kembali halaman untuk menyegarkan (Refresh). Ini secara efektif me-Restart game.

  • Alert
    Menampilkan kotak pesan ‘Peringatan’ sederhana.

  • Blur
    Menghilangkan fokus pada jendela browser.

  • Cancel fullscreen
    Kembali ke Windowed Mode jika browser sedang dalam mode Fullscreen.

  • Close
    Tutup jendela saat ini, jika Script memiliki izin untuk melakukannya.

  • Focus
    Mengembalikan fokus pada jendela browser.

  • Lock orientation
  • Unlock orientation
    Kunci tampilan game ke mode Portrait atau Landscape saja, jika Platform saat ini mendukungnya. Ini hanya berpengaruh pada perangkat Mobile. Game mungkin harus sudah ditampilkan dalam layar penuh (menggunakan Action: Request fullscreen) sebelum orientasi dapat dikunci. Membuka kunci orientasi mengembalikan Behavior apa pun yang ditetapkan pada saat sebelum penguncian, seperti orientasi yang berubah secara otomatis tergantung pada cara perangkat dipegang.

  • Request fullscreen
    Minta agar browser masuk ke mode Fullscreen. Perhatikan bahwa browser mungkin mengabaikan permintaan ini kecuali Action tersebut dilakukan dalam Event yang dimulai oleh user (User-initiate), seperti klik mouse, tekan tombol, sentuh layar atau tekan tombol keyboard. Ada 3 mode Fullscreen yang bisa masuk:

    • Center
    : Pusatkan area pandang (Viewport) pada game dalam tampilan layar penuh.

    • Stretch (Crop)
    : Memperpanjang area pandang pada game untuk mengisi tampilan Fullscreen.

    • Stretch (scale)
    : Skala (Zoom) Viewport pada game untuk mengisi tampilan Fullscreen.



Browser Expressions

  • BatteryLevel
    Mengambil nilai tingkat daya baterai saat ini dari 0 (habis) ke 1 (terisi penuh). Misalnya: Untuk mendapatkan tingkat baterai sebagai persentase, gunakan Expression: Round(Browser.BatteryLevel * 100). Jika perangkat tidak memiliki baterai atau tingkat tidak diketahui, nilai yang dihasilkan = 1.

  • BatteryTimeLeft
    Jika perangkat memiliki baterai dan waktu yang tersisa diketahui, Action ini mengambil perkiraan waktu dalam detik hingga sistem harus ditutup karena baterai habis. Jika tidak ada baterai atau waktu yang tersisa tidak diketahui, nilai yang dihasilkan = tak terbatas (Infinity).

  • ExecJS
    Jalankan kode Javascript String, dan ambil hasilnya jika itu adalah String/teks atau angka. Perhatian yang besar diperlukan untuk menggunakan ini dengan benar – lihat bagian Resiko dengan eksekusi Javascript String di atas.

  • Language
    Untuk mendapatkan setelan bahasa browser saat ini, misalnya: en-US.

  • Name
    Untuk mendapatkan nama laporan browser. Ini mungkin tidak akurat untuk alasan kompatibilitas, misalnya: Google Chrome melaporkan namanya sebagai Netscape.

  • Platform
    Dapatkan Platform saat ini yang dijalankan oleh laporan browser, misalnya: Win32 untuk Windows.

  • Product
    Dapatkan produk yang dilaporkan browser. Ini mungkin tidak akurat untuk alasan kompatibilitas, misalnya: Google Chrome melaporkan produknya sebagai Gecko.

  • UserAgent
    Kembalikan String: User agent lengkap untuk browser, misalnya: Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.7 (KHTML, like Gecko) Chrome / 16.0.912.63.

  • Vendor
    Dapatkan laporan mengenai Vendor dari browser, misalnya: Google Inc. untuk Google Chrome.

  • Version
    Dapatkan laporan mengenai versi dari browser sebagai String. Ini hanya bisa menjadi subset dari User Agent String .

  • DevicePixelRatio
    Jumlah pixel tampilan fisik per pixel CSS. Ini bisa menjadi indikator yang berguna untuk kerapatan tampilan. Sebagai contoh: ‘Retina’ menampilkan laporan nilai sebagai 2, sedangkan laporan biasa melaporkan nilainya sebagai 1.

  • ScreenWidth
  • ScreenHeight
    Ambil dimensi seluruh layar perangkat. Ini adalah area tampilan lengkap yang tersedia untuk sistem operasi (OS).

  • Title
    Judul dokumen HTML saat ini.

  • Domain
    Domain saat ini, misalnya: scirra.com.

  • Hash
    String setelah hash di akhir URL, termasuk Hash tersebut.
    Misalnya: Jika URL: http://scirra.com/mygame/index.html#teapot
    maka Action ini akan menghasilkan: #teapot.

  • PathName
    Path relatif terhadap domain di URL. 
    Misalnya: PathName: http://scirra.com/mygame/index.html#teapot 
    adalah /mygame/index.html.

  • Protocol
    Protokol saat ini, biasanya: http: atau https:

  • QueryParam
    Mengambil Parameter String dari kueri berdasarkan nama.
    Misalnya: Jika URL: index.html?Foo=bar&baz=wan
    maka: QueryParam(“foo”) akan menghasilkan bar
    dan QueryParam(“baz”) akan menghasilkan wan.

  • QueryString
    Mengambil String kueri URL lengkap termasuk tanda tanya. 
    Misalnya: Jika URL: index.html?Foo=bar&baz=wan
    maka ini akan menghasilkan: ?Foo=bar&baz=wan.

  • Referrer
    Mengambil halaman sebelumnya yang terhubung dengan halaman ini, jika ada.

  • URL
    Dapatkan URL lengkap di kotak alamat browser, termasuk protokolnya.



Komentar