首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「实战」如何用H5实现原生体验的图片预览组件

| 导语 Q终端原生的图片预览器支持图片翻页和各种手势,这些用H5怎样实现?...类比手Q的AIO里的图片预览器,支持的手势和功能分别如下: Q动漫这里之所以没有直接用手Q原生的图片预览器,而是新造一个轮子,主要原因是Q动漫的图片预览器有一些定制的功能和ui展示,用web来实现更快捷可控一些...二、实现基础 图片预览组件目前是基于alloyFinger.js来做手势支持,transform.js来做CSS3的变换,to.js来做动画的过渡函数。...关于transform.js组件 http://alloyteam.github.io/AlloyTouch/transformjs/ alloyFinger只提供了手势支持,但手势具体要实现的图片位置变换或者缩放的效果...那延长点要怎么计算呢,这里可以用向量的知识来指导坐标的计算方法。

2.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

如何实现高性能的在线 PDF 预览

“这怎么这么慢?不行,用户肯定不能接受。。。” “公司网络不好... 你这文件太大了... 你重启一下试试?“ 不存在的,作为一个优秀的前端开发者,怎么可以说这种话,当然是想办法解决啦。...通过 getViewport 可以根据指定的缩放比例(scale)、旋转角度(rotation)获取当前 PDF 页面的实际大小。...实现细节 下载 PDF 分片 首先我们使用 PDF.js 提供的接口获取第一个分片的 url,然后再下载该分片的 PDF 文件。...渲染之前,我们需要知道 PDF 页面的大小。调用 PDF.js 提供的方法,我们能够根据当前 PDF 的缩放比例、选择角度来获取页面的实际大小。...针对上述问题,目前我们思考了两种方案: 将大小不一样的页面进行缩放。当我们发现页面大小和保存的 pageSize 不一致时,可以将当前进行缩放,这样就将所有页面的大小转化成了一样。

6.3K53

移动端之在不同尺寸大小的手机上展示同一效果解决方案(修正二) by FungLeo

而且,设计师对我实现的页面还是颇多微词,因为,只有在普通安卓手机上显示是最正常的,5S有点拥挤,6p又有点过宽. 那么,到底TMD有没有一种方式,可以完美的实现设计稿的设计呢?...也就是说,要求就是,大手机上,看着每个元素,包括文字都要大一些.而在小手机上,看着要小一些.全部都整体缩放呢?...思路没错.怎么实现呢?首先,我想到的是媒体查询. 但是我很快放弃了....看过一些使用媒体查询的案例,首先,它不能无缝切换,而只能根据不同的手机尺寸来进行适配调整.而且,难保不会出现问题.虽然大部分的浏览器都是会进行缩放的.但是不排除某些页面嵌套到APP里面,没有进行缩放处理...决定用JS实现.就需要来考量一下.

94610

–我对移动端适配的了解

CSS像素 在CSS、JS中使用的一个长度单位,单位px。 注:在pc端1物理像素等于1px,但是移动端1物理像素不一定等于1px(高清屏)。...随着移动端的发展,在手机上看电脑端的页面已成为非常普及现象。而电脑端页面宽度较大,移动端宽度有限,要想看到整个网页,会有很长的滚动条,看起来非常麻烦。...所以苹果引入了理想视口,它对设备来说是最理想的布局视口,用户不需要对页面进行缩放就能完美的显示整个页面。最简单的做法就是使布局视口宽度设置为手机屏幕的宽度。移动端到底怎么适配不同的屏幕呢?...怎么解决呢?1px边框效果其实有很多hack方法,其中一种就是通过缩放viewport。...Flexible实现淘H5面的终端适配 方案五: 可以来看看我总结的 : 大漠老师最新的vw移动端适配方案

2K30

助力小白常见JS逆向乱杀喂饭教程——Url加密

答:如果你是一个合格的pythoner就觉得不难(只管调用,不管实现原理)。 问4:加密有哪些? 答:对称加密和非对称加密(就像只有男人和女人一样),后面会详细说的。 问5:加密需要js底子吗?...然后我们点击一进入瞧一瞧,看一看: ? 哎哎哎,怎么就成这个亚子了??? 经过反复查看之后,你肯定觉得:这就是加密(tnnd,遇到反爬了,俺也不会呀)!!!...这个时候怎么办呢,先回去看看主页面的标题列表。 ? 在url的父级元素以及和url这个a标签元素中并没有出现 js函数,下面来看解决办法: ?...然后把上面的特征码放在搜索栏中搜索下,看看结果: ? 相信到这里你已经可以撕AES加密了(手动滑稽~) 问:怎么实现这样的加密? 答:会js的套个js 的AES加密库。 问:不会js怎么办?...答:上GitHub,上面的大佬早已经封装好了。请尽情调用吧~ Ps:实现了加密,爬人家一的就行了哈,来学技能的不是让你搞人家站的。

1.4K30

移动web开发问题和优化小结

