我遇到了英特尔AppFramework的问题。我似乎无法让侧面工作。
它可以在AppFramework网站上下载的演示中运行良好,但不管我试图模仿它的程度如何 - 我无法让侧面菜单处理我的项目。
一切正常,直到我添加标签,因为这就是你如何制作侧面菜单。添加这些标签后,整个应用程序将呈现空白/白色,并在控制台中弹出一个错误" Uncaught TypeError:无法读取属性' hideScrollbars'未定义" 。
它与appframework.ui.js'有关。 1100行this.scrollingDivs.menu_scroller.hideScrollbars();
因此看起来这个menu_scroller由于某种原因未定义。
这是我能给你的代码,它是我的AppFramework / Phonegap应用程序的index.html:http://pastebin.com/dXtTeiKx
控制台没有说任何丢失的文件(除了cordova.js,这是因为PC没问题)也没有抛出除了我告诉你的任何其他JavaScript错误,所以我认为我没有必要发布每个其他文件中的代码。
我已经尝试使用AppFramework 3.0版本。
我也试过转换JavaScript包括一些,包括在appframework之前的appframework.ui,并将一些包含放在index.html的底部,但是如果这些已经解决了这个问题,那么没有。
我也尝试删除所有多余的css和js包含但不起作用。
这让我相信AppFramework本身存在某种错误,或者我只是做了一些可怕的错误或监督了某些事情。
以下是AppFrameworks sidemenu的文档:http://app-framework-software.intel.com/documentation.php#afui/afui_side,正如您所看到的,除了将导航内容包含在源代码之外,它应该不需要任何其他内容,我甚至尝试复制整个
<nav id="leftMenu" class="view">
<header><h1>Left Menu</h1></header>
<div class="pages">
<div class="panel active">
This is the left menu
</div>
</div>
</nav>
......但这没有改变。
答案 0 :(得分:1)
所以我自己成功解决了这个问题。我不知道AppFramework在后台做了什么样的魔法,但导致导航对我不起作用的问题是我有一个如此定义的面板:
<div data-title="Main menu" id="menu" class="panel" data-footer = "main_footer" data-header = "main_header" data-nav = "main_leftmenu">
This is the main menu
</div>
nav正确定义如下:
<nav class = "view" id = "main_leftmenu">
<ul class = "list">
<li><a href = "#">asd</a></li>
<li><a href = "#">asd</a></li>
<li><a href = "#">asd</a></li>
</ul>
</nav>
问题出在我所说的面板上;你可以看到它有一个id“菜单” - 这就是打破导航的原因。 “菜单”作为面板的ID很可能是保留的单词或其他内容,因此不应使用它。
我建议如果你使用AppFramework,你应该为所有东西(尤其是面板)添加前缀:
<div data-title="Main menu" id="f_main_menu" class="panel" data-footer = "main_footer" data-header = "main_header" data-nav = "main_leftmenu">
This is the main menu
</div>
这里我用“f_”前缀为“主”面板添加了前缀(还有“_main”,但这只是额外的,所以它更多地讲述了面板。)
所以简而言之
为您的面板ID添加前缀,不要为其中任何一个ID为“main”或“menu”。使用“x_main”和“x_menu”之类的东西。