gpt4 book ai didi

java - 将 JQuery Slide Menu 与现有移动网站集成很困难

转载 作者:行者123 更新时间:2023-12-01 14:48:28 26 4
gpt4 key购买 nike

我有一个用 Java 编写并托管在 Tomcat 上的现有移动网站,我正在尝试为其集成此幻灯片菜单

https://github.com/tegansnyder/JQuery-Mobile-Slide-Menu

但是,我遇到了一个非常奇怪的问题,该问题似乎是我的 Samsung Galaxy S3 浏览器特有的,因为我在 Chrome 或 Firefox 上没有看到相同的问题。

当我单击 slider 菜单中的某个菜单链接时,它会将我重定向到我指定的 URL,但会添加一个 # 符号。例如

domain.mobi/#/help.jsp?helpsource=index.jsp

其实应该是

domain.mobi/help.jsp?helpsource=index.jsp

这会有效地破坏页面,因为该页面上的 slider 菜单不再起作用。

有什么想法吗?

这是我的index.jsp 上的代码

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<c:set var="locale" value="en"/>
<c:if test="${not empty param.locale}">
<c:set var="locale" value="${param.locale}"/>
</c:if>
<fmt:setLocale value="${locale}"/>
<fmt:setBundle basename="chale"/>
<%@taglib uri="/WEB-INF/tld/chale.tld" prefix="chale" %>

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta http-equiv="cleartype" content="on">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

<link href="css/themes/jqmfb.min.css" rel="stylesheet" type="text/css">
<link href="css/chale_style.css" rel="stylesheet" type="text/css">
<link href="css/jquery.mobile.structure.min.css" rel="stylesheet" type="text/css">

<!--Include JQM and JQ-->

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"> </script>
<script src="js/jquery.animate-enhanced.min.js"></script>

<!--JQM globals you can edit or remove file entirely... note it needs to be loaded before jquerymobile js -->
<script src="js/jqm.globals.js"></script>

<script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script>

<!--JQM SlideMenu-->
<link rel="stylesheet" href="css/jqm.slidemenu.css" />
<script src="js/jqm.slidemenu.js"></script>
<title><fmt:message key="index.pagetitle"/></title>
</head>
<body>
<c:set var="pageVal" value="0"/>
<c:if test="${not empty param.page}">
<c:set var="pageVal" value="${param.page}"/>
</c:if>



<div id="slidemenu">

<div id="profile">

<div class="profile_info"><strong>Chale</strong></div>
</div>

<h3>MENU</h3>

<ul>
<c:url var="finder" value="m/browse.jsp"/>
<li><a href="${finder}"><img src="../img/smico4.png"><fmt:message key="index.optionflirtfinder"/></a></li>

<c:url var="fav" value="m/favourites.jsp"/>
<li><a href="${fav}"><img src="../img/smico4.png"><fmt:message key="general.favourites"/></a></li>


<c:url var="message" value="m/messaging.jsp"><c:param name="messagesource" value="../index.jsp"/></c:url>
<li><a href="${message}"><img src="../img/smico4.png"><fmt:message key="general.messages"><fmt:param value="${unreadMessages}"/></fmt:message></a></li>

<c:url var="chat" value="chat/checkdetailsservlet"/>
<li><a href="${chat}"><img src="../img/smico4.png"><fmt:message key="index.optionchatcentral"/></a></li>

<c:url var="prof" value="m/profile.jsp"/>
<li><a href="${prof}"><img src="../img/smico4.png"><fmt:message key="index.optionmyprofile"/></a></li>

<c:url var="help" value="help.jsp"><c:param name="helpsource" value="index.jsp"/></c:url>
<li><a href="${help}"><img src="../img/smico4.png"><fmt:message key="general.helpcentre"/></a></li>

</ul>


</div>

<div data-role="page" id="main_page" data-theme="a">

<div data-role="header" data-position="fixed" data-tap-toggle="false" data- update-page-padding="false">
<a href="@" data-slidemenu="#slidemenu" data-slideopen="false" data-icon="smico" data-corners="false" data-iconpos="notext">Menu</a>
<h1>Chale</h1>
</div>

最佳答案

明白你所面临的问题。 <a>标签将被 jquery mobile 拦截,以使用 AJAX 获取 HTML/导航页面,而不是直接更改页面。

它将生成带有井号 (#) 的 url 来导航页面。
引用:http://jquerymobile.com/demos/1.2.0/docs/api/methods.html
搜索关键字:hash

domain.mobi/#/help.jsp?helpsource=index.jsp

要解决此问题,您需要在网址中添加 data-ajax="false"。

<a href="${finder}" data-ajax="false"><img src="../img/smico4.png"><fmt:message key="index.optionflirtfinder"/></a>

如果链接链接到另一个网站或域,您必须添加 rel="external"还有。
引用:http://jquerymobile.com/demos/1.2.0-alpha.1/docs/pages/page-links.html

关于java - 将 JQuery Slide Menu 与现有移动网站集成很困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15141833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com