h5页面使用js实现保存当前图片到手机相册
很可惜,这个鬼东西微信内置浏览器不适用
页面:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
<title>节日贺卡</title>
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen"/>
<script src="../js/init.js"></script>
<script src="../js/jquery-3.2.1.min.js"></script>
<script src="../js/base.js"></script>
<script src="../js/wxshare.js" ></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<link rel="icon" type="image/png" href="../img/icon.png">
</head>
<body class="bodybgfff">
<!-- 头部start -->
<header class="trx_header clearfix">
<h1>节日贺卡</h1>
<div class="fl trx_return"><a href="../page/personalCenter.html"></a></div>
</header>
<!-- 头部搜索end -->
<!-- 海报start -->
<input type="hidden" id="posterType" value="02"/>
<div class="my_haibao">
<ul class="haibao-list" id="my_poster_id"> </ul>
</div>
<img style="display:none" class="qdb_nocotent no_search_data" src="../img/search_no.png" alt="" >
<p style="display:none" class="search_not_text no_search_data">暂时木有海报哦</p>
<!-- 海报end --> <!-- 弹出层end -->
<div class="mark" ></div>
<div class="haibao-show">
<span class="btn-close-haibao"></span>
<img src="img/app-down-bg.jpg" alt="" id="picurl"/>
<p id="successHint" style="display:none">图片已保存到相册,可分享给好友</p>
<p id="failHint" style="display:none">图片保存失败</p>
<a href="#" onclick="javascript:savePic();">保存到相册</a>
</div> <!-- 分享二维码end -->
<script src="../js/model/myPosterList.js"></script>
</body>
</html>
js:
/**
* Created by wwj on 2019/03/11.
*/
$(document).ready(function(){
pageShow = 9;
nowPage = 1;
loadDataId="my_poster_id";
/*var url = window.basePath + "/h5/front/poster/toPoster";
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: {},
success: function (rest) {
$("#salesmanUuid").val(rest.data.salesmanUuid);
}
})*/ pageCallBack()
});
function pageCallBack(){
loadPosterContent();
}
function loadPosterContent(){
var storeNo = getSessionStoreNo();
var posterType = $("#posterType").val();
var url = window.basePath + "/h5/front/poster/ajaxSearchPoster";
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: {currentPage: nowPage,pageShow:pageShow,storeNo:storeNo,posterType:posterType},
success: function (rest) {
console.log(rest)
if(rest.result){
appendPosterResult(rest);
}else{
$(".no_search_data").show();
}
console.log('start')
}
})
}
//拼接加载出来的产品
function appendPosterResult(data){
var results = data.results;
if(results!=null&&results.length>0){
var appendHtml = "";
for(var i=0;i<results.length;i++){
var poster = results[i];
//appendHtml += '<li><a href="javascript:void(0);" onclick="toPosterPage(\''+poster.uuid+'\',\''+poster.posterTitle+'\')"><img src="'+poster.posterImgUrl+'" alt=""/><p>'+poster.posterTitle+'</p></a></li>';
appendHtml +='<li>'
+'<a href="#"><img src="'+poster.posterImgUrl+'" alt=""/><p>'+poster.posterTitle+'</p></a>'
+'</li>';
}
$("#my_poster_id").append(appendHtml);
$(".no_search_data").hide();
}else{
if(nowPage==1){
totalPage = data.totalPage;
$(".no_search_data").show();
}
}
nowPage++;
initPreviewJs();
} //初始化图片预览效果js
function initPreviewJs(){
$(".haibao-list li img").click(function(){
var imgSrc = $(this)[0].src;
$(".mark").fadeIn();
$(".haibao-show").fadeIn().children("img").attr("src",imgSrc); }) $(".btn-close-haibao,.mark").click(function(){
$(".mark").fadeOut();
$(".haibao-show").fadeOut();
$("#successHint").hide();
$("#failHint").hide(); })
} //保存到相册
function savePic(){
var picurl= $("#picurl").attr("src");
//alert(picurl);
savePicture(picurl);
} var triggerEvent = "touchstart";
function savePicture(Url){
var blob=new Blob([''], {type:'application/octet-stream'});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = Url;
a.download = Url.replace(/(.*\/)*([^.]+.*)/ig,"$2").split("?")[0];
var e = document.createEvent('MouseEvents');
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
URL.revokeObjectURL(url);
}
参考博客:https://blog.csdn.net/rentian1/article/details/84988590
h5页面使用js实现保存当前图片到手机相册的更多相关文章
- Android将view保存为图片并放在相册中
在Android中,可以将view保存为图片并放在相册中,步骤为 view->bitmap->file,即先将view转化为bitmap,再将bitmap保存到相册中. 需要将红框标注的v ...
- js中保存成图片并下载
1.保存canvas中绘制的内容为图片 HTML代码: <canvas id="canvas" width="400" height="400& ...
- h5页面长按保存图片
由于之前几乎没有使用过canvas:今天遇到了一个很棘手的问题.canvas生成后,然后长按保存到手机. 正常的流程应该是先用canvas进行画图,然后再把canvas转成地址,最后再把转化的地址给i ...
- 微信内嵌H5网页 解决js倒计时失效
项目要求:将H5商城页面嵌套到公司微信公众号里 项目本身的开发跟移动端网页并无太多差异,只是这昨天遇到一个问题,说是棘手,到也简单. 用户下单后,在选择支付方式页面,有个倒计时的逻辑(从下单时开始计算 ...
- 本地调试H5页面
摘要 详细讲述微信H5页面调试(安装在安卓或iOS手机上的),钉钉内H5页面的调试,QQ.微博以及各浏览器上H5页面的调试方法 背景 大学毕业快要一年了,用leader的话说我也是有一年开发经验的前端 ...
- robotframework_如何用Chrome模拟手机打开H5页面
由于公司目前的产品大部分都是APP端的H5页面,APP原生页面很少,测试H5页面如果去搭建appium或者macaca这类自动化平台太费时,太重而不能快速落地:与自动化的目标:提高测试效率相悖.但如果 ...
- 【小白技术笔记】保存皮皮虾APP无水印视频到手机相册,只需要三步 [技术干货]
百万段友回皮皮虾,转身一变,都成了皮友.作为当年的资深段友,今天的皮友的我.看到好视频,经典视频,搞笑视频,就想保存一份到手机相册,然后皮皮虾啊皮皮虾,有个让人很讨厌的地方,保存视频的时候就有皮皮虾的 ...
- js 将页面保存为图片
<!DOCTYPE html><html><head><title>保存为images</title><meta charset=&q ...
- android网页打印,安卓网页打印,h5页面打印,浏览器打印,js打印工具
Android设备打印比较麻烦,一般设备厂商都提供原生app开发的SDK,我们web开发者为难了,不会原生开发啊 给大家提供一个思路,实现web加壳,利用打印浏览器实现 简单来说就是把我们的web页面 ...
随机推荐
- 我用Python爬取了李沧最近一年多的二手房成交数据得出以下结论
前言 去年年底,博主有购房的意愿,本来是打算在青岛市北购房,怎奈工作变动,意向转移到了李沧,坐等了半年以后,最终选择在红岛附近购置了期房. 也许一些知道青岛红岛的小伙伴会问我,为什么会跑到那鸟不拉屎的 ...
- 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想
前言 借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读. 写博.写书完整历程回顾 从2013年12月注册博客园账 ...
- flutter 本地存储 (shared_preferences)
Flutter本地存储 和Android.Ios类似,Flutter也支持Preferences(Shared Preferences and NSUserDefaults) .文件.和Sqlite3 ...
- MySQL select into outfile 和 load data infile数据跨库转移
select into outfile用法 SELECT ... FROM TABLE_A INTO OUTFILE "/path/to/file" FIELDS TERMINAT ...
- Vue 实现左边导航栏且右边显示具体内容(element-ui)
最终效果图: 现在开始进入正题: 1.安装element-ui npm i element-ui -S CDN 目前可以通过 unpkg.com/element-ui 获取到最新版本的资源,在页面上引 ...
- NLP语义匹配
参考资料 [搜狗语义匹配技术前沿]https://www.jiqizhixin.com/articles/2018-10-25-16?from=synced&keyword=%E6%90%9C ...
- ubuntu16.04 caffe 安装
所需环境 opencv3.x + cuda9.0 安装 caffe首先在你要安装的路径下 clone : git clone https://github.com/BVLC/caffe.git 进入 ...
- Adding appsettings.json to a .NET Core console app
This is something that strangely doesn’t seem to be that well documented and took me a while to figu ...
- [NOI 2018] 归程
Description 传送门 Solution 65分做法 先求出每个点到\(1\)号点的最短路,记为\(d[i]\).然后按照海拔从大到小依次加边,并查集维护每个连通块中\(d[i]\)的最小值, ...
- 五一培训 清北学堂 DAY1
今天是冯哲老师的讲授~ 1.枚举 枚举也称作穷举,指的是从问题所有可能的解的集合中一一枚举各元素. 用题目中给定的检验条件判定哪些是无用的,哪些是有用的.能使命题成立的即为其解. 例一一棵苹果树上有n ...