2013-08-16 49 views
5

Tôi gặp sự cố với iOS (cả Safari và Chrome dành cho iOS). Khi người dùng phóng to trang dường như thay đổi kích thước (nó cũng kích hoạt sự kiện kích thước thay đổi kích thước hàng chục lần), điều này làm rối tung một số nội dung của tôi được định vị bằng javascript. Tôi không thể khắc phục điều đó bằng cách ràng buộc sự kiện thay đổi kích thước bởi vì nó được gọi là quá nhiều lần và tôi không có cách nào để biết cái nào là cuối cùng.Trang thay đổi kích thước trên iOS khi phóng to

Tôi đã thử đặt nhiều tùy chọn trên chế độ xem mà không có may mắn (chiều rộng, quy mô ban đầu, quy mô tối đa, tỷ lệ tối thiểu).

Tôi có một vị trí cố định div với cố định trên cùng, bên phải, bên trái và trên cùng. Có một số div tuyệt đối bên trong nó và chúng có kích thước và vị trí được đặt trong%.

Dường như trang thực sự thay đổi kích thước vì khi tôi thu nhỏ sau khi tôi đã phóng to, tôi thấy các đường viền trống ở bên phải và cuối màn hình. Tôi muốn ngăn điều này xảy ra.

+0

Bạn có mã nào chúng tôi có thể xem không? –

+0

@ Jean-Paul Mã quá lớn đối với tôi để đăng ở đây. Tôi có thể cố gắng để nhân rộng nó nhưng tôi không có nơi nào để lưu trữ nó (js fiddle sẽ không hoạt động trên iPad). Nhưng tôi nghi ngờ tôi sẽ có thể tái tạo nó. Tôi đã hy vọng một người nào đó đã chạy vào vấn đề này trước đây, tôi tin rằng nó có thể là một số quy tắc CSS ngẫu nhiên đang gây ra điều này. Tôi đang sử dụng twitter bootstrap mặc dù. – Hoffmann

+0

Bạn có thể lưu trữ các trang HTML miễn phí trên Dropbox, chỉ cần đặt index.html và Javascript/CSS liên quan bên trong thư mục Công cộng và nhấp chuột phải để nhận URL công khai. – BausTheBig

Trả lời

2

Tôi đã tìm thấy sự cố. Trang không tự thay đổi kích cỡ, các phần tử được định vị cố định là. Nó chỉ ra vị trí cố định theo quan điểm của người dùng nếu anh ta phóng to. Giải pháp duy nhất tôi tìm thấy là thay đổi tất cả vị trí cố định của tôi thành vị trí tuyệt đối (trong trường hợp của tôi sẽ là một cơn đau).

Tôi cũng thấy rằng vì sự kiện thay đổi kích thước bị ràng buộc với cửa sổ, chế độ xem sẽ thay đổi khi thu phóng và do đó chức năng thay đổi kích thước được kích hoạt. Sự kiện thay đổi kích thước does not work trên các yếu tố khác (trong trường hợp của tôi những gì tôi thực sự cần là để xem thay đổi kích thước trên cơ thể).

+0

Tôi rất vui vì bạn đã tìm được giải pháp! Tuy nhiên tôi phải nói rằng bạn đã làm cho nó rất khó khăn cho bất cứ ai để giúp đỡ, mà không đăng bất kỳ mã nào ...Tiếp theo thời gian đăng một số mã nhiều hơn cho chúng ta nhai trên. ;) –

+0

Vâng xin lỗi về điều đó, nó chỉ là mã thực sự lớn và tôi không có ý tưởng gì là sai, tôi nghĩ rằng nó có liên quan đến một số quy tắc CSS ngẫu nhiên và không phải là vị trí cố định chính nó. CSS của tôi là quá lớn để đặt ở đây (và một số của nó không có ý nghĩa mà không có javascript kèm theo). – Hoffmann

0

Tôi không biết có vấn đề gì về bản chất đó, ngay cả trên các phiên bản đầu của iOS Safari/Chrome. Bạn đang sử dụng phiên bản iOS nào? Nếu bạn có quyền truy cập OSX, bạn đã thử nghiệm Safari trên tất cả các phiên bản iOS có sẵn trên iOS Simulator chưa? Bạn có nhận được hành vi tương tự trên iPad không? Bạn đã thử nghiệm các trình duyệt khác trên các chế độ xem nhỏ chưa? Bạn đề cập đến một cái gì đó về thay đổi kích thước sự kiện được gọi là cách quá nhiều lần.

tôi sẽ cố gắng để có được một trang HTML đơn giản với phong cách đơn giản và không có javascript để làm việc với đoạn mã sau:

<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"> 

Đoạn mã trên nên phóng to không thể ... Nếu rằng không làm việc trên một thiết lập đơn giản, sau đó chắc chắn là một lỗi tôi không quen thuộc với phiên bản iOS bạn đang thử nghiệm trên.

Mặt khác, nếu điều đó hoạt động, thì có điều gì đó ghi đè thẻ khung nhìn trên mã của bạn.

+0

Tôi đã tìm thấy sự cố, bạn có thể kiểm tra câu trả lời của tôi. Nó không liên quan đến khung nhìn. Tôi không muốn vô hiệu hóa zoom, tôi muốn các yếu tố cố định vị trí của tôi không bị ảnh hưởng bởi phóng to. Điều này, tuy nhiên dường như không thể. – Hoffmann

Các vấn đề liên quan