Hỷ,vấn đề cuộn với ExtJS 5 ứng dụng bên IFrame
đây là những gì trang thử nghiệm của tôi trông giống như:
Vùng màu xanh là trang mẹ và diện tích cây xanh là một IFrame mà chạy một ứng dụng ExtJS (khung nhìn đơn giản với một nhãn bên trong).
Nếu trang web được thực thi trên thiết bị cảm ứng (IPad, Android Tablet v.v.), bạn không thể cuộn trang bằng cách "xóa" trên khung nội tuyến (vùng màu xanh lục). Người ta phải lau trên khu vực màu xanh để cuộn trang.
Điều này đã hoạt động chính xác trong ExtJS v4.2.1 (xem các liên kết bên dưới).
Test-Sites:
https://skaface.leo.uberspace.de/ScrollTest/Ext510/ (không làm việc như mong đợi, sử dụng ExtJS v5.1.1)
https://skaface.leo.uberspace.de/ScrollTest/Ext421/ (làm việc như mong đợi, cùng một mã nhưng sử dụng ExtJS v4.2.1)
Các mã kiểm tra: trang web
Chánh (index.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" style="height: 100%;">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body style="margin: 50px; background-color: blue;">
<iframe src="frame.html" width="100%" height="1400" style="border: none;"></iframe>
</body>
</html>
IFrame (frame.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" style="height: 100%;">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" type="text/css" href="https://extjs.cachefly.net/ext/gpl/5.1.0/packages/ext-theme-neptune/build/resources/ext-theme-neptune-all-debug.css" />
<script type="text/javascript" src="https://extjs.cachefly.net/ext/gpl/5.1.0/build/ext-all-debug.js"></script>
<script type="text/javascript">
Ext.onReady(function() {
Ext.create('Ext.container.Viewport', {
style: { 'background-color': 'yellowgreen' },
layout: 'fit',
items: [{
xtype: 'label',
text: 'Ext version: ' + Ext.versions.extjs.version,
margin: 16
}]
});
});
</script>
</head>
<body>
</body>
</html>
Tôi thực sự đánh giá cao giải pháp này vì nó thực tế làm cho trang web của tôi vô dụng trên thiết bị di động mặc dù chúng hoạt động hoàn toàn tốt với ExtJS 4.2.1.
Cảm ơn & Trân
PS .: Tôi đã gửi một báo cáo lỗi in the sencha forums, nhưng kể từ khi tôi đã không nhận được bất kỳ sự giúp đỡ đó cho đến khi bí quyết, tôi cũng đang cố gắng may mắn của tôi trên stackoverflow ...
[Sự kiện và cử chỉ được ủy quyền trong Ext JS 5] (https://www.sencha.com/blog/delegated-events-and-gestures-in-ext-js-5/) – davidcondrey
Tại sao bạn không thể loại bỏ các thùng chứa bên ngoài hoàn toàn và chỉ hiển thị nội dung bên trong trực tiếp, sử dụng một padding 50px trên cơ thể hoặc tương tự? – BoffinbraiN
@davidcondrey Cảm ơn bạn đã liên kết, tôi sẽ xem xét nó vào tuần tới. – suamikim