我正在开发一个 jquery 移动网站,但我在运行 javascript 代码时遇到了一些问题。
我有一个主页 index.html ,它基本上是一个列表视图,用于导航到各种 html 页面。我的页面使用单页结构,这意味着每个 1 html 文件包含 1 页。现在从主页,我导航到另一个页面,在该页面中我使用了一个持久的 NavBar,带有一个带有 2 个选项的水平按钮。一种是照片,另一种是多媒体。
对于我使用 Javascript FB API 的照片,从 FB 页面下载照片,然后使用 PhotoSwipe 插件将它们呈现给用户。
问题..
如果我运行 photos.html 页面,它将运行良好并加载相册。我的 javascript 做了两件事。1) 使用 FB API 来获取相册、照片、封面照片等。 2) 动态地创建一个列表视图与这个相册和他们的照片。在这种情况下,两者都很好用!
但是,当我在我的 index.html 中并通过列表视图导航到 photos.html(照片是从持久导航栏中默认选择的按钮)时,Javascript 代码不起作用。像根本不叫..
index.html看起来像:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web App</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--<link href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" rel="stylesheet" type="text/css"/>-->
<link rel="stylesheet" href="themes/EspacioJoven.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<link rel="stylesheet" href="themes/custom.css" />
</head>
<body>
<div data-role="page" id="home" data-theme="a">
<!--
<div data-role="header">
<h1>Application Title</h1>
</div>
-->
<div data-role="content">
<h2 id="banner">Joven Mobile</h2>
<div class="main_menu">
<ul data-inset="true" data-role="listview">
<li><a href="EcioJven.html"><img src="themes/icons/news.png" alt="Information" class="ui-li-icon">Esen</a></li>
<li><a href="NeJoven.html"><img src="themes/icons/research.png" alt="Information" class="ui-li-icon">Laen</a></li>
<li><a href="photos.html"><img src="themes/icons/staff.png" alt="Information" class="ui-li-icon">Multimedia</a></li>
<li><a href="SajhrJoven.html"><img src="themes/icons/students.png" alt="Information" class="ui-li-icon">Sanen</a></li>
</ul>
</div>
</div>
<!--
<div data-role="footer">
<h4>Page Footer</h4>
</div>
-->
</div>
</body>
</html>
照片.html看起来像:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web App</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--<link href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" rel="stylesheet" type="text/css"/>-->
<link rel="stylesheet" href="themes/EspacioJoven.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<link rel="stylesheet" href="themes/custom.css" />
<!-- Needed from PhotoSwipe Plugin -->
<link href="photoSwipe/jquery-mobile.css" type="text/css" rel="stylesheet" />
<link href="photoSwipe/photoswipe.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="photoSwipe/klass.min.js"></script>
<script type="text/javascript" src="photoSwipe/code.photoswipe.jquery-3.0.5.min.js"></script>
<script type='text/javascript' src='photoSwipe/photoSwipeCall.js'></script>
<!-- Needed from PhotoSwipe Plugin -->
</head>
<body>
<div data-role="page" id="photos" data-theme="a" data-add-back-btn="true" data-back-btn-text="Back">
<div data-role="header" data-id="fixedNav" data-position="fixed">
<h1>Application Title</h1>
<a href="#" data-icon="back" data-rel="back" title="Go back">Back</a>
<div data-role="navbar">
<ul>
<li><a href="photos.html" class="ui-btn-active ui-state-persist">Photos</a></li>
<li><a href="videos.html">Videos</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true" class="albums">
<!-- Here the albums are created through javascript (createAlbums.js) -->
</ul>
<button type="button" id="loadMoreAlbums">More Albums...</button>
</div><!-- /content -->
</div><!-- /page -->
<div id="fb-root"></div>
<script type='text/javascript' src='javascript/createAlbums3.js'></script>
</body>
</html>
如您所见,我最后调用了我的javascript。任何想法为什么它从未被调用?如果我刷新页面,这意味着运行 photos.html ,它将正常加载。
实际上,我还查看了调试器中的“元素”表。当我在 index.html 页面中时,html 元素似乎都是正确的。当我转换到 photos.html 页面时,通过查看元素表,我发现它们没有改变!标题确实改变了,但其余部分保持不变,这太不可思议了?!这怎么可能发生?看起来是同一个页面,具有相同的 css 和 javascript 源,但应该不同!如您所见,我使用 photoSwipe javascript、css 等!只有当我重新加载页面元素是正确的。请问有什么想法吗?我不知道这里发生了什么。
同样出于某种原因304 Status , Not Modified
,我从一页到另一页的过渡。