2.Meta标签 页面在手机上显示时,增加这个meta可以让页面强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户通过点击或者缩放等操作对屏幕放大浏览。...(这个在ios10以上的版本已经失效了,即使加了下面的meta,用户双击,缩放还是可以缩放页面。...大家可以按照开发需求,参考下面的连接进行限制--ios10中禁止用户缩放页面) <meta content="width=device-width, initial-scale=1.0, maximum-scale...CSS3动画或者过渡尽量使用transform和opacity来<em>实现</em>动画,不要使用left和top。 2.动画和过渡能用css3解决的,就不要使用<em>js</em>。...关于touch和鼠标事件的延迟说明,我引用叶小钗大神博客里<em>面的</em>一张图片,如下 ? 在手<em>机上</em>,click的延迟将近400ms。对于用户而言,是一个很严重的延迟了!所以在手<em>机上</em>,并不建议用click。

2K21

H5活动宣传通用布局技术解决方案

一般来说,活动宣传都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是将内容在不同的手机上良好展示出现就显得有点挑战了。本文旨在通过对一个个疑难点进行攻克而形成一种通用解决方案。...简单来说contain是缩放以使宽高全部容下,所以除非是图片比例与视窗比例正好合适,否则肯定出现空白;而cover是缩放到只要有宽高一个满足要求了,另一个就会将多余的进行裁剪,它跟contain正好相反...right: 0; transform: translate(0, -50%); } 对于我们案例中全是水平居中的logo,大会名称及大会时间三个元素,我们既可以在wrap使用flex布局实现水平居中...下面继续再抛出两个特例: 元素使用了transform定位,怎么进行动画 我们的animate.css动画库采用的就是transform的一些动画,如果我们元素本身的布局定位就采用了transform,...这里我们从rem入手,来个黑科技解决这个问题: 通过js设置html的font-size为视窗高度的十分之一,于是1rem就成了视窗高度的10% document.addEventListener("DOMContentLoaded

1.3K10

H5活动宣传通用布局技术解决方案

本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 一般来说,活动宣传都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是将内容在不同的手机上良好展示出现就显得有点挑战了...简单来说contain是缩放以使宽高全部容下,所以除非是图片比例与视窗比例正好合适,否则肯定出现空白;而cover是缩放到只要有宽高一个满足要求了,另一个就会将多余的进行裁剪,它跟contain正好相反...right: 0; transform: translate(0, -50%); } 对于我们案例中全是水平居中的logo,大会名称及大会时间三个元素,我们既可以在wrap使用flex布局实现水平居中...下面继续再抛出两个特例: 元素使用了transform定位,怎么进行动画 我们的animate.css动画库采用的就是transform的一些动画,如果我们元素本身的布局定位就采用了transform,...这里我们从rem入手,来个黑科技解决这个问题: 通过js设置html的font-size为视窗高度的十分之一,于是1rem就成了视窗高度的10% document.addEventListener("DOMContentLoaded

1.6K50

H5活动宣传通用布局技术解决方案

本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 一般来说,活动宣传都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是将内容在不同的手机上良好展示出现就显得有点挑战了...简单来说contain是缩放以使宽高全部容下,所以除非是图片比例与视窗比例正好合适,否则肯定出现空白;而cover是缩放到只要有宽高一个满足要求了,另一个就会将多余的进行裁剪,它跟contain正好相反...right: 0; transform: translate(0, -50%); } 对于我们案例中全是水平居中的logo,大会名称及大会时间三个元素,我们既可以在wrap使用flex布局实现水平居中...下面继续再抛出两个特例: 元素使用了transform定位,怎么进行动画 我们的animate.css动画库采用的就是transform的一些动画,如果我们元素本身的布局定位就采用了transform,...这里我们从rem入手,来个黑科技解决这个问题: 通过js设置html的font-size为视窗高度的十分之一,于是1rem就成了视窗高度的10% document.addEventListener("DOMContentLoaded

1.4K42

初窥火狐浏览器插件后门

2、Background pages 后台执行的脚本,如果你的插件需要有一个脚本文件一直在后台执行的话,这个脚本不在任何用户的可见的签里运行,而是在浏览器为它创建的一个空白里运行,所以它不能访问别的网页的...它可以操作对应的页面的DOM,用它来注入js比较方便。 个人认为,后门注入到可信的程序里就可以了,这也是一种比较理想的状态,而不用自己开发一个很好的软件,然后把后门加进去。...(我不懂密码学,对这些证书文件就不妄加论断了,只说怎么操作,hhhhh) 然后修改配置文件,把此处 enable 项的值改为 true ?...这时我们看到,靶机上线了。 ? 看一下靶机页面源代码。 ? 执行个模块试试 ? 总结 经过黑客的的东西都很危险啊,还是小心使用的好。...本文只是展示了用借助 beef 来实现攻击,结合其他平台也是一样。 自己编写后门代码更是优秀,火狐插件有很多 API,可以很方便的盗取信息,实现远程控制,奈何本人前端水平太差,只能在这抛砖引玉了。

1.3K00

前端调试入门

1.jpg 2.jpg 1.1脚本执行 上图1中,点击tab3 进入“console”Tab,即为脚本执行区域。在这里,可以输入任何可执行的js代码,回车即可执行并打印返回值。...2.打开Fiddler,点击右侧的AutoResponder的Tab,勾选图6所示的几个选项。 3.在左侧网络列表中选择自己需要代理的请求,拖拽到右侧,进入下面的Rule Editor。...此时完成设置,手机上的http请求也可以用fiddler抓取了。...4.1 安卓 微信/Q/QQ浏览器/腾讯产品APP 这几种情况都有一个共性,就是app是腾讯的产品,而且在安卓手机上,我们知道安卓支持连接数据线结合Chrome内核的调试器进行inspector调试,...这种环境下我们需要借助fiddler结合手机进行代理文件,并在代理的js文件中按需打alert。

2.2K330

移动端开发总结

2.Meta标签 页面在手机上显示时,增加这个meta可以让页面强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户通过点击或者缩放等操作对屏幕放大浏览。...(这个在ios10以上的版本已经失效了,即使加了下面的meta,用户双击,缩放还是可以缩放页面。...大家可以按照开发需求,参考下面的连接进行限制–ios10中禁止用户缩放页面) <meta content="width=device-width, initial-scale=1.0, maximum-scale...CSS3动画或者过渡尽量使用transform和opacity来<em>实现</em>动画,不要使用left和top。 2.动画和过渡能用css3解决的,就不要使用<em>js</em>。...关于touch和鼠标事件的延迟说明,我引用叶小钗大神博客里<em>面的</em>一张图片,如下 ? 在手<em>机上</em>,click的延迟将近400ms。对于用户而言,是一个很严重的延迟了!所以在手<em>机上</em>,并不建议用click。

2.6K10

Python爬虫一步步抓取房产信息

首先想到的 嗯,你首先要跳出编程,从使用者甚至是产品经理的角度去思考:在浏览这个页面的时候,如何就能看到全市的二房的情况。...通过主页的一个区一个区的输入,搜索,然后将页面的单元下载,嗯这是一个方法。 ? 南山区首页的情况 如上图所示,只要更改keyword后面的参数,就可以获得不同区的二房数据。...这样可以初步判断右边的链表是通过Js来加载,需要证实。 ? 关键词观澜湖的在源代码里面的搜索结果 ?...而在源代码通过搜索roomList,却发现出现在script里面,证实roomList里面的内容是通过Js来加载的: ?...Header第一 ? Herader第二 基本扒到这里,对整个页面就比较清晰了,也知道我们的爬虫要怎么去写了。 开始写代码了 逻辑整理出来后,整个代码就写的非常轻松了。

1.6K60

Android 上显示 PDF 文件

最近在 手机上要显示 PDF 文件,在搜索引擎上找到了很多方案,大体上有以下几种: 使用提供的在线服务,例如 Google 文档预览服务,mWebView.loadUrl(“http://docs.google.com...这个库是很强大的,配合 WebView ,可以支持预览,缩放,翻页等等功能 使用 腾讯浏览服务 https://x5.tencent.com/ 我是选择了 pdf.js 这个库,使用 WebView.../libraries/pdf.js https://unpkg.com/pdfjs-dist/ 刚开始使用时,直接使用提供的 API 创建 canvas ,每一创建一个 canvas 然后排列下来,因为有其他的内容要显示...开发测试的时候因为文件小,并且是在电脑上浏览的没有发现什么问题,在手机上测试的时候使用了一个稍微大点的文件,内存立马就爆了。...在 pdf.js 的例子里看到了在手机上使用的例子,就改了改,它这个做到了循环使用 canvas,并且是逐页加载。 修改之后在手机上使用 32M 的文件轻松无压力。示例,传送门 ?

2.3K30

第120天:移动端-Bootstrap基本使用方法

第三方依赖 jQuery——Bootstrap框架中的所有JS组件都依赖于jQuery实现 html5shiv——让低版本浏览器可以识别HTML5的新标签,如header、footer、section...等 respond——让低版本浏览器可以支持CSS媒体查询功能 条件注释:当满足if条件时,才执行里面的文件 3、视口 视口的作用:在移动浏览器中,当页面宽度超出设备,浏览器内部虚拟的一个页面容器,将页面容器缩放到设备这么大,然后展示 目前大多手机浏览器的视口(承载页面的容器)宽度都是980...; 视口的宽度可以通过meta标签设置 此属性为移动端页面视口的设置,当前值表示在移动端页面的宽度为设备的宽度,并且不缩放缩放级别为1) width:视口的宽度 initial-scale:初始化缩放...(3)javascript插件 内置组件 模态对话框——下拉菜单——滚动监听——标签——工具提示——弹出框——警告框——按钮——折叠面板——轮播图——吸顶效果

3.2K40
领券