HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

【源码技术分享】webpack+vue+html5plus

技术分享 HTML5+

vue 多页面 + HBuilder 打包 + HTML5PLUS 特性

A Vue + H5Plus project

使用UI : Muse-UI 基于 Vue 2.0 和 Material Desigin 的 UI 组件库
真机调试 : HBuilder HBuilder-飞速编码的极客工具

关键字:

1)换肤(支持webview多页面换肤)
2)简易机器人聊天
3)技术性文章浏览
4)支持流应用版本

2017年2月3日 18:33:02

新增主页webview拖拽切换(需要 hbuilder 8.0 版本)

github源码地址

开始

# 安装依赖  
npm install  

# 在服务器上调试 localhost:8080/module/index.html  
npm run dev  
## 然后在HBuilder中起始页设置为 本地服务器:端口号/module/index.html  
### 如 192.168.11.102:8080/module/index.html  
## 手机连接电脑, 在统一局域网下, 开启真机调试  

# 你也可以先 打包  
npm run build  
## 然后把 dist 文件下的目录放入 HBuilder 项目中  
## 设置起始页为 module/index.html 真机调试

扫描二维码
在流应用中快速预览
测试二维码

部分截图

主页

机器人聊天

侧栏

其它

继续阅读 »

vue 多页面 + HBuilder 打包 + HTML5PLUS 特性

A Vue + H5Plus project

使用UI : Muse-UI 基于 Vue 2.0 和 Material Desigin 的 UI 组件库
真机调试 : HBuilder HBuilder-飞速编码的极客工具

关键字:

1)换肤(支持webview多页面换肤)
2)简易机器人聊天
3)技术性文章浏览
4)支持流应用版本

2017年2月3日 18:33:02

新增主页webview拖拽切换(需要 hbuilder 8.0 版本)

github源码地址

开始

# 安装依赖  
npm install  

# 在服务器上调试 localhost:8080/module/index.html  
npm run dev  
## 然后在HBuilder中起始页设置为 本地服务器:端口号/module/index.html  
### 如 192.168.11.102:8080/module/index.html  
## 手机连接电脑, 在统一局域网下, 开启真机调试  

# 你也可以先 打包  
npm run build  
## 然后把 dist 文件下的目录放入 HBuilder 项目中  
## 设置起始页为 module/index.html 真机调试

扫描二维码
在流应用中快速预览
测试二维码

部分截图

主页

机器人聊天

侧栏

其它

收起阅读 »

打包打出个360安全卫士,我擦

360

如题。
此行为很恶劣。

如题。
此行为很恶劣。

写querySelector/querySelectorAll写烦了?进来看看吧...

HTML5 JavaScript 技巧

首先,这个方法不考虑ie9以及同等浏览器以下的兼容问题.....
对了,安卓版本实在低的浏览器也不考虑~(像什么安卓2.3之类的......)
本菜鸡没ios设备,没办法知道兼容情况......

这是废话

讲真的,写querySelector/querySelectorAll写得我不知道多烦躁...
虽然hb或者sublime有文本提示功能...
但是代码量讲真的也是有点大的啊...
好了,废话说了这么多~
来点干的了吧~
先直接上代码...
各位大神献丑了....

document.find = function(selector){  
    return this.querySelector(selector);  
}  
document.findAll = function(selector){  
    return this.querySelectorAll(selector);  
}  
HTMLElement.prototype.find = function(selector){  
    return this.querySelector(selector);  
};  
HTMLElement.prototype.findAll = function(selector){  
    return this.querySelectorAll(selector);  
}

好了.献丑讲下那几个方法的说明吧~~

document.find和document.findAll

js里可以用点(.)来给对象添加方法/属性,没毛病吧~
function里的this指向的就是被添加方法/属性的那个对象~

HTMLElement.prototype.find和HTMLElement.prototype.findAll

