firefox

audio/mp4; codecs=“mp4a.40.2” not playing in Chrome and Firefox

喜你入骨 提交于 2020-11-25 04:08:30
问题 It seems I want to convert audios, which I want to stream on my website, to audio/mp4; codecs="mp4a.40.2" . Using ffmpeg-cli-wrapper, I am converting my uploaded audio files with this command here: ffmpeg -i /tmp/input.any -acodec aac -b:a 256000 /tmp/output.aac On the client I am creating a SourceBuffer like this: this.sourceBuffer = this.mediaSource.addSourceBuffer('audio/mp4; codecs="mp4a.40.2"'); The errors are: Chrome: NotSupportedError: Failed to load because no supported source was

audio/mp4; codecs=“mp4a.40.2” not playing in Chrome and Firefox

放肆的年华 提交于 2020-11-25 04:08:26
问题 It seems I want to convert audios, which I want to stream on my website, to audio/mp4; codecs="mp4a.40.2" . Using ffmpeg-cli-wrapper, I am converting my uploaded audio files with this command here: ffmpeg -i /tmp/input.any -acodec aac -b:a 256000 /tmp/output.aac On the client I am creating a SourceBuffer like this: this.sourceBuffer = this.mediaSource.addSourceBuffer('audio/mp4; codecs="mp4a.40.2"'); The errors are: Chrome: NotSupportedError: Failed to load because no supported source was

selenium+java 关于图形化滑块的处理(1)

泄露秘密 提交于 2020-11-25 02:03:49
新人新手,初次接触selenium+Java自动化测试,试着分享点学习中的东西。 在做自动化的时候,有时会遇见图形化校验的问题,特别是现在大部分网站都加上了滑块校验,今天分享一下最简单的滑块校验的处理; 这个滑块的处理步骤: 1.先定位和滑块控件的元素; 2.获得滑块滑动的距离,也就是滑块目的地的坐标; 3.拖动滑块。 1.定位滑块控件,如下图 定位外面的控件也行,定位里面小的那个也行 // 外 WebElement sour = driver.findElement(By.cssSelector(".cpt-img-double-right" )); // 内 WebElement sour = driver.findElement(By.cssSelector(".cpt-drop-btn")); 2.获得滑块滑动的距离,也就是滑块目的地的坐标,如下图 滑块的运动就是从A点走到B点或C点的位置,需要把B或C的坐标,得到即可, 以A点为原点,水平距离为X,垂直距离为Y 1 // 整个拖拽框的控件元素 2 WebElement ele = driver.findElement(By.cssSelector(".cpt-bg-bar" )); 3 // 拖拽的宽度即x的距离 4 int x = ele.getSize().getWidth(); 5 // 拖拽的高度即y的距离 6

web service 基础知识

爷,独闯天下 提交于 2020-11-25 01:20:07
Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等。 当我们输入www.oldboyedu.com/时候,很快就能看到老男孩教育的官网了,这一切看起来很平淡无奇,背后又是什么道理呢? 普通人可以不知道,但是咱们作为it开发人员,必须得掌握清楚背后的技术。 下面超哥为你揭晓用户访问网站的基本流程 老男孩教育某python总监,讲了一天课感觉很累,下了班躺床上打开他的macbook pro,双击浏览器,输入www.pornhub.com网址后,系统首先会查找本地的DNS缓存以及hosts文件信息,确定是否存在www.pornhub.com域名对应的ip解析记录,如果有就直接获取ip进行访问服务器,第一次请求时,dns缓存是没有解析记录的,hosts文件多数是开发临时测试用 如果本地dns缓存和hosts文件都没有域名解析记录,系统就会把某python总监访问的网址解析请求发送给客户端设置的DNS服务器去解析,也叫做Local DNS,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回给客户端IP地址,如果没有LDNS就会继续请求其他的DNS服务器 LDNS继续从DNS系统的"."(根)开始请求www.pornhub.com域名的解析,并且根据每个层级的DNS服务器系统进行系列的查找

js判断用户浏览器类型(IE或IE内核和非IE)及判断IE浏览器版本(32位或64位)

