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页面 ...
随机推荐
- 二、PHP基本语法 - PHP零基础快速入门
我们日常生活中,有些人使用普通话交流,有些人使用家乡话.类比到计算机的世界里,PHP 是人与计算机沟通的语言之一. 既然是语言,那就必须遵循一定的语法规则.譬如 A 向 B 表白,A 会对 B 说:& ...
- 我对DFS的理解
我对DFS的理解 [何为DFS] 深度优先搜索(Depth-First-Search),简称DFS.是一种常见搜索算法.其方法是从原点不断一条路扩散,当无路可走时回退来走下一条路,直至找到目标或遍历. ...
- PS教程:抠透明冰块
1.打开我们需要用到的素材,ctrl+a全选,ctrl+c复制 2.接下来给图层添加一个图层蒙版,按alt键点击图层蒙版,看到它变成白色了 3.ctrl+v,把刚才复制好的图粘贴进来 4.接着ctrl ...
- 通俗理解ZooKeeper是如何保证数据一致性的
https://blog.csdn.net/liuhaiabc/article/details/70771322 https://blog.csdn.net/zhaoyangjian724/artic ...
- CodeForces 1151D Stas and the Queue at the Buffet
题目链接:http://codeforces.com/contest/1151/problem/D 题目大意: 有n个学生排成一队(序号从1到n),每个学生有2个评定标准(a, b),设每个学生的位置 ...
- Session与Cookie(自定义Session)
一.会话管理 会话管理: 管理浏览器客户端 和 服务器端之间会话过程中产生的会话数据. 域对象: 实现资源之间的数据共享. request域对象 context域对象 会话技术: Cookie技术:会 ...
- access数据库转sql server中ID的问题
USE [Task] GO /****** Object: Table [dbo].[Task] Script Date: 04/16/2018 16:14:56 ******/ SET ANSI_N ...
- [Luogu 4245] 任意模数NTT
Description 给定 \(2\) 个多项式 \(F(x), G(x)\),请求出 \(F(x) * G(x)\). 系数对 \(p\) 取模,且不保证 \(p\) 可以分解成 \(p = a ...
- Monte Carlo Method(蒙特·卡罗方法)
0-故事: 蒙特卡罗方法是计算模拟的基础,其名字来源于世界著名的赌城——摩纳哥的蒙特卡罗. 蒙特卡罗一词来源于意大利语,是为了纪念王子摩纳哥查理三世.蒙特卡罗(MonteCarlo)虽然是个赌城,但很 ...
- Python 编写一个有道翻译的 workflow 教程
最近使用有道翻译的 workflow 总是翻译不了,可能是 appKey 失效了或者超过调用上限,所以打算自己实现一个. 创建 workflow 打开 Alfred3 的 Preferences,选择 ...