HTMLElement是个啥?
我自己通俗的理解就是页面上的像body啊,div啊,p啊...之类的标签在js中的表达方式~
(讲得不对还请大神指正)
具体的点我看W3C的解释吧
prototype又是个啥?
它是js中所有对象都带有的一个属性(不过document和window就没,不知道为啥,还请大神指点),
这个属性可以向对象添加属性/方法
详细的prototype解释看这里
function里的内容见document.find和document.findAll
来点实际的应用吧~

DEMO

    这是部分html代码如下(默认已经把上述js代码保存到script.js中)  
<div class="wrap">  
        <p class="conetent">这是第一段文字</p>  
</div>  
<div class="wrap">  
        <p class="conetent">这是第二段文字</p>  
</div>  
<script src="./js/script.js"></script>
    这是部分js代码
var wrap = document.find('.wrap'),  
        //或者直接document.find('.content'),  
        //我这里写warp.find('.content')是因为有个现成的wrap  
        content = wrap.find('.content'),  
        allWrap = document.findAll('.wrap'),  
        allContent = document.findAll('.conetent');

输出结果

输出结果是啥??
输出结果自己试试吧~

继续阅读 »

首先,这个方法不考虑ie9以及同等浏览器以下的兼容问题.....
对了,安卓版本实在低的浏览器也不考虑~(像什么安卓2.3之类的......)
本菜鸡没ios设备,没办法知道兼容情况......

这是废话

讲真的,写querySelector/querySelectorAll写得我不知道多烦躁...
虽然hb或者sublime有文本提示功能...
但是代码量讲真的也是有点大的啊...
好了,废话说了这么多~
来点干的了吧~
先直接上代码...
各位大神献丑了....

document.find = function(selector){  
    return this.querySelector(selector);  
}  
document.findAll = function(selector){  
    return this.querySelectorAll(selector);  
}  
HTMLElement.prototype.find = function(selector){  
    return this.querySelector(selector);  
};  
HTMLElement.prototype.findAll = function(selector){  
    return this.querySelectorAll(selector);  
}

好了.献丑讲下那几个方法的说明吧~~

document.find和document.findAll

js里可以用点(.)来给对象添加方法/属性,没毛病吧~
function里的this指向的就是被添加方法/属性的那个对象~

HTMLElement.prototype.find和HTMLElement.prototype.findAll

HTMLElement是个啥?
我自己通俗的理解就是页面上的像body啊,div啊,p啊...之类的标签在js中的表达方式~
(讲得不对还请大神指正)
具体的点我看W3C的解释吧
prototype又是个啥?
它是js中所有对象都带有的一个属性(不过document和window就没,不知道为啥,还请大神指点),
这个属性可以向对象添加属性/方法
详细的prototype解释看这里
function里的内容见document.find和document.findAll
来点实际的应用吧~

DEMO

    这是部分html代码如下(默认已经把上述js代码保存到script.js中)  
<div class="wrap">  
        <p class="conetent">这是第一段文字</p>  
</div>  
<div class="wrap">  
        <p class="conetent">这是第二段文字</p>  
</div>  
<script src="./js/script.js"></script>
    这是部分js代码
var wrap = document.find('.wrap'),  
        //或者直接document.find('.content'),  
        //我这里写warp.find('.content')是因为有个现成的wrap  
        content = wrap.find('.content'),  
        allWrap = document.findAll('.wrap'),  
        allContent = document.findAll('.conetent');

输出结果

输出结果是啥??
输出结果自己试试吧~

收起阅读 »

【示例】iOS中使用video标签播放视频,禁止自动全屏的方案

video iOS

iOS中,使用video播放视频默认为全屏。可以通过以下配置,调整为非全屏。

解决方案

前端

video标签中添加playsinline属性

<video controls="controls" playsinline preload="auto">  
</video>

native层

Obj-C中,需要添加配置webview.allowsInlineMediaPlayback = YES;
Swift请查找相关API进行配置。

开发5+App,需要在manifest.json的plus节点下新增allowsInlineMediaPlayback节点为true。

