window.URL
时间: 2023-10-31 22:55:12 浏览: 175
window.URL 是 JavaScript 中的一个全局对象,用于操作 URL 相关的操作。它提供了一些方法来获取、解析和操作 URL。例如,可以使用 window.URL.createObjectURL() 方法来创建一个指向指定对象的 URL,可以用于在浏览器中预览图片或者下载文件等操作。另外,window.URL 还包含了一些其他的方法和属性,用于解析和操作 URL 的其他部分,如 hostname、pathname、search 等等。
相关问题
window.URL.createObject URL爆红
`window.URL.createObjectURL()` 是一个 Web API,用于创建一个具有唯一 URL 的 Blob 对象,可以用于将二进制数据或文件对象转换为可链接的 URL,以便在浏览器中显示或下载文件。
这个 API 在前端开发中非常常用,例如在上传文件时,可以通过 `window.URL.createObjectURL()` 将文件对象转换为可链接的 URL,然后将其显示在页面上或上传到服务器。
但需要注意的是,由于每个 Blob 对象都有一个唯一的 URL,如果过多地使用 `window.URL.createObjectURL()`,可能会导致浏览器的性能问题。因此,使用完 Blob 对象后,需要及时调用 `window.URL.revokeObjectURL()` 来释放它的 URL。
请使用函数式编程,改造以下代码, export const getObjectURL = (file) => { let url = null; if (window.createObjectURL !== undefined) { // basic url = window.createObjectURL(file); } else if (window.webkitURL !== undefined) { // webkit or chrome try { url = window.webkitURL.createObjectURL(file); } catch (error) { console.log(error); } } else if (window.URL !== undefined) { // mozilla(firefox) try { url = window.URL.createObjectURL(file); } catch (error) { console.log(error); } } return url; }
const getObjectURL = (file) => {
const createObjectURL = window.createObjectURL || window.webkitURL.createObjectURL || window.URL.createObjectURL;
try {
return createObjectURL(file);
} catch (error) {
console.log(error);
return null;
}
}
使用函数式编程重构 getObjectURL() 函数,通过使用箭头函数和 const 关键字来定义一个新的函数。我们将之前的代码抽象成一个 createObjectURL 的变量,然后使用 try/catch 结构来处理异常情况。最后函数返回新的 url 值或者返回 null。
阅读全文