window.URL对象的使用方式
1 window.URL是干嘛的?
window对象的URL对象是专门用来将blob或者file读取成一个url的。
window.URL.createObjectURL(file / blob)
这个url可以用在html的任何可以使用url的地方,比如img的src ; audio/video的src和source标签等。
所有能在浏览器中显示的图片、音频、视频等都是可以用url转换成一个url对象的,这个对象一旦被src引用,就会显示出来。
那么这些file或者blob来自于哪里呢?可以是在本地硬盘中通过<input type='file'>选择的文件,也可以是通过ajax请求后某个不知名的服务器请求到内存的。
问题: 如果一个img标签的src属性是一个excel文件转换成的url对象,那会发生什么?
我想img肯定将它读不出来,因为会img标签会检测文件类型。
2.URL构造函数将普通url转换成URL对象
除了可以将一个文件或者blob转化成一个Url对象,还可以将一个url字符串转换成一个URL对象
// https://cn.bing.com?id=123
var parsedUrl = new URL('https://cn.bing.com?id=123v');
console.log('parsedUrl' , parsedUrl, parsedUrl.searchParams.get("id")); // 123
console.log('parsedUrl' , parsedUrl.toString(), parsedUrl.searchParams.set("name" , 'alexandra')); // https://cn.bing.com/?id=123v&name=alexandra
searchParams属性返回一个URLSearchParams对象,这样就可以对url对象中的参数进行遍历或者其他操作
var urlSearchParams = URL.searchParams;
3.URL实例对象的toString()方法
URL的toString()方法可以将URL转换成url字符串,且:
URL.toString() === URL.href
// http://www.example.com/démonstration.html
let url = new URL('http://www.example.com/démonstration.html')
let test = url.toString() === url.href;
console.log('url.href', url.href, 'url.toString()' , url.toString() , 'test' , test);
// url.href http://www.example.com/d%C3%A9monstration.html url.toString() http://www.example.com/d%C3%A9monstration.html test true
https://developer.mozilla.org...
4.URL对象静态方法createObjectURL(object)
objectURL = URL.createObjectURL(object);object
A File, Blob or MediaSource object to create an object URL for.return
A DOMString containing an object URL that can be used to reference the contents of the specified source object.
https://developer.mozilla.org...
5.URL对象静态方法revokeObjectURL(objectURL)
window.URL.revokeObjectURL(objectURL);objectURL
A DOMString representing a object URL that was previously created by calling createObjectURL().return
ubdefined
window.URL对象的使用方式相关推荐
- JS中window.document对象
小知识点注:外面双引号,里面的双引号改为单引号: 在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中 文本框取出来 ...
- 使用对象 url 显示图像(window.URL.createObjectURL的使用)
本示例使用对象 url 显示图像缩略图.此外, 它还显示其他文件信息, 包括它们的名称和大小. 呈现界面的 HTML 如下所显示: <input type="file" id ...
- JavaScript中的Window窗口对象【转载】
本文转载自:http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 他是JavaScript中最大的对象,它描述的是一个浏览器窗口. ...
- 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式
反转控制与依赖注入 反转控制 与 依赖注入 反转控制(IOC Inverse of Control) 依赖注入 (Dependency Injection - DI) Spring工厂创建复杂对象(3 ...
- 小程序 url 对象转字符串编码传参 url 字符串转对象解码接收参数
url 对象转字符串编码传参 let info = encodeURI(JSON.stringify(this.data.info));wx.navigateTo({url: '/pages/part ...
- java 复制对象有哪些方式
2019独角兽企业重金招聘Python工程师标准>>> java 复制对象有哪些方式 Apache的 Common beanutils库 org.apache.commons.bea ...
- 转 cocos2d-x 3.0 常用对象的创建方式
cocos2d-x 3.0 中所有对象几乎都可以用create函数来创建,其他的创建方式也是有create函数衍生. 下面来介绍下create函数创建一般对象的方法,省得开发中经常忘记啥的. 1.精灵 ...
- WCF后续之旅(10): 通过WCF Extension实现以对象池的方式创建Service Instance
我们知道WCF有3种典型的对service instance进行实例化的方式,他们分别与WCF的三种InstanceContextMode相匹配,他们分别是PerCall,PerSession和Sin ...
- JavaScript实现创建自定义对象的常用方式总结
2019独角兽企业重金招聘Python工程师标准>>> 1. 对象字面量方式 对象字面量方式是创建自定义对象的首选模式,简单方便. var per = { name:'zhangsa ...
最新文章
- 断言(assert)和程序的安全保证
- c++ eos智能合约开发_干货|EOS智能合约开发(一)EOS环境搭建和启动节点
- Spring4.x新特性
- 一个深圳程序员被一美女骗到东莞迷強
- Java-图书管理系统(控制台程序)
- 拼音工具类(多音字处理)
- python使用matplotlib绘图 -- barChart
- Word 中自动设置匹配章、节序号的标题
- JS仿iGoogle自定义首页模块拖拽效…
- arm架构下spinlock原理 (代码解读)
- GEE-Python遥感大数据分析
- java poi写doc文件_如何使用POI hwpfdocument在java中的.doc文件中编写大量文本
- Jaspersoft Studio 创建简单报表
- 产业区块链生态架构图
- 值得一看的纪录片——《河西走廊》墙裂推荐
- 微信公众号文章怎么搞成html,微信公众号文章如何排版才能更好看(附教程)...
- 50.新拟物卡片悬停特效
- 绝命毒师观后感(r6笔记第48天)
- 第三十六篇:WinUSB调试实例
- VSCode将Java文件编译生成的class文件存在哪的?
热门文章
- python密码传参有特殊字符如何解决_am start的总结,-d参数的总结,以及python中传递内容包含中文及特殊字符的解决方案...
- weblogic进程自动关闭_手机内存不够还卡顿,那是你不会清理,关闭这3个设置就变流畅...
- javadoc解析成java 生成 api文档
- linux 无线 扫描不到网络,在Ubuntu笔记本上搜不到无线信号的解决办法
- react循环key值_01 React快速入门(一)——使用循环时对于‘key’报错处理
- linux 骇客帝国脚本,Linux下,那些让人惊叹的命令执行效果
- java面向对象实现表达式计算,java面向对象课程设计-数学表达式计算器
- oracle对某两列求和再求和_只会SUM函数求和,试试这5种求和函数,十倍提高工作效率...
- linux查看文件第三行,学习linux第三课!新手必须掌握的linux命令
- 301与302页面重定向