"plus":{  
    "allowsInlineMediaPlayback": true  
}

开发及发布

有此需求的开发者,可下载HBuilder.ipa进行调试,并且使用最新的alpha版HBuilder打包。
alpha版HBuilder下载地址:https://pan.baidu.com/s/1hs0O4eS#list/path=%2F

正式版HBuilder更新后,即可正常使用。

参考

更多相关信息,请参考网上的相关解决办法。
http://stackoverflow.com/questions/3699552/html5-inline-video-on-iphone-vs-ipad-browser
https://www.zhihu.com/question/21094425
http://www.jb51.net/article/72732.htm

继续阅读 »

iOS中,使用video播放视频默认为全屏。可以通过以下配置,调整为非全屏。

解决方案

前端

video标签中添加playsinline属性

<video controls="controls" playsinline preload="auto">  
</video>

native层

Obj-C中,需要添加配置webview.allowsInlineMediaPlayback = YES;
Swift请查找相关API进行配置。

开发5+App,需要在manifest.json的plus节点下新增allowsInlineMediaPlayback节点为true。

"plus":{  
    "allowsInlineMediaPlayback": true  
}

开发及发布

有此需求的开发者,可下载HBuilder.ipa进行调试,并且使用最新的alpha版HBuilder打包。
alpha版HBuilder下载地址:https://pan.baidu.com/s/1hs0O4eS#list/path=%2F

正式版HBuilder更新后,即可正常使用。

参考

更多相关信息,请参考网上的相关解决办法。
http://stackoverflow.com/questions/3699552/html5-inline-video-on-iphone-vs-ipad-browser
https://www.zhihu.com/question/21094425
http://www.jb51.net/article/72732.htm

收起阅读 »

解决plus.zip.compressImage 图片循环压缩无法都压缩完的问题

图片压缩

用for循环 来处理图片压缩 的问题,原因是 plus.zip.compressImage 方法 是异步执行的,for循环很快, 同时手机可执行的压缩方法有限制:应该是3个吧。超出直接就不执行了。所以 原理就是 在图片压缩成功后 继续 回调 压缩函数。 以到达循环压缩图片的功能。

继续阅读 »

用for循环 来处理图片压缩 的问题,原因是 plus.zip.compressImage 方法 是异步执行的,for循环很快, 同时手机可执行的压缩方法有限制:应该是3个吧。超出直接就不执行了。所以 原理就是 在图片压缩成功后 继续 回调 压缩函数。 以到达循环压缩图片的功能。

收起阅读 »

微信小程序跟流应用感觉好像啊

流应用

有没有这种感觉啊

有没有这种感觉啊

webview底部选项卡

可以参考下这篇文章:http://ask.dcloud.net.cn/article/629
希望可以帮到大家

可以参考下这篇文章:http://ask.dcloud.net.cn/article/629
希望可以帮到大家

大半夜的谈谈苹果ATS,刚刚看到审核通过

应用发布

ATS要求出来后鸡飞狗跳,
服务器是阿里云的,阿里云提供免费的证书可用,搞上去
tomcat貌似阿里云官方给的证书部署解决方案有误还是这边问题不清楚,反正后面用tomcat8才搞定,67都没成功。
项目请求地址改为https开头的。
后来在别的论坛看到IPV6什么的苹果也卡,不清楚了,反正提交上去了。
刚刚查的时候发现状态已变为“可供销售”,前天大半夜提交的,前后不到48小时吧。

有这方面顾虑的童鞋放心上吧,一步通过。
hbuilder不错,赞

继续阅读 »

ATS要求出来后鸡飞狗跳,
服务器是阿里云的,阿里云提供免费的证书可用,搞上去
tomcat貌似阿里云官方给的证书部署解决方案有误还是这边问题不清楚,反正后面用tomcat8才搞定,67都没成功。
项目请求地址改为https开头的。
后来在别的论坛看到IPV6什么的苹果也卡,不清楚了,反正提交上去了。
刚刚查的时候发现状态已变为“可供销售”,前天大半夜提交的,前后不到48小时吧。

