HTML更新页面---app本地加载

开发一个html页面供手机客户端使用功能包含:

  1. 显示系统版本,app的Icon
  2. 点击更新可以跳转更新链接

效果图:

update.png

Part I :HTML代码

<!doctype html>  
  
<html>  
  
<head>  
  
<meta charset="utf-8">  
  
<title>手机网站更新页面</title>  
  
<!-- 宽度等于屏幕,初始化缩放比例,手动缩放 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />  
  
  
<style>  
  
p {
    margin:0;
    color:rgb(170,170,170);font-size:12px;
}

span {
    color:rgb(51,51,51);
}

img.iconImage {
    position: relative;
    margin-top: 40px;
    width: 160px;
    height: 80px;
}

p.info1 {
    position: relative;
    margin-top: 12px;
}

p.info2 {
    position: relative;
    margin-top: 8px;
}

a.upadteBtn {
    position:relative;
    margin-top: 10px;
    width: 180px;
    text-align: center;

    line-height: 40px;
    background: white;
    color:rgb(255,170,0);
    border: 1px rgb(255,170,0) solid;
    border-radius: 4px;
    display: inline-block;
    text-decoration: none; 
    font-size: 17px;
    outline: none;
}

hr.line {
    height:1px;
    border:none;border-top:1px solid rgb(238,238,238);
    position: relative;
    margin-top:20px;
    margin-right: 12px
    margin-left: 12px;
}

dt {
    color:rgb(51,51,51);font-size:20px;
    position: relative;
    margin-bottom: 16px;
    margin-left: 12px;
}

dd {
    color:rgb(119,119,119);font-size:14px;
    position: relative;
    margin-bottom: 16px;
    margin-left: 12px;
}

</style>  
  
</head>  
  

<body>  
  
<!--  分别替换 appInsertAppSize、appInsertVersion appInsertUpdateInfo(注意<dd></dd>格式)-->

    <div id="head" style="text-align:center;">  

        ![](logo.jpg)

        <p class="info1">安装包大小:<span>/*appInsertAppSize*/</span></p>
        <p class="info2">最 新 版本:<span>/*appInsertVersion*/</span></p>
        
        <a class="upadteBtn"  href="<#app约定的协议#>"">立即更新</a>

        <hr class="line"/>
    </div> 

    <dl>
        <dt>更新说明</dt>
<!--        <dd>1、优化推流设置</dd>-->
<!--        <dd>2、优化推流设置</dd>-->
        /*appInsertUpdateInfo*/
    </dl>

</body>  
  
</html>  

HTML 网页结构

  1. HTML 网页结构, 由 <head> +<body>组成 可以在<head>加入 : <title>, <style>, <meta>, <link>, <script>, <noscript>, <base>标签 ,具体使用可以参考
html网页结构
代码标签分析

viewport :指定页面的宽度和设备一样
<span>:指定同一行文字单独样式
<meta charset="utf-8"> :指定文本的字符集
<title>手机网站更新页面</title>:网页的标题
<style>:对body中元素样式的描述
p {margin:0;}:设置<p>的高度
<img>:图片的引用
<a>:a 标签 href 响应的url

css创建与使用

插入样式表的方法有三种
  1. 外部样式表:

    <head>中引入<link rel="stylesheet" type="text/css" href="mystyle.css">

  2. 内部样式表

    像以上例子:使用 <style> 标签在文档头部定义内部样式表

  3. 内联样式

    <p style="color:yellow">hello</p>

使用

css的语法:选择器,以及一条或多条声明

引用runoob.png

选择器:id 和 class

id:#para1{ text-align:center;color:red; }
class:p.center {text-align:center;}

Part II :iOS代码

  1. 工程引入html文件

  2. 加入html需要的图片logo.jpg html文件和图片要在同一个目录下面

  3. 加载html页面:

-(void)loadHTMLFile{
    
    NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
    
    NSString * htmlPath = [[NSBundle mainBundle] pathForResource:<#your HTML #>
                                                          ofType:@"html"];
    
    NSString * htmlContent = [NSString stringWithContentsOfFile:htmlPath
                                                    encoding:NSUTF8StringEncoding
                                                       error:nil];
    
    htmlContent = [htmlContent stringByReplacingOccurrencesOfString:@"/*appInsertAppSize*/" withString:self.appSize];
    htmlContent = [htmlContent stringByReplacingOccurrencesOfString:@"/*appInsertVersion*/" withString:self.appVersion];
    htmlContent = [htmlContent stringByReplacingOccurrencesOfString:@"/*appInsertUpdateInfo*/" withString:self.appUpdateInfo];
    
    [self.updateWebview stringByEvaluatingJavaScriptFromString: @"document.documentElement.style.webkitUserSelect='none';"];
    [self.updateWebview loadHTMLString:htmlContent baseURL:baseURL];
}

.4. 截获html的A标签

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSString *url = [[request URL] absoluteString];
    NSLog(@" 准备跳转至 = %@", url);
    
    if ([url rangeOfString:<#app约定的协议#>].location != NSNotFound) {

        //响应 A 标签的事件
        return NO;
    }
    return YES;
}

注意:

  1. baseURL要知指向图片的目录,不然加载不出图片
  2. /appInsertAppSize/、/appInsertVersion/、/appInsertUpdateInfo/ 要替换的文本
  3. margin-toptop 有区别 .前者是相对位置,后者是绝对位置。CSS位置参考
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,751评论 1 92
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    程序员poetry阅读 16,553评论 32 459
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,227评论 0 5
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,082评论 0 40
  • 我不曾想过我会犯下如此严重的罪恶,如那些我一直深恶痛绝的刽子手们一样。我用看不见血迹却充满血腥味的右手紧紧地...
    戈乐阅读 281评论 0 0