基于HTML5之APP页面间的传值的几种方式

一 摘要

在做APP开发时,避免不了出现两个页面之间的传值,在iOS开发中两个页面传值常见的有:属性传值,block,代理,通知等方式.那么web程序两个页面传值的形式有哪些呢,在这里我给大家总结一下.

1)PC版的web程序

两个两个页面之间的传值方式主要有:

1.cookie
2.查询字符串
3.还可以通过服务端的session来交换数据

2)HTML之app的传值方式

主要有:

1.HTML5 LocalStorage 本地存储
2.隐藏字段
3.服务器端的session等
4..页面已创建,通过自定义事件传值
5.扩展参数

这里就不对上面的传值方式进行一一解释了,大家自己去了解.在这给大家着重介绍最后一种通过扩展参数来进行传值.这里以mui框架为例.

mui在初始化页面时,提供了extras配置参数,通过该参数可以设置页面参数,从而实现页面间传值;

mui框架在如下几种场景下,会执行页面初始化操作:

1.通过mui.init()方法创建子页面;

mui.init({
    subpages: [{
        url: your - subpage - url, //子页面HTML地址,支持本地地址和网络地址
        id: your - subpage - id, //子页面标志
        styles: {
            top: subpage - top - position, //子页面顶部位置
            bottom: subpage - bottom - position, //子页面底部位置
            width: subpage - width, //子页面宽度,默认为100%
            height: subpage - height, //子页面高度,默认为100%
            ......
        },
        extras: {} //额外扩展参数
    }]
}); 

2.通过mui.init()方法预加载页面;

一般形式

mui.init({
    preloadPages: [{
        url: prelaod - page - url,
        id: preload - page - id,
        styles: {}, //窗口参数
        extras: {}, //自定义扩展参数
        subpages: [{}, {}] //预加载页面的子页面
    }]
});

3.通过mui.preload()方法预加载页面

一般形式

var page = mui.preload({
    url: new - page - url,
    id: new - page - id, //默认使用当前页面的url作为id
    styles: {}, //窗口参数
    extras: {} //自定义扩展参数
}); 

4)通过mui.openWindow方法预加载页面

一般形式

mui.openWindow({
    url: new - page - url,
    id: new - page - id,
    styles: {
        top: newpage - top - position, //新页面顶部位置
        bottom: newage - bottom - position, //新页面底部位置
        width: newpage - width, //新页面宽度,默认为100%
        height: newpage - height, //新页面高度,默认为100%
        ......
    },
    extras: {
        ..... //自定义扩展参数,可以用来处理页面间传值
    }
    show: {
        autoShow: true, //页面loaded事件发生后自动显示,默认为true
        aniShow: animationType, //页面显示动画,默认为”slide-in-right“;
        duration: animationTime //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
    },
    waiting: {
        autoShow: true, //自动显示等待框,默认为true
        title: ‘正在加载...‘, //等待对话框上显示的提示内容
        options: {
            width: waiting - dialog - widht, //等待框背景区域宽度,默认根据内容自动计算合适宽度
            height: waiting - dialog - height, //等待框背景区域高度,默认根据内容自动计算合适高度
            ......
        }
    }
}) 

5)mui.openWindow具体使用

first.html文件

<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="css/mui.min.css"/>
    <script src="js/mui.min.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
    <script type="text/javascript">
    mui.openWindow({
    url:‘second.html‘,
    id:‘second‘,
    extras:{
     name:‘second‘,
     version:‘1.0.0‘
    }
});
</script>
</body>
</html>

second.html文件

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/mui.min.css"/>
        <script src="js/mui.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/mui.js" type="text/javascript" charset="utf-8"></script>
        <style type="text/css">
            div{
                width: 200px;
                height: 200px;
                background: red;
            }
        </style>
    </head>
<body>
<div id="footer"></div>
<script type="text/javascript">
var div = document.getElementById("footer");
mui.init();
var self = plus.webview.currentWebview();
var name = self.name;
var version = self.version;
div.innerHTML = name;
</script>
</body>
</html>
注意:一定要在手机上进行模拟运行,否则看不出效果的且会报错出现plus未定义.
时间: 2024-12-22 09:45:53

基于HTML5之APP页面间的传值的几种方式的相关文章

HTML5 Web存储 页面间进行传值

在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储 使用HTML5的新特性可以在本地存储用户的浏览数据.Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能. 数据以“键/值”对存在, web网页的数据只允许该网页访问使用 方法: localStorage 和 sessionStorage

Spring MVC中页面向后台传值的几种方式

在学习 Spring Mvc 过程中,有必要来先了解几个关键参数:   @Controller:         在类上注解,则此类将编程一个控制器,在项目启动 Spring 将自动扫描此类,并进行对应URL路由映射.@Controllerpublic class UserAction {    }  @RequestMapping         指定URL映射路径,如果在控制器上配置 RequestMapping  ,具体请求方法也配置路径则映射的路径为两者路径的叠加 常用映射如:Reque

B/S结构中页面间的传值

常见的页面间的传值有session,cookie,application,server.transfer(),queryString,今天主要记录一下server.transfer()的用法. 从A页面Transfer到B页面时,就可以在B页面通过Context.Handler获得A页面的一个类的实例,从而在B调用A的各个成员对象. 下面的示例建立了AA和BB, 通过Server.Transfer()方法演示在BB中读取AA的文本框.读取属性.通过Context传值.调用AA的方法等. AA上放

父页面与子页面间相互传值

父页面与子页面间相互传值 1.子页面又父页面通过window.open弹出 子页面要向父页面传值,只要在document前面加window.opener即可.如:父页面: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

用block实现两个页面间的传值

第二个view声明一个block属性: @property (nonatomic, copy) void(^doTransferMsg)(NSString *_msg); 然后传值方法里检查block是不是存在 - (IBAction)transferText:(UIButton *)sender { if (_doTransferMsg) { _doTransferMsg(@"hello there"); _doTransferMsg = nil; } [self.navigatio

ASP.NET 页面之间传值的几种方式

原文:http://www.cnblogs.com/wangjiming/archive/2017/01/18/6275854.html#!comments 详解每种方法 一.Request.QueryString 核心代码: protected void getQueryString_Click(object sender, EventArgs e) { string QueStr = Request.QueryString["name"]; Response.Write(QueSt

ASP.Net中页面传值的几种方式

开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有3-5年经验的,有5-10年经验的,对于所有的面试者,我几乎问了同一道题:"请说说你所知道的页面之间传值的几种形式和方法, 并阐述他们的原理和过程",关于这道题,从大家的回答来看,结果并不是很理想,从种类上来说,大部分人回答5种左右,极少部分能回答8种,没有超过8种的,但从深度上来说,很少

笔记(三) ASP.NET 页面之间传值的几种方式

ASP.NET 页面之间传递值得方式大致可以分为如下几种:Request.QueryString["name"],Request.Form("name"),Session,Cookie,Cache,Application,Server.Transfer,Database, HttpContext的Item属性,Files,DataBase等等. 一.Request.QueryString 核心代码: protected void getQueryString_Cli

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS