图一的是我们操作完之后的 效果图。
写在最前:在阅读这篇文章的时候,你可能需要温习一下程序间的互调和传值,可以参考一下我的这篇文章。然后,我们可以根据传值,来跳转到不同的页面。在上篇文章中,给出了使用的演示,所以在这篇文章中,这个操作就不再给出。
图二为 文档目录结构。
图二用到的三方库:
pod 'CocoaHTTPServer'
步骤:
先配置好要分享的网页内容content.html
,然后对content.html
的内容做URI之后的字符串,复制到index.html
的指定位置就可以了,下面给出了示例代码。
// 触发事件
- (void)shareLocalClick {
// 配置 DDLog,只打印到控制台
[DDLog addLogger:[DDTTYLogger sharedInstance]];
// 初始化 server
httpServer = [[HTTPServer alloc] init];
// Tell the server to broadcast its presence via Bonjour.
// This allows browsers such as Safari to automatically discover our service.
[httpServer setType:@"_http._tcp."];
// Bonjour这样的技术允许客户端在运行时动态地发现服务器的端口。但为了方便测试,通常指定一个端口
[httpServer setPort:12345];
// 从嵌套的Web文件夹里读取
NSString *webPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Web"];
[httpServer setDocumentRoot:webPath];
[self startServer];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://127.0.0.1:12345"]];
}
- (void)startServer {
NSError *error;
if([httpServer start:&error]) {
DDLogInfo(@"Started HTTP Server on port %hu", [httpServer listeningPort]);
} else{
DDLogError(@"Error starting HTTP Server: %@", error);
}
}
content.html
<!DOCTYPE html>
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta content="text/html charset=UTF-8" http-equiv="Content-Type" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no" />
<link rel='apple-touch-icon' href='base64编码的图片'><!-- 注意点一 -->
<title>粤省事</title>
</head>
<body>
<!-- addicon 为我们自己App自定义的Scheme-->
<a href="addicon://" id="qbt" style="display:none"></a>
<span id="msg"></span>
</body>
<script>
if (window.navigator.standalone == true) {
var lnk = document.getElementById("qbt").click();
} else {
document.getElementById("msg").innerHTML='<div style="font-size:12px">这里可以添加引导页面</div>';
}
</script>
</html>
index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- 注意点二 -->
<meta http-equiv="refresh" content="0;URL= data:text/html;charset=utf-8,这儿传append一下`content.html`进行URI编码后的字符串">
</head>
</html>
工具推荐
图片转换Base64
字符串作为 URI 进行编码
网友评论