匆匆过客 提交于 2020-11-24 19:52:41
判断是否是IE浏览器或IE内核浏览器: function checkIE() { //ie? if ( !! window.ActiveXObject || "ActiveXObject" in window) { //是 alert(1); } else { //不是 alert(222); } } 判断IE是32位还是64位:火狐和谷歌也可用此判断浏览器位数。 function checkVer() { var ieVersion = window.navigator.platform; alert(ieVersion); if (ieVersion.indexOf('32') != -1) { alert(32); } else if ('64'.indexOf(ieVersion) >= 0) { alert(64); } } 来源: oschina 链接: https://my.oschina.net/u/4302015/blog/3651985

看完让你彻底理解 WebSocket 原理,附完整的实战代码(包含前端和后端)

匆匆过客 提交于 2020-11-23 09:47:51
前言 最近有同学问我有没有做过在线咨询功能。同时,公司也刚好让我接手一个 IM 项目。所以今天抽时间记录一下最近学习的内容。 本文主要剖析了 WebSocket 的原理,以及附上一个完整的聊天室实战 Demo (包含前端和后端,代码下载链接在文末)。 WebSocket 与 HTTP WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。 HTTP 有 1.1 和 1.0 之说,也就是所谓的 keep-alive ,把多个 HTTP 请求合并为一个,但是 Websocket 其实是一个新协议,跟 HTTP 协议基本没有关系,只是为了兼容现有浏览器,所以在握手阶段使用了 HTTP 。 下面一张图说明了 HTTP 与 WebSocket 的主要区别: WebSocket 的其他特点: 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。 数据格式比较轻量,性能开销小,通信高效。 可以发送文本,也可以发送二进制数据。 没有同源限制,客户端可以与任意服务器通信。 协议标识符是ws

Fiddler简介及web抓包

巧了我就是萌 提交于 2020-11-22 17:27:53
1、Fiddler界面如下 2、Fiddler开关 界面左下角或点击F12控制Fiddler开关,开关是“Capturing”; 启动之后,Fiddler代理永远是开着的。 3、浏览器代理设置 (1)IE或360浏览器代理都是自动开启的; 代理查看方式:浏览器菜单栏上:工具—>Internet选项—>连接—>局域网设置—>高级代理。 Fiddler开启之后,代理自动修改; (2)火狐浏览器 火狐浏览器启动之后,Fiddler没有反应,是因为火狐代理是自己独立的,不会像IE、360那样自动改变; 代理设置: ——>选项——>高级——>网络——>连接——>设置——>手动配置代理——>Http代理和端口输入(与Fiddler代理端口保持一致); (3)谷歌浏览器代理设置 工具——>设置——>拖动页面到底部,点击:显示高级设置按钮——>网络——>更改代理服务器设置——>点击:局域网设置——>高级——>进入代理服务器设置; 谷歌和IE都是用的系统代理。 4.Fiddler自己的端口 查看方式:Tools——>TelerikFiddler Options——>Connections下的Fiddler listens on port:8888,8888就是我们Fiddler默认的端口号; Fiddler默认端口号是8888(文章中有图说明端口号是哪一个),如果要修改,

面试题思考:GET和POST两种基本请求方法的区别

谁都会走 提交于 2020-11-21 11:13:25
面试回答: GET请求在URL中传送的参数是有长度限制的,而POST没有。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 GET参数通过URL传递,POST放在Request body中。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求只能进行url编码,而POST支持多种编码方式。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET在浏览器回退时是无害的,而POST会再次提交请求。 答上几条就行了。 深入: GET和POST本质上没有区别 GET和POST是什么?HTTP协议中的两种发送请求的方法。 HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。 GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。 那么,“标准答案”里的那些区别是怎么回事? 举例: TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。 但是如果路上跑的全是看起来一模一样的汽车

Katalon Recorder初探

给你一囗甜甜゛ 提交于 2020-11-21 06:34:44
缘由 最近工作中,有大量web页面上的重复操作,实在麻烦,就想利用selenium ide录制出一些操作集合,以便复用。新版本的selenium ide 3目前只支持firefox最新的版本,而且代码导出功能还不完备,就想试试旧版本2.7。为了能使用2.7版本,还安装了旧版本的火狐浏览器。弄好后,发现不太好用,录制起来很不顺手。于是就想找找替代方案。搜到了两个结果,一是kantu,另外一个是katalon recorder。我觉得katalon recorder很顺手,也的确为我省了不少事,作一下简单记录。 简介 katalon recorder是基于selenium的浏览器插件,支持火狐和chrome。它可以录制web页面的操作,并且能实现基本的数据驱动测试,还能导入脚本,可说是体量虽小,功能足够。对功能有更高要求的,还可以去试试同出一门的katalon studio,也是免费软件,支持web和mobile端的测试,并集成了许多强大的功能。 安装后界面如下: 创建test suite后,里面可以包含多个测试用例(test case),每个测试用例又有若干步骤(command)。点击record,可以快速对当前的活动页面进行录制,点击pllay则是回放。web自动化测试费时费力的一部分就是元素定位,录制正是解决这一问题的利器。录制完成后,点击右上角的export

在FireFox浏览器上,用stopImmediatePropagation阻止冒泡鼠标滚动事件

眉间皱痕 提交于 2020-11-21 04:40:06
楔子 是不是在火狐用stopPropagation不太满意 很久没有笑过又不知为何 既然不快乐又不喜欢这里 不如一路向西用stopImmediatePropagation( 其实我对浏览器的兼容性看不顺眼已经很久了,殊不知浏览器对我的想法更不顺眼,甚至嗤之以鼻 ) 注释 言归正传,让我解释一下stopImmediatePropagation的用法:如果多个监听器连接到同一事件类型的同一元素,则按添加监听器的顺序调用它们。如果在一个这样的调用中调用了event. stopimmediatePropagation(),将不会调用剩余的监听器。 实例 我将用DOMMouseScroll事件类型,滚动鼠标轮就触发事件,此事件类型非常兼容FireFox浏览器,其它主流浏览器不支持,再重复一遍,在FireFox运行有效果,其它主流浏览器则没有。 不添加stopImmediatePropagation时,体会冒泡一下。 <! doctype html > < html lang ="en" > < head > < meta charset ="UTF-8" > < meta name ="Author" content ="木人子韦一日尘" > < title > 在FireFox浏览器上,用stopImmediatePropagation阻止冒泡鼠标滚动事件 </ title > </