tab-webview-main.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Hello MUI</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <link rel="stylesheet" href="css/mui.min.css">
  10. <link href="css/OA-style.css" rel="stylesheet" />
  11. <style>
  12. .mui-bar-nav{box-shadow: 0 1px 6px #468CF0;}
  13. </style>
  14. </head>
  15. <body>
  16. <header class="mui-bar mui-bar-nav">
  17. <h1 id="title" class="mui-title">消息</h1>
  18. </header>
  19. <nav class="mui-bar mui-bar-tab">
  20. <a id="homeTab" class="mui-tab-item mui-active" href="tab-webview-subpage-message.html">
  21. <span class="mui-icon mui-icon-email"></span>
  22. <span class="mui-tab-label">消息</span>
  23. </a>
  24. <a id="informationTab" class="mui-tab-item" href="tab-webview-subpage-app.html">
  25. <span class="mui-icon mui-icon-home"></span>
  26. <span class="mui-tab-label">应用</span>
  27. </a>
  28. <a id="personTab" class="mui-tab-item" href="tab-webview-subpage-person.html">
  29. <span class="mui-icon mui-icon-contact"></span>
  30. <span class="mui-tab-label">通讯录</span>
  31. </a>
  32. <a id="mineTab" class="mui-tab-item" href="tab-webview-subpage-mine.html">
  33. <span class="mui-icon mui-icon-person"></span>
  34. <span class="mui-tab-label">我的</span>
  35. </a>
  36. </nav>
  37. <script src="js/mui.min.js"></script>
  38. <script src="js/app.js"></script>
  39. <script src="js/config.js"></script>
  40. <script src="js/update2.js"></script>
  41. <script type="text/javascript" charset="utf-8">
  42. // mui.init({
  43. // statusBarBackground: '#468CF0', //设置状态栏颜色,仅iOS可用
  44. // });
  45. //mui初始化
  46. (function($, doc) {
  47. $.init();
  48. var settings = app.getSettings();
  49. //
  50. $.plusReady(function() {
  51. $.oldBack = mui.back;
  52. var backButtonPress = 0;
  53. $.back = function(event) {
  54. backButtonPress++;
  55. if(backButtonPress > 1) {
  56. plus.runtime.quit();
  57. } else {
  58. plus.nativeUI.toast('再按一次退出应用');
  59. }
  60. setTimeout(function() {
  61. backButtonPress = 0;
  62. }, 1000);
  63. return false;
  64. };
  65. });
  66. }(mui, document));
  67. var subpages = ['tab-webview-subpage-message.html', 'tab-webview-subpage-app.html', 'tab-webview-subpage-person.html', 'tab-webview-subpage-mine.html'];
  68. var subpage_style = {
  69. top: '45px',
  70. bottom: '51px'
  71. };
  72. var aniShow = {};
  73. //创建子页面,首个选项卡页面显示,其它均隐藏;
  74. mui.plusReady(function() {
  75. var self = plus.webview.currentWebview();
  76. for(var i = 0; i < 4; i++) {
  77. var temp = {};
  78. var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
  79. if(i > 0) {
  80. sub.hide();
  81. } else {
  82. temp[subpages[i]] = "true";
  83. mui.extend(aniShow, temp);
  84. }
  85. self.append(sub);
  86. }
  87. });
  88. //当前激活选项
  89. var activeTab = subpages[0];
  90. var title = document.getElementById("title");
  91. //选项卡点击事件
  92. mui('.mui-bar-tab').on('tap', 'a', function(e) {
  93. var targetTab = this.getAttribute('href');
  94. if(targetTab == activeTab) {
  95. return;
  96. }
  97. //更换标题
  98. title.innerHTML = this.querySelector('.mui-tab-label').innerHTML;
  99. //显示目标选项卡
  100. //若为iOS平台或非首次显示,则直接显示
  101. if(mui.os.ios || aniShow[targetTab]) {
  102. plus.webview.show(targetTab);
  103. } else {
  104. //否则,使用fade-in动画,且保存变量
  105. var temp = {};
  106. temp[targetTab] = "true";
  107. mui.extend(aniShow, temp);
  108. plus.webview.show(targetTab, "fade-in", 300);
  109. }
  110. if(targetTab == subpages[0]) { //点击消息
  111. var messageWebview = plus.webview.getWebviewById(subpages[0]);
  112. //点击消息,触发消息中的自定义事件
  113. mui.fire(messageWebview, 'messageEvent', {})
  114. } else if(targetTab == subpages[1]) { //点击资讯
  115. var appWebview = plus.webview.getWebviewById(subpages[1]);
  116. //点击消息,触发消息中的自定义事件
  117. mui.fire(appWebview, 'appEvent', {})
  118. } else if(targetTab == subpages[2]) { //点击个人
  119. var personWebview = plus.webview.getWebviewById(subpages[2]);
  120. //点击消息,触发消息中的自定义事件
  121. mui.fire(personWebview, 'personEvent', {})
  122. } else if(targetTab == subpages[3]) { //点击我的
  123. var mineWebview = plus.webview.getWebviewById(subpages[3]);
  124. //点击消息,触发消息中的自定义事件
  125. mui.fire(mineWebview, 'mineEvent', {})
  126. }
  127. //隐藏当前;
  128. plus.webview.hide(activeTab);
  129. //更改当前活跃的选项卡
  130. activeTab = targetTab;
  131. });
  132. //个人tab退出登录事件监听
  133. document.addEventListener('logoutEvent', function() {
  134. var homeTab = document.getElementById("homeTab");
  135. //模拟个人点击
  136. mui.trigger(homeTab, 'tap');
  137. var loginButton = document.getElementById('login');
  138. var userButton = document.getElementById('user_a');
  139. loginButton.style.display = "block";
  140. userButton.style.display = "none";
  141. //切换选项卡高亮
  142. var current = document.querySelector(".mui-bar-tab>.mui-tab-item.mui-active");
  143. if(homeTab !== current) {
  144. current.classList.remove('mui-active');
  145. homeTab.classList.add('mui-active');
  146. }
  147. });
  148. </script>
  149. </body>
  150. </html>