禁用页面滚动并允许Google地图在Appframework 2.1中滚动并启用af.scrolling插件

时间:2014-05-29 13:59:35

标签: javascript html google-maps appframework

我尝试了这个解决方案:Disable page scroll but allow Google map scroll

但只有当我完全离开appframework的插件库时才能使用它。如果我添加插件,我可以阻止滚动

style="overflow:hidden"

但是我无法在mashup中移动地图。这是一个例子

http://jsbin.com/mediqelo/1/edit?html,output

删除

<script src="https://raw.githubusercontent.com/01org/appframework/master/build/af.plugins.min.js"></script>

有效但不适合我。在使用插件库时,是否有在实际appframework中使用谷歌地图的技巧?

2 个答案:

答案 0 :(得分:0)

appframework.ui.min.js脚本文件已包含大部分插件(af.scroller等),因此您不需要af.plugins.js。

以下是appframework.ui.min.js中包含的插件列表:https://github.com/01org/appframework/blob/master/Gruntfile.js#L132

因此,您所看到的错误可能是因为包含插件2次。

如果您想要其他缺少的插件,可以在此位置添加单个插件:https://github.com/01org/appframework/tree/master/plugins,(af.slidemenu和af.desktopBrowsers是appframework.ui.min.js中缺少的插件)

答案 1 :(得分:0)

在与开发人员创建问题和简短讨论后,我遇到了问题。 (https://github.com/01org/appframework/issues/699

1)appframework.ui.min.js包含很多插件但不包含af.desktopBrowsers插件。滚动无法在桌面浏览器中工作而无需添加此插件。这个插件冻结了Google Map mashup。似乎开发人员没有看到这个问题,因为Chrome不是目标平台(我也不担心)。

2)在Windows Phone 8中,由于将mspointer事件映射到触摸事件,因此需要af.desktopBrowsers(奇怪)。但是在这个平台上,谷歌地图与af.desktopBrowsers(yippie!)合作。

appframework厨房水槽应用程序有一个小片段,可以根据需要加载af.deskopBrowser:

if (!((window.DocumentTouch && document instanceof DocumentTouch) || 'ontouchstart' in window)) {
    var script = document.createElement("script");
    script.src = "plugins/af.desktopBrowsers.js";
    var tag = $("head").append(script);
}