首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS 在浏览器端的运行机制

    先来看几个问题 1、JS为什么是单线程? JS的单线程,与他的用途有关。作为浏览器脚本语言,Js的主要用途就是与用户互动,以及操作DOM。这决定了它只能是单线程。...试想一下,假设现在有process1、process2两个线程,process1在某个DOM节点上添加了内容,process2删除了这个节点,那这时浏览器应该以哪个线程为准呢?...所以,为了避免复杂性,JS从诞生起就是单线程 2、为什么需要异步任务? 既然JS是单线程,那么所有的任务就得排队,一个个执行,假如上一条任务执行了很久,那么后面的任务就会被阻塞。...所以,JS需要异步任务。...也就是说,如果主线程执行了10秒,那这个任务就会在10+3秒后执行 JS 在浏览器端的运行机制 - 小鑫の随笔:https://xiaoxina.cc/p/4b4d.html

    69630

    js浏览器版本和移动端版本总结

    今天俺跟大家分享一个工具方法,用来判断浏览器内核版本信息,判断是否会移动端,判断是否为ios。...浏览器类型 ⑴浏览器特有属性 ⑵根据userAgent 浏览器版本 ⑴根据userAgent 对于手机浏览器判断 1.如何判断是否为移动终端 利用正则match, 匹配navigator.userAgent...是否含有字符串AppleWebKit***Mobile 安卓qq浏览器HD版 只有AppleWebKit 2手机语言版本的判断 使用navigator.browserLanguage 便可得出windows...phone语言版本,  当然可恶的小小手机语言版本也有兼容性的差异,兼容Mozilla,以及AppleWebKit内核的浏览器访问其语言版本,它会列出 navigator.language 例: //...("手机端"); // window.location.href = "app/index.html"; } else { console.info("非手机端"); // window.location.href

    2.1K00

    手机定位和什么有关?关机后的手机还能被定位吗?

    其中定位服务往往是根据运营商基站的数据交互来获取位置的,那么有人好奇如果将手机关机,基站是否还能准确定位到我们的位置呢?接下来小编就给大家说说手机定位的原理。...手机定位原理 第一种方式就是我们较为熟知的基站定位,运营商只要通过三个基站便能够精准确定您的位置。...如何避免被定位? 如果是基站定位,想要不被定位位置的话,可以关机或者要将SIM从手机中拆除即可,这样运营商便无法跟踪到您的行踪,当然手机也无法使用语音、短信、流量等业务。...如果是卫星导航就需要在手机中手动关闭各个软件的定位权限。 很多人觉得被定位是一件很危险的事,不仅会泄露个人行踪隐私,还有可能被售卖个人信息的风险。...但其实定位有利有弊,在手机丢失的时候,很多手机可以根据定位功能成功找到手机。如果不需要任何与定位有关的功能,建议直接关闭手机中的定位功能就能巧妙解决了。

    1.8K10

    浅谈手机基站定位

    手机定位方法目前有很多种,胡砚老师在“Windows Mobile GPS应用开发指南”这个Webcast中讲述了在windows mobile平台上实现GPS定位的方法。...另外还有基站定位、WiFi定位以及混合定位等方法。目前国内WiFi接入点分布不是很多,在学校、机场、火车站、酒店这些地方有,其他地方估计就少了。...那么,在国外,手机基站定位的情况如何呢?在codeproject网站上,看到了一篇印度人S. Senthil Kumar写的文章“where am i?”...,他的基本思路也是基站定位,只不过使用了小区广播(cell broadcast)的手段来获取基站信息。其获取基站信息的界面如下图1所示,可以看到包含的信息有扇区,地点,时间等等。 ?...图1:cell broadcast获取的基站信息     于是我想,能不能通过这个手段在本地实现手机定位呢,因为记得在杭州上大学的时候,就有小区广播,主要是一些天气预报和商场打折的信息。

    2.5K50

    浏览器端js主导的导出动态数据

    首页 专栏 javascript 文章详情 3 浏览器端js主导的导出动态数据 ?...黒之染发布于 2 月 7 日 当一个系统需要导出动态数据时,有时候首选方案是:由服务端实时生成csv或Excel格式的文件,然后用二进制流的形式返回给前端。...StreamSaver.js 可以解决问题,而且它对文件大小,没有限制。...FileSaver.js 也能做到,但它文件大小受限于前端可用内存和Blob允许的最大值即2G 在这个方案里,服务端只需要提供一个分页接口,前端循环调用该接口拿数据,解析后写入同一个文件,甚至可以压缩成...streamsaver' const encode = TextEncoder.prototype.encode.bind(new TextEncoder()) /** * 注意,该方法可能会延迟七八秒后才调起浏览器的下载弹窗

    1.2K10

    浏览器端用JS创建和下载文件

    浏览器端用JS创建和下载文件 1 需求 前端需要把获取的数据生成文件让用户下载,按照以往生成 a 标签 href 指向目的文件,不仅需要有已经生成的文件服务器路径,而且很多浏览器支持类型的文件会默认加载而不提示用户选择路径下载...2 解决方案 2.1 下载取代加载:H5标签属性 HTML5 中 a 标签增加了 download 属性,点击链接时浏览器不会打开链接指向的文件,而是改为下载(目前只有chrome、firefox和opera...支持),下载时会直接使用链接的名字来作为文件名(可给 download 加上文件名进行修改,如: download=“file.js”) 2.2 生成文件:DataURI 用js将内容生成文件可以仿照图片...3 改进方案 进一步放宽条件 取消下载类型限制 取消点击过程,直接下载 解决文件类型的问题,可用浏览器新API(URL.createObjectURL)来解决,URL.createObjectURL...通常用来创建图片 DataURI 显示图片,这里用来下载文件,参数是 File对象(通过input[type=file]选择的文件)或 Blob 对象(二进制大对象),让浏览器自动设定文件类型 解决类型限制

    4.8K120

    浏览器端用JS创建和下载文件

    浏览器端用JS创建和下载文件 1 需求 前端需要把获取的数据生成文件让用户下载,按照以往生成 a 标签 href 指向目的文件,不仅需要有已经生成的文件服务器路径,而且很多浏览器支持类型的文件会默认加载而不提示用户选择路径下载...2 解决方案 2.1 下载取代加载:H5标签属性 HTML5 中 a 标签增加了 download 属csxiaoyao.com性,点击链接时浏览器不会打开链接指向的文件,而是改为下载(目前只有chrome...、firefox和opera支持),下载时会直接使用链接的名字来作为文件名(可给 download 加上文件名进行修改,如: download=“file.js”) 2.2 生成文件:DataURI 用...js将内容生成文件可以仿照图片 DataURI 的方式 封装成一个下载方法 function downloadFile...通常用来创建图片 DataURI 显示图片,这里用来下载文件,参数是 File对象(通过input[type=file]选择的文件)或 Blob 对象(二进制大对象),让浏览器自动设定文件类型 解决类型限制

    16110

    最全的LBS手机定位技术,定位原理教程

    这种定位方式是目前最常用的定位方式,在使用手机地图通常是提示你打开GPS或者Wifi。如果要是在室外打开任意一个选项都可以大大提高定位精度。特别是打开wifi会瞬间提高定位精度。...目前手机地图的定位方式基本都是这样的混合定位方式。...输入*#*#4636#*#* 选择->Phone information 方法1: 用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid...hex=0&lac=&cid=,可以获得一个html页面内容,通过正则进行解析,也可以获得经纬度信息 基站定位描述 基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置服务(LBS...基站定位一般应用在手机端,所以必须获取到基站信息才能进行基站的定位;基站信息 包含:MNC,LAC,CID (Cell) 三个参数;如果获取到以上三个参数即可以通过基站数据库,实现对应基站的位置进行定位

    1.6K10

    nodejs模块导出变成浏览器可使用的js(sm4浏览器端js实现过程)

    有一些实现是依赖nodejs的能力来完成的,没有浏览器端进行实现。所以需要变成浏览器端的可实现版本。...下面教方法: 一、安装Browserify 工具 npm install -g browserify 二、安装完成后可以使用命令:browserify 下面举例使用nodejs实现的国密sm4算法,变成一个浏览器端可以使用的...js库 nodejs端使用方式:https://www.ctolib.com/pecliu-gm-crypt.html 2.1 使用步骤如下: // 1、新建一个文件夹(window下直接右键新建一个即可...,内容如下 const SM4 = require('gm-crypt').sm4; console.log(SM4); // 然后执行命令生成js脚本 browserify t.js > sm4.js...// 此时可以看到sm4脚本已经生成,用编辑器打开sm4.js,查找console.log(SM4),将其注释掉,加上window.SM4 = SM4; // 然后浏览器使用时候直接加载sm4,然后使用方式如下

    3.3K40

    华为、荣耀系列手机自带浏览器fixed定位被遮挡的解决方法

    华为手机自带的浏览器据说使用的是腾讯X5内核,在测试时发现浏览器默认情况下方会显示一个工具栏,上滑会自动隐藏全屏显示。...这种浏览器会把 position: fixed 属性固定定位在下方的元素遮住,无法正常显示。...目前我使用小米手机没有发现这样的问题,不知道 iPhone 、OPPO、vivo、魅族、锤子、一加、诺基亚、三星等手机会不会有这样的情况,大家可以自行测试。...解决方法: 在 head 内添加下面一行代码: x5-fullscreen 是QQ浏览器私有 meta 属性,除此之外还有下面两个...x5-orientation 横竖屏控制: content:landscape (强制横屏)| portrait (强制竖屏)| auto (跟随浏览器设置【默认值】) x5-fullscreen 全屏控制

    95541
    领券