Hy,вопросы Scrolling с ExtJS 5 приложения внутри IFrame
это то, что моя тестовая страница выглядит следующим образом:
Синяя область является родительской страницы и зеленая зона является IFrame, который запускает приложение ExtJS (простой видовой экран с меткой внутри).
Если сайт выполнен на сенсорном устройстве (IPad, Android Tablet и т. Д.), Прокручивание страницы «протиранием» на IFrame (зеленой зоне) невозможно. Чтобы прокрутить страницу, нужно протирать синюю область.
Это правильно работало в ExtJS v4.2.1 (см. Ссылки ниже).
Тест-сайты:
https://skaface.leo.uberspace.de/ScrollTest/Ext510/ (не работает, как ожидалось, с использованием ExtJS V5.1.1)
https://skaface.leo.uberspace.de/ScrollTest/Ext421/ (работает как и ожидалось, тот же код, но с использованием ExtJS v4.2.1)
Тест-код:
сайт родитель (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>
Я действительно ценю обходной путь для этого, так как он практически делает мои сайты бесполезен на мобильных устройствах, даже если бы они работали прекрасно с ExtJS 4.2.1.
Благодаря & наилучшими пожеланиями
Ps .: Я уже отправил сообщение об ошибке in the sencha forums, но так как я не получил никакой помощи там, пока знаю, я также пытаюсь мое счастье на StackOverflow ...
[Делегированные события и жесты в Ext JS 5] (https://www.sencha.com/blog/delegated-events-and-gestures-in-ext-js-5/) – davidcondrey
Почему вы не можете просто полностью удалите внешний контейнер и просто покажите внутренний контент напрямую, используя накладку 50px на корпусе или тому подобное? – BoffinbraiN
@davidcondrey Спасибо за ссылку, я посмотрю на нее на следующей неделе. – suamikim