ปิดการใช้งานปุ่มซูมในเบราว์เซอร์ inappbrowser ของ Phonegap

หลังจากค้นหาและลองทำสิ่งต่าง ๆ เป็นเวลาหลายชั่วโมงฉันก็เกือบจะยอมแพ้ ฉันต้องการเปิด URL ภายนอกใน inAppBrowser ที่ตอนนี้รวมอยู่ใน Phonegap Build ฉันลบแถบที่อยู่ด้วย location=no (ลอง toolbar=no เหมือนกัน แต่ก็ไม่ได้ทำอะไรเลย) อย่างไรก็ตาม ปุ่มซูม (+ และ -) ที่ปรากฏขึ้นทุกครั้งที่คุณเลื่อนหน้าจะไม่หายไป ฉันหาวิธีปิดการใช้งานไม่ได้ แต่บางทีฉันอาจมองข้ามบางสิ่งไปใช่ไหม ฉันจะใช้การซูมแบบหยิก ดังนั้นฉันจึงไม่เห็นเหตุผลที่ต้องมีปุ่มน่าเกลียดเหล่านี้ที่ด้านบนของหน้า (ซึ่งออกแบบมาสำหรับแอปนี้โดยเฉพาะ)

มีวิธีปิดการใช้งานปุ่มซูมในตัวหรือไม่?

ฉันกำลังทดสอบบน Android แต่วางแผนที่จะใช้งานกับเวอร์ชัน iPhone ด้วย


person Dmitriy Gamolin    schedule 09.05.2014    source แหล่งที่มา


คำตอบ (7)


ฉันมีปัญหาเดียวกัน แต่ใช้ Cordova แทน Phonegap Build เคล็ดลับที่ทำเพื่อฉันคือเปลี่ยนบรรทัด 575 ของ InAppBrowser.java เป็น settings.setBuiltInZoomControls(false);

แน่นอนว่ามันใช้ไม่ได้กับ iOS แต่เท่าที่ฉันรู้ว่าไม่มี Phonegap/Cordova อยู่แล้ว

person user3677008    schedule 26.05.2014
comment
Cordova 5.1.1: บรรทัด 619 ของ {project root}/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java โปรดทราบว่านี่ไม่เพียงแค่ซ่อนปุ่มซูมที่ดูโบราณ แต่ยังป้องกันการซูมแบบหยิกอีกด้วย - person Stan Kurdziel; 11.07.2015

ลอง zoom=no

คุณสามารถดูรายละเอียดเกี่ยวกับเอกสารประกอบปลั๊กอิน Cordova inappbrowser: https://github.com/apache/cordova-plugin-inappbrowser

person Görkem Öğüt    schedule 08.04.2015
comment
สิ่งนี้ใช้ไม่ได้ใน Cordova 5.1.1 - ดูเหมือนว่าความสามารถในการระบุการเปิดใช้งานการควบคุมการซูมถูกลบออก: github.com/apache/cordova-plugin-inappbrowser/pull/104 - person Stan Kurdziel; 11.07.2015
comment
ฉันพบว่าพารามิเตอร์ Zoom=no ใช้งานไม่ได้เช่นกัน จนกว่าฉันจะแน่ใจว่าเพจของฉัน (อันที่อยู่ในเบราว์เซอร์ที่ไม่เหมาะสม) มีสิ่งนี้อยู่ในเมตาแท็กวิวพอร์ต: user-scalable=no - person Sherri; 30.09.2015
comment
ใช้งานได้กับ Android เช่นกัน อย่างน้อยในเวอร์ชัน 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" />

ใช้เมตาแท็กนี้ในหน้าภายนอกของ webview ขอบคุณ...

person mdb    schedule 31.07.2017
comment
ทำไมสิ่งนี้ถึงได้ผล? หากต้องการทราบว่าเหตุใดจึงใช้งานได้จึงสำคัญมากกว่าแค่โค้ด - person Flummox - don't be evil SE; 31.07.2017

เมื่อใช้ปลั๊กอิน InAppBrowser ฉันพบปัญหาเดียวกัน

ฉันจัดการเพื่อซ่อนปุ่ม +/- "น่าเกลียด" แต่คงพฤติกรรมการซูมไว้ (โดยใช้ท่าทางบีบนิ้ว) โดยการเปลี่ยนไฟล์ InAppBrowser.java และใช้คำสั่งต่อไปนี้:

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

พบได้ที่นี่: https://developer.android.com/reference/android/webkit/WebSettings.html#setDisplayZoomControls(boolean)

person A. Yosupov    schedule 05.03.2017

นี่เป็นเพียงการลบปุ่มซูมออกและสำหรับ IOS เท่านั้น:

เปิดไฟล์ในโครงการของคุณ:

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

ค้นหาและเปลี่ยนแปลงจากสิ่งนี้:

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

สำหรับสิ่งนี้:

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

จากนั้นสร้างโครงการด้วยบรรทัดคำสั่ง

person Elemento0    schedule 27.01.2015

ลองสิ่งนี้: var authWindow = window.open(authUrl, '_blank', 'location=no,zoom=no,toolbar=no');

person MD.Riyaz    schedule 04.04.2017
comment
แม้ว่าโค้ดนี้อาจตอบคำถามได้ แต่ให้บริบทเพิ่มเติมเกี่ยวกับวิธีการ และ/หรือ เหตุใดจึงแก้ปัญหาได้จะปรับปรุงมูลค่าระยะยาวของคำตอบ จำไว้ว่าคุณกำลังตอบคำถามของผู้อ่านในอนาคต ไม่ใช่แค่คนที่ถามตอนนี้! โปรดแก้ไขคำตอบของคุณเพื่อเพิ่มคำอธิบาย และระบุว่ามีข้อจำกัดและสมมติฐานใดบ้าง การพูดถึงว่าทำไมคำตอบนี้จึงเหมาะสมกว่าคำตอบอื่นจึงไม่เจ็บ - person Dev-iL; 04.04.2017

ไปที่โครงสร้างโฟลเดอร์ root}\platforms\android\app\src\main\java\org\apache\cordova\inappbrowser\inappbrowser.java

จากนั้นค้นหาการซูม ในทุก ๆ ที่ให้เปลี่ยนการซูม=เท็จ มันได้ผลสำหรับฉัน

Cordova 10.0.0, Android Studio 4,2021

person BenjaBoy    schedule 23.02.2021