Nonaktifkan tombol zoom di browser dalam aplikasi Phonegap

Setelah berjam-jam mencari dan mencoba berbagai hal, saya hampir menyerah. Saya ingin membuka URL eksternal di inAppBrowser yang sekarang disertakan dalam Phonegap Build. Saya menghapus bilah alamat dengan location=no (juga mencoba toolbar=no, tetapi tidak melakukan apa pun), namun tombol zoom (+ dan -) yang muncul setiap kali Anda menggulir halaman tidak akan hilang. Saya tidak dapat menemukan cara untuk menonaktifkannya, tapi mungkin saya melewatkan sesuatu? Saya hanya menggunakan pinch zoom, jadi saya tidak melihat alasan untuk memiliki tombol jelek ini di bagian atas halaman (yang dirancang khusus untuk aplikasi ini).

Jadi apakah ada cara untuk menonaktifkan tombol zoom bawaan?

Saya sedang menguji di Android, tetapi berencana juga mengerjakan versi iPhone.


person Dmitriy Gamolin    schedule 09.05.2014    source sumber


Jawaban (7)


Saya mengalami masalah yang sama, tetapi menggunakan Cordova, bukan Phonegap Build. Trik yang berhasil bagi saya adalah mengubah baris 575 dari InAppBrowser.java menjadi settings.setBuiltInZoomControls(false);.

Tentu saja itu tidak akan berfungsi untuk iOS, tetapi sejauh yang saya tahu tidak ada cara lain yang disediakan oleh Phonegap/Cordova.

person user3677008    schedule 26.05.2014
comment
Cordova 5.1.1: baris 619 dari {project root}/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java Perhatikan bahwa ini tidak hanya menyembunyikan tombol Zoom yang tampak kuno, namun juga mencegah pinch zooming. - person Stan Kurdziel; 11.07.2015

coba zoom=no

Anda dapat menemukan detailnya di dokumentasi plugin cordova inappbrowser: https://github.com/apache/cordova-plugin-inappbrowser

person Görkem Öğüt    schedule 08.04.2015
comment
Ini tidak berfungsi di Cordova 5.1.1 - sepertinya kemampuan untuk menentukan pengaktifan kontrol zoom telah dihapus: github.com/apache/cordova-plugin-inappbrowser/pull/104 - person Stan Kurdziel; 11.07.2015
comment
Saya menemukan bahwa parameter zoom=no juga tidak berfungsi, sampai saya memastikan bahwa halaman saya (yang terdapat di inappbrowser) memiliki ini di tag meta viewport-nya: user-scalable=no - person Sherri; 30.09.2015
comment
Berfungsi untuk Android juga, setidaknya di versi 3.0.0+ - person jlapoutre; 26.02.2019

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

Gunakan tag meta ini di halaman eksternal tampilan web Terima kasih...

person mdb    schedule 31.07.2017
comment
Mengapa ini berhasil? Untuk mengetahui mengapa ini berhasil lebih penting dari sekedar kode. - person Flummox - don't be evil SE; 31.07.2017

Saat menggunakan plugin InAppBrowser, saya mengalami masalah yang sama.

Saya berhasil menyembunyikan tombol +/- "jelek", tetapi tetap mempertahankan perilaku zoom (menggunakan gerakan mencubit) dengan mengubah file InAppBrowser.java, dan menggunakan perintah berikut:

WebSettings settings = inAppWebView.getSettings();
settings.setBuiltInZoomControls(true); // enable built-in zoom mechanisms
settings.setDisplayZoomControls(false); // disable WebView's zoom controls display

Temukan di sini: https://developer.android.com/reference/android/webkit/WebSettings.html#setDisplayZoomControls(boolean)

person A. Yosupov    schedule 05.03.2017

Ini hanya menghapus tombol zoom dan ini hanya untuk iOS:

Buka file di proyek Anda:

[YourAppName]/platforms/ios/[YourAppName]/Plugins/org.apache.cordova.inappbrowser/src/ios/CDVInAppBrowser.m

Temukan dan ubah dari ini:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton, self.backButton, fixedSpaceButton, self.forwardButton]];

untuk ini:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton]];

Dan kemudian bangun proyek dengan baris perintah.

person Elemento0    schedule 27.01.2015

coba ini: var authWindow = window.open(authUrl, '_blank', 'location=no,zoom=no,toolbar=no');

person MD.Riyaz    schedule 04.04.2017
comment
Meskipun kode ini mungkin menjawab pertanyaan tersebut, memberikan konteks tambahan mengenai bagaimana dan/atau mengapa memecahkan masalah akan meningkatkan nilai jawaban jangka panjang. Ingatlah bahwa Anda menjawab pertanyaan untuk pembaca di masa mendatang, bukan hanya untuk orang yang bertanya sekarang! Harap edit jawaban Anda untuk menambahkan penjelasan, dan berikan indikasi batasan dan asumsi apa yang berlaku. Tidak ada salahnya juga untuk menyebutkan mengapa jawaban ini lebih tepat dibandingkan yang lain. - person Dev-iL; 04.04.2017

Buka struktur folder root}\platforms\android\app\src\main\java\org\apache\cordova\inappbrowser\inappbrowser.java

lalu cari zoom, di setiap tempat ubah zoom=false itu berhasil untuk saya.

Cordova 10.0.0, Android Studio 4,2021

person BenjaBoy    schedule 23.02.2021