有这方面顾虑的童鞋放心上吧,一步通过。
hbuilder不错,赞

收起阅读 »

老帖子已经关闭

App mui

老帖子已经关闭

老帖子已经关闭

Huilder这次更新以后map模块闪退

map

之前的代码用new plus.maps.Map好好的,不知道是不是这次修改了百度地图https相关的东西把这个玩意给改坏了,但是自己感觉不可能啊,那怎么解释我这么长时间没动的代码突然就闪退了呢?gps权限也开着,好好的就突然闪退了,能给个解释吗?

之前的代码用new plus.maps.Map好好的,不知道是不是这次修改了百度地图https相关的东西把这个玩意给改坏了,但是自己感觉不可能啊,那怎么解释我这么长时间没动的代码突然就闪退了呢?gps权限也开着,好好的就突然闪退了,能给个解释吗?

html5 plus 调用相机、相机显示图片。分享图片上传压缩demo,部分android手机IOS上传拍照片旋转90度问题

代码整合神农》功能实现以及方案:
H5 Plus 调用手机相册与相机
canvas 图片压缩上传
exif.js 对ios android 可能发生图片旋转进行校正
拍照图片部分机型路径找不到的解决方案
图片回调成功,图片本地如何显示

-------------------艺术分割线-------------------
附整套demo ,但愿能帮助到大家。

QQ群:595377655。问题总是能出现并着手解决的地方,欢迎加入。

继续阅读 »

代码整合神农》功能实现以及方案:
H5 Plus 调用手机相册与相机
canvas 图片压缩上传
exif.js 对ios android 可能发生图片旋转进行校正
拍照图片部分机型路径找不到的解决方案
图片回调成功,图片本地如何显示

-------------------艺术分割线-------------------
附整套demo ,但愿能帮助到大家。

QQ群:595377655。问题总是能出现并着手解决的地方,欢迎加入。

收起阅读 »

【解决方案】关于iOS10.2及以上版本video标签无法播放视频的解决方案

5+App开发 iOS

问题描述

iOS升级至10.2后video标签无法正常播放视频资源。

解决方案。

创建包含video元素的webveiw时,需要切换webview的内核为WKWebview。

文档及示例

文档

5+webview相关API窗口使用的内核

示例

var videoWv = plus.webview.create('video.html', 'video', {  
    kernel: 'WKWebview'  
});  
videoWv.show('slide-in-right');

下载附件,解压后使用HBuilder真机调试即可预览效果。

PS
需要最新的alpha版HBuilder对应的基座,正式版会尽快更新。
alphba版HBuilder下载地址:https://pan.baidu.com/s/1hs0O4eS#list/path=%2F

WKWebview的跨域

WKWebview是不支持window的XHR跨域的。
localStorage不支持跨域,5+App中推荐使用5+storage。
参考相关文章
App离线本地存储方案
mui.ajax()方法中的XMLHttpRequest

继续阅读 »

问题描述

iOS升级至10.2后video标签无法正常播放视频资源。

解决方案。

创建包含video元素的webveiw时,需要切换webview的内核为WKWebview。

文档及示例

文档

5+webview相关API窗口使用的内核

示例

var videoWv = plus.webview.create('video.html', 'video', {  
    kernel: 'WKWebview'  
});  
videoWv.show('slide-in-right');

下载附件,解压后使用HBuilder真机调试即可预览效果。

PS
需要最新的alpha版HBuilder对应的基座,正式版会尽快更新。
alphba版HBuilder下载地址:https://pan.baidu.com/s/1hs0O4eS#list/path=%2F

WKWebview的跨域

WKWebview是不支持window的XHR跨域的。
localStorage不支持跨域,5+App中推荐使用5+storage。
参考相关文章
App离线本地存储方案
mui.ajax()方法中的XMLHttpRequest

收起阅读 »