国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

window.URL對象的使用方式

betacat / 2896人閱讀

摘要:是干嘛的對象的對象是專門用來將或者讀取成一個的。這個可以用在的任何可以使用的地方,比如的的和標簽等。對象靜態(tài)方法對象的靜態(tài)方法用于銷毀之前通過方法創(chuàng)建的。在之后,再次使用該,會報錯,因為該已經(jīng)被銷毀,無法使用了。

1 window.URL是干嘛的?

window對象的URL對象是專門用來將blob或者file讀取成一個url的。

window.URL.createObjectURL(file / blob)

這個url可以用在html的任何可以使用url的地方,比如img的src ; audio/video的src和source標簽等。
所有能在瀏覽器中顯示的圖片、音頻、視頻等都是可以用url轉(zhuǎn)換成一個url對象的,這個對象一旦被src引用,就會顯示出來。

那么這些file或者blob來自于哪里呢?可以是在本地硬盤中通過選擇的文件,也可以是通過ajax請求后某個不知名的服務器請求到內(nèi)存的。

問題: 如果一個img標簽的src屬性是一個excel文件轉(zhuǎn)換成的url對象,那會發(fā)生什么?

我想img肯定將它讀不出來,因為會img標簽會檢測文件類型。

2.URL構(gòu)造函數(shù)將普通url轉(zhuǎn)換成URL對象

除了可以將一個文件或者blob轉(zhuǎn)化成一個Url對象,還可以將一個url字符串轉(zhuǎn)換成一個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對象中的參數(shù)進行遍歷或者其他操作

var urlSearchParams = URL.searchParams;
3.URL實例對象的toString()方法

URL的toString()方法可以將URL轉(zhuǎn)換成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對象靜態(tài)方法createObjectURL(object)

URL.createObjectURL(object)是URL 對象的靜態(tài)方法,用于創(chuàng)建一個DOMString(is a UTF-16 string),其實就是返回了一個在內(nèi)存中指向傳入?yún)?shù)object的引用路徑url字符串。
生成的這個url字符串會在當前頁面的document被銷毀的時候失效。

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對象靜態(tài)方法revokeObjectURL(objectURL)

URL對象的靜態(tài)方法revokeObjectURL()用于銷毀之前通過URL.createObjectURL(object)方法創(chuàng)建的url。
一旦調(diào)用這個方法就表示告訴瀏覽器不再保存之前被創(chuàng)建的那個url了。 在revokeObjectURL(objectURL)之后,再次使用該url,會報錯,因為該url已經(jīng)被銷毀,無法使用了。

window.URL.revokeObjectURL(objectURL);

objectURL
A DOMString representing a object URL that was previously created by calling createObjectURL().

return 
ubdefined

https://developer.mozilla.org...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/101874.html

相關文章

  • 關于前端實現(xiàn)文件下載功能

    摘要:問題以上兩種方式,當在下載格式,或者視頻文件時,瀏覽器會直接播放該文件,而達不到直接下載的功能,此時,當下載音視頻文件時無法使用以上兩種方式。 1、通過window.open()打開新頁面下載文件 window.open(`url`, _self) 使用場景:下載excel文件,后端提供接口,接口返回的是文件流,可以直接使用window.open(),最簡單的方式。 優(yōu)點:最簡潔; 弊...

    Arno 評論0 收藏0
  • 文件下載那點事

    摘要:不過這種方式有問題,目前查到的大部分過程都是會在服務器新建出一個文件,等下載完畢在做刪除,還沒有找到可以跨過這一步的方式。 showImg(https://segmentfault.com/img/remote/1460000018850368); Content-Disposition / Content-Type Content-Disposition http 頭部的 Conte...

    PascalXie 評論0 收藏0
  • JS基礎篇--搞清Image加載事件(onload)、加載狀態(tài)(complete)后,實現(xiàn)圖片本地

    摘要:與介紹只是對象的一個屬性,可以判斷圖片加載完成,不管圖片是不是有緩存而則是這個對象的事件回調(diào),當圖片加載完成后執(zhí)行綁定的函數(shù)。第三次點擊,谷歌瀏覽器結(jié)果為瀏覽器結(jié)果為。例打印結(jié)果第一次點擊,谷歌瀏覽器結(jié)果為瀏覽器結(jié)果為空。 onload與complete介紹 complete只是HTMLImageElement對象的一個屬性,可以判斷圖片加載完成,不管圖片是不是有緩存;而onload則...

    callmewhy 評論0 收藏0
  • 如何用 JavaScript 下載文件

    摘要:然而事實上下載的的確確發(fā)生了,只是要等到下載完文件之后才能構(gòu)建對象,再轉(zhuǎn)化成文件。權(quán)限校驗有些時候,我們需要對下載做一些限制,最常見的就是權(quán)限校驗了,如檢查該用戶是否有下載的權(quán)限,是否有高速下載的權(quán)限等等。 簡介 我們知道,下載文件是一個非常常見的需求,但由于瀏覽器的安全策略的限制,我們通常只能通過一個額外的頁面,訪問某個文件的 url 來實現(xiàn)下載功能,但是這種用戶體驗非常不好。幸好,...

    Scliang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<