Javascript 除非我刷新页面,否则Mmenu不会打开菜单
我正在用silverstripe构建一个网页,我正在尝试使用Mmenu.js添加一个移动菜单。由于某种原因,如果我单击菜单开启器,菜单将无法工作,直到我刷新页面。url会立即更新,但不会发生其他任何事情 我曾尝试在谷歌上搜索,但到目前为止,我找到的每一个建议都没有奏效 目前我使用的是8.2.3版,因为当我尝试最新版本时,在运行我的Mmenu_init.js脚本时会出现错误Mmenu未定义 以下是我的页面的总体布局:Javascript 除非我刷新页面,否则Mmenu不会打开菜单,javascript,html,silverstripe,mmenu,Javascript,Html,Silverstripe,Mmenu,我正在用silverstripe构建一个网页,我正在尝试使用Mmenu.js添加一个移动菜单。由于某种原因,如果我单击菜单开启器,菜单将无法工作,直到我刷新页面。url会立即更新,但不会发生其他任何事情 我曾尝试在谷歌上搜索,但到目前为止,我找到的每一个建议都没有奏效 目前我使用的是8.2.3版,因为当我尝试最新版本时,在运行我的Mmenu_init.js脚本时会出现错误Mmenu未定义 以下是我的页面的总体布局: <html> <head> <link
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/8.2.3/mmenu.css" integrity="sha256-XULUJ0ERBgEKrcR3CENdFRfSwMKwMJn3KuD9MjuAoVg=" crossorigin="anonymous" />
</head>
<body>
<div id="page_container">
<header>
<a id="hamburger" class="mobile_only" href="/new_site/test/public/#mobile_nav">Open menu</a>
<nav id="mobile_nav">
<ul>
<li class="active">
<a href="/new_site/test/public/" title="Home">Home</a>
<li >
<a href="/new_site/test/public/about/" title="About">About</a>
<ul>
<li >
<a href="/new_site/test/public/about/mission/" title="Mission">Mission</a>
</li>
<li >
<a href="/new_site/test/public/about/history/" title="History">History</a>
</li>
</ul>
</li>
<li >
<a href="/new_site/test/public/newsletters/" title="Newsletters">Newsletters</a>
<ul>
<li >
<a href="/new_site/test/public/newsletters/recent/" title="Recent">Recent</a>
</li>
<li >
<a href="/new_site/test/public/newsletters/archives/" title="Archives">Archives</a>
</li>
</ul>
</li>
<li >
<a href="/new_site/test/public/events/" title="Events">Events</a>
<ul>
<li >
<a href="/new_site/test/public/events/past/" title="Past">Past</a>
</li>
<li >
<a href="/new_site/test/public/events/announcements/" title="Announcements">Announcements</a>
</li>
</ul>
</li>
<li >
<a href="/new_site/test/public/resources/" title="Resources">Resources</a>
<ul>
<li >
<a href="/new_site/test/public/resources/policy/" title="Policy">Policy</a>
</li>
<li >
<a href="/new_site/test/public/resources/books/" title="Books">Books</a>
</li>
<li >
<a href="/new_site/test/public/resources/other-books/" title="Other Books">Other Books</a>
</li>
<li >
<a href="/new_site/test/public/resources/links/" title="Links">Links</a>
</li>
</ul>
</li>
</ul>
</nav>
</header>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/8.2.3/mmenu.js" integrity="sha256-eSVpPcpo6qwKHLSpc7SWDKDG3TjMNxlFzbtfcJIJQjI=" crossorigin="anonymous"></script>
<script src="mmenu_init.js"></script>
</body>
</html>
原来是silverstripe重写ajex请求时出现了问题,请参见 为了解决这个问题,我将其添加到我的app/_config/app.yml中:
Mmenu.configs.classNames.selected = "active";
Mmenu.configs.offCanvas.page.selector = "#page_container";
document.addEventListener(
"DOMContentLoaded", () => {
window.menu = new Mmenu( "#mobile_nav", {
extensions: ["theme-dark"]
});
}
);
SilverStripe\View\SSViewer:
rewrite_hash_links: false