我有以下标记(在第一个选项卡中)-
<div data-role="navbar" class="myClass">
<ul>
<li><a rel="external" data-ajax="false" href="Tab1.html" data-transition="slidefade" class="ui-btn-active ui-state-persist" id="favorite" data-icon="custom">Tab1</a></li>
<li><a rel="external" data-ajax="false" href="Tab2.html" data-transition="slidefade" id="recent" data-icon="custom">Tab2</a></li>
<li><a rel="external" data-ajax="false" href="Tab3.html" data-transition="slidefade" id="contacts" data-icon="custom">Tab3</a></li>
<li><a rel="external" data-ajax="false" href="Tab4.html" data-transition="slidefade" id="keypad" data-icon="custom">Tab4</a></li>
</ul>
</div>
当我通过点击导航栏在页面之间切换时(通过 CSS 使其看起来像 iOS 原生 UITabBar),每当我导航到选项卡时都会初始化相应的 .html 文件(我希望页面在应用程序生命中只初始化一次循环)。
当我删除属性rel="external" data-ajax="false"
时,问题得到解决,但仅在 Safari 浏览器中,Chrome 停止导航到该页面并给出错误 - “错误加载页面”。-
<----这是Chrome浏览器的已知行为吗?
此外,如果我声明一个像这样的对象——一旦我离开页面window.variable=xyz;
,存储的值window.variable
就会丢失,即应用程序在每次点击导航栏后都会重新初始化,我无法window
在整个应用程序中共享该对象。
而且,如果我给——
<script>
$(document).bind("mobileinit", function(){
alert('Page inited');
});
</script>
在 Tab1.html、Tab2.html、Tab3.html 和 Tab4.html 的标题中,每当我导航到我不希望发生的相应标签页时,都会调用脚本,即标记中的整个标题。
这是 Google Chrome 浏览器中的已知问题/功能吗?Safari- 也是基于 Webkit 构建的,其行为方式有所不同。