Tôi không có ý tưởng tại sao điều này đang xảy ra. Các ví dụ phương thức trên trang web bootstrap đang hoạt động tốt.
Dù sao đi nữa, đây là những gì tôi đã làm.
Tôi đã thay đổi thẻ meta chế độ xem, để buộc safari không phóng to. Tôi cũng không muốn lấy đi thu phóng từ người dùng, vì vậy tôi đã thay đổi lại khi người dùng loại bỏ phương thức.
Để buộc dừng zoom:
$('#myModal').on('show.bs.modal', function (e) {
document.querySelector('meta[name="viewport"]').content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
})
Để thay đổi nó trở lại mặc định:
$('#myModal').on('hidden.bs.modal', function (e) {
document.querySelector('meta[name="viewport"]').content = 'viewport" content="width=device-width, initial-scale=1';
})
Nguồn
2015-09-20 07:27:39
điều này làm việc cho tôi, trước đây tôi đã có mã như dưới đây, nơi nó cập nhật nội dung meta, nhưng điều này đã không làm việc trong trường hợp của tôi. Tôi kết hợp hai câu lệnh css ở trên vào một css body.modal-open duy nhất. – Ron
FWIW: đặt 'body {padding-right: 0px; quan trọng;}', 'body' trên mỗi trang/lượt xem trong trang web/ứng dụng của bạn bất kể một phương thức có hiển thị hay không sẽ là' padding-right: 0px; '. _Could_ này có tác dụng phụ trong các lĩnh vực ứng dụng của bạn. Nếu bạn di chuyển 'padding-right' sang' .model-open {} 'bạn sẽ có kết quả tương tự nhưng sẽ đảm bảo rằng' body' chỉ được thực hiện theo cách này khi một phương thức được mở. Điều này làm việc vì lớp '.modal-open' được gắn vào thẻ' body', không phải một số thẻ lồng nhau trong 'body'. Ngoài ra, đi cho cụ thể bằng cách thiết lập các quy tắc như 'body.modal-open {...}' nếu bạn muốn. – WizzyBoom
Để thêm vào điều này, một vấn đề tôi nhận thấy trên trang web mà chúng tôi quản lý là một số nội dung (cố ý) buộc phải xem bên ngoài và do đó thiết lập chiều rộng của cơ thể thành 100% cố định nó, vì nó phù hợp với chiều rộng html bằng cách kế thừa chiều rộng cửa sổ. – JSess