我无法在iPhone上使用Bootstrap 4的4.0.0-alpha.6版本(但不是Android版)。我们的导航栏有两个下拉菜单,可以在桌面上正常工作(以及用于测试响应活动的开发人员工具)。但是当在iPhone上查看时,下拉菜单不起作用。看起来javascript存在问题 - 点击下拉列表应该添加“show”类,但它不会在iPhone上执行。通过使用开发人员工具操作DOM来手动添加“show”类会带来预期的CSS更改并正确显示下拉列表。任何人都可以建议什么可能保持javascript在这里工作?我们在控制台中没有收到任何错误。
我们的存储库是here。我们正在运行Jekyll和Ruby 2.3.3。
有问题的特定HTML代码段未触发JavaScript,是来自repo的/_includes/menu.html:
<nav class="navbar navbar-toggleable-sm navbar-light bg-faded">
<!--<div class="container">-->
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="{{site.baseurl}}{{site.data.snippets.menu-home[page.lang]}}">The Programming Historian</a>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="nav navbar-nav ml-auto w-100 justify-content-end">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{site.data.snippets.menu-about[page.lang]}}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-about-overview[page.lang].link}}">{{site.data.snippets.menu-about-overview[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-about-team[page.lang].link}}">{{site.data.snippets.menu-about-team[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-about-research[page.lang].link}}">{{site.data.snippets.menu-about-research[page.lang].title}}</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{site.data.snippets.menu-contribute[page.lang]}}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink2">
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-overview[page.lang].link}}">{{site.data.snippets.menu-contribute-overview[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-feedback[page.lang].link}}">{{site.data.snippets.menu-contribute-feedback[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-review[page.lang].link}}">{{site.data.snippets.menu-contribute-review[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-write[page.lang].link}}">{{site.data.snippets.menu-contribute-write[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-edit[page.lang].link}}">{{site.data.snippets.menu-contribute-edit[page.lang].title}}</a>
<a class="dropdown-item" href="{{site.baseurl}}{{site.data.snippets.menu-contribute-retirement[page.lang].link}}">{{site.data.snippets.menu-contribute-retirement[page.lang].title}}</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="{{site.baseurl}}{{site.data.snippets.menu-lessons[page.lang].link}}">{{site.data.snippets.menu-lessons[page.lang].title}}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{site.baseurl}}{{site.data.snippets.menu-blog[page.lang].link}}">{{site.data.snippets.menu-blog[page.lang].title}}</a>
</li>
<li class="nav-item">
<a class="nav-link lang" href="{{site.baseurl}}{{site.data.snippets.menu-lang[page.lang].link}}">{{site.data.snippets.menu-lang[page.lang].title}}</a>
</li>
</ul>
</div>
<!--</div>-->
</nav>
我们的包含所有javascript引用的头文件位于/_includes/header.html:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
{% include metadata.html %}
{% include twitter-card.html %}
<!-- Mobile viewport optimized: h5bp.com/viewport -->
<meta name="viewport" content="width=device-width">
<link href="{{site.baseurl}}/css/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href='{{site.baseurl}}/feed.xml' rel='alternate' type='application/atom+xml'>
<title>{{ page.title }} | {{ site.name }}</title>
<link href="https://fonts.googleapis.com/css?family=Crete+Round|Open+Sans|Quattrocento|Roboto|Roboto+Condensed" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<link rel="stylesheet" href="{{site.baseurl}}/css/github.css">
<link rel="stylesheet" href="{{site.baseurl}}/css/style.css">
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/ext_links.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/header_links.js"></script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</head>
我们正在运行Bootstrap JS和CSS的4.0.0-alpha.6版本。我已经探讨了回复here和here,但这些变通办法似乎没有用。谷歌搜索建议这是当时BS4-alpha的一个已知问题,所以我尝试将我们的Bootstrap版本升级到最新的稳定版本,根据BS4可用文档here。但是,这并不能解决问题,而且还会引入这种迁移所期望的其他样式问题。所以我现在已经不再迁移了。如果这是最好的解决方案,那么在这种迁移中可能会丢失的任何指导都会有所帮助。
非常感谢任何帮助,我很乐意提供任何进一步的背景或代码。
答案 0 :(得分:0)
如果将来帮助其他人,我可以通过调整代码here来实现这一目标。该链接提供了一些javascript来覆盖功能,但我必须调整jQuery选择器以使代码适合我们设置的html结构。