我正在使用Extjs组件,PHP和MySQL的Web应用程序。 我想在iPad上正确显示我的应用程序。是否有特殊的CSS规则或元标记?iPad/iPhone的自定义CSS /元标记
3
A
回答
4
你的问题相当含糊。这里有一些提示用于开发iOS上的Web应用程序:
- 对于固定宽度的网站,使用
<meta>
标签,告诉移动Safari浏览您的网站的宽度应该是什么,类似于:
<meta name = "viewport" content = "width = 320, initial-scale = 2.3, user-scalable = no">
- 你可以获得移动Safari支持的其他
<meta>
标签的列表here. - Mobile Safari向JavaScript DOM添加新事件以支持触摸和方向更改。 Here is the Apple reference to them.
- 这是一个useful overview如何制作适用于iPad的网络应用程序。
- 最后,尝试Google search。
1
我还没有机会测试它,但我编写了这个脚本来在1.5秒或更长时间的长按之后触发元素上的contextmenu事件。试试看。
更新:终于有机会测试它,它按预期工作。我将延迟从1500毫秒降低到1200毫秒,因为延迟对我来说太长了。
(function() {
var EM = Ext.EventManager,
body = document.body,
activeTouches = {},
onTouchStart = function(e, t) {
var be = e.browserEvent;
Ext.id(t);
if(be.touches.length === 1) {
activeTouches[t.id] = fireContextMenu.defer(1200, null, [e, t]);
} else {
cancelContextMenu(e, t);
}
},
fireContextMenu = function(e, t) {
var touch = e.browserEvent.touches[0];
var me = document.createEvent("MouseEvents");
me.initMouseEvent("contextmenu", true, true, window,
1, // detail
touch.screenX,
touch.screenY,
touch.clientX,
touch.clientY,
false, false, false, false, // key modifiers
2, // button
null // relatedTarget
);
t.dispatchEvent(me);
},
cancelContextMenu = function(e, t) {
clearTimeout(activeTouches[t.id]);
};
if(navigator.userAgent.match(/iPad/i) != null) {
Ext.onReady(function() {
EM.on(body, "touchstart", onTouchStart);
EM.on(body, "touchmove", cancelContextMenu);
EM.on(body, "touchend", cancelContextMenu);
});
}
})();
相关问题
- 1. 自定义CSS为<audio>标记?
- 2. 自定义标记
- 3. 自定义标记上传
- 4. Jsf 2.0自定义标记
- 5. matplotlib自定义标记
- 6. Mapbox自定义标记
- 7. Struts2:自定义s:textfield标记
- 8. 自定义地图标记
- 9. 自定义选择标记
- 10. 自定义标记与nltk
- 11. ASP.NET:自定义子标记
- 12. 自定义CSS与WordPress元框的
- 13. iOS中的标记群集中的自定义标记图标
- 14. JQuery的标签自定义CSS
- 15. Angular Leaflet自定义标记图标
- 16. 自定义标记图标动画
- 17. Android自定义标记图标
- 18. react-google-maps自定义标记图标
- 19. WordPress的:自定义的网址标记
- 20. Sproutcore自定义CSS
- 21. 从枚举中创建select元素的自定义标记
- 22. 自定义搜索引擎优化的元标记Yoast
- 23. React JSX中的自定义HTML元素标记
- 24. 自定义单元格中的标记和MPMediaItems
- 25. 在Django中的自定义标记
- 26. Android中的自定义标记属性
- 27. 小册子中的自定义标记
- 28. Google地方的自定义标记
- 29. 原子Feed中的自定义标记
- 30. matplotlib中的自定义标记
如果你没有使用库来为你抽象出大部分内容,那么你可能会做错了。有几个很好的选择(包括让Ext JS的同一个人的Sencha Touch)。 – 2010-11-30 21:33:08
问题是花式桌面应用程序需要Ext JS,而Sencha Touch最适合专用于移动设备的应用程序。我们需要的是一个在台式机和平板电脑上运行良好的框架,其中包括特殊的适配器,例如我的代码,以弥补这两种平台功能的细微差异。也许Ext JS 4将会是这个框架,但是在那之前,我和其他像OP一样,将不得不依靠黑客攻击Ext JS 3.3来满足我们的需求。 – divestoclimb 2010-12-01 16:17:51