日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

blob html 预览_iframe和HTML5 blob实现JS,CSS,HTML直接当前页预览

發布時間:2024/10/14 HTML 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 blob html 预览_iframe和HTML5 blob实现JS,CSS,HTML直接当前页预览 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章發布于 2017年08月24日,星期四,01:09,歸類于 js實例。 閱讀 1755 次, 今日 1350 次

一、關于前端代碼效果實時預覽

前端代碼效果實時預覽的需求實際上是非常常見的,例如jsbin,codepen,runjs之類的網站就是滿足此需求的。這些站點可以方便快捷的讓我們測試一些前端屬性的作用和表現,還可以制作可編輯可分享的在線demo,遇到棘手或者不明白問題的時候,給對方一個這樣的在線demo地址是最友好的做法。

當然需求場景還不止這些,比方說我們制作一些工具,例如類似玉兔這樣的H5制作工具,就有能夠實時預覽最終效果的需求。又或者說我們寫技術文章的時候,文章里面嵌入的源代碼,希望可以直接跑起來。

傳統做法是這樣子的,會新建一個另外的獨立頁面,專門用來接收傳入的前端代碼,通過新開窗口或者嵌入iframe頁面的方式達到最終效果,其中可能會用到HTML5 postMessage等通信技術。

然而實際上,對于這個預覽效果,如果代碼是我們自己控制,而不是全權交給用戶編輯的,是沒有必要新建一個另外的預覽頁面,亦或者是在新窗口(新標簽頁)中瀏覽的。可以直接在當前頁面構建一個文檔上下文,實現更加方便快捷的預覽。

二、借助iframe和blob實現前端代碼的實時預覽

我們直接看一個例子(如果沒有效果,請前往文章原出處體驗),如下CSS和HTML代碼(純CSS實現了一個水波蕩漾的效果):

html {

height: 100vh;

}

body {

height: inherit;

background: #2e576b;

display: -ms-grid;

display: grid;

}

.container {

margin: auto;

}

.card {

position: relative;

width: 300px; height: 350px;

background: #fff;

border-radius: 2px;

box-shadow: 0 2px 15px 3px rgba(0, 0, 0, 0.08);

overflow: hidden;

}

.card::after {

content: '';

display: block;

width: 100%; height: 100%;

background: linear-gradient(to bottom, #0065a8, rgba(221, 238, 255, 0.4) 46%, rgba(255, 255, 255, 0.5));

}

.wave {

position: absolute;

top: 3%; left: 50%;

width: 400px; height: 400px;

margin-top: -200px; margin-left: -200px;

background: #0af;

border-radius: 40%;

opacity: .4;

animation: shift 3s infinite linear;

}

.wave.w2 {

background: yellow;

opacity: .1;

animation: shift 7s infinite linear;

}

.wave.w3 {

animation: shift 5s infinite linear;

background: crimson;

opacity: 0.1;

}

@-webkit-keyframes shift {

from {

transform: rotate(360deg);

}

}

@keyframes shift {

from {

transform: rotate(360deg);

}

}

點擊代碼演示區域右上角或右下角的運行按鈕,此時這段代碼的效果就干干凈凈(不受當前頁CSS,JS干擾)地在當前頁面顯示了(點擊頁面空白區域隱藏)。

點擊后頁面截圖如下:

核心原理:

此效果實現的核心原理是:

創建元素;

將CSS,HTML字符串轉換為Blob對象;

使用URL.createObjectURL()方法將Blob對象轉換為URL對象并賦予我們創建的元素的src屬性;

使用JavaScript代碼表示更加一目了然:

// 1. 創建元素

var iframe = document.createElement('iframe');

// 2. 將CSS,HTML字符串轉換為Blob對象

var blob = new Blob([htmlCode], {

'type': 'text/html'

});

// 3. 使用URL.createObjectURL()方法將...

iframe.src = URL.createObjectURL(blob);

需要注意的是,當我們使用 new Blob() 對我們的字符數據進行轉換的時候,一定要指定type為text/html,否則,HTML代碼會被自動轉移為安全的純文本顯示在元素中。

兼容性

IE瀏覽器遺憾并不支持src直接是URL對象。

所以此技術只適用于對兼容性沒有嚴格要求的一些項目。

三、結束語

其實很多效果,我們直接在結束當前頁面的window上下文預覽也沒什么,但是有一些效果就不行,例如,預覽針對響應式布局的media屏幕寬度查詢下的效果,必須是真實的窗體寬度才會觸發CSS查詢語句的執行,此時,只能在中預覽,我們只要把元素寬度設置到我們需要的大小就可以了,例如,需要預覽類似如下CSS代碼效果:

@media screen and (max-width:480px) {

img { max-width: 100%; }

}

只要設置元素寬度為480像素就可以了。

以上就是本文內容,希望能對你的項目開發有所幫助。

感謝閱讀!

本文為原創文章,會經常更新知識點以及修正一些錯誤,因此轉載請保留原出處,方便溯源,避免陳舊錯誤知識的誤導,同時有更好的閱讀體驗。

本文地址:http://www.zhangxinxu.com/wordpress/?p=6368

(本篇完)

分享到:

總結

以上是生活随笔為你收集整理的blob html 预览_iframe和HTML5 blob实现JS,CSS,HTML直接当前页预览的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 视频在线观看一区二区 | 精品人妻中文无码av在线 | 涩涩网址 | 日韩看片 | 青青草.com | 欧美一级艳片视频免费观看 | 国产在线视频一区 | 日本三级一区 | 亚洲顶级毛片 | 亚洲天堂中文在线 | 国产伦精品| 丰满少妇乱子伦精品看片 | 综合欧美亚洲 | 免费视频www在线观看网站 | 老司机伊人 | 国产精品一区2区 | 久久99精品国产麻豆91樱花 | 午夜精品久久久久久久第一页按摩 | 一区二区精品视频在线观看 | 狠狠操一区二区 | 三区在线视频 | 亚洲大尺度视频 | 国产欧美一区二区三区国产幕精品 | 日本三区视频 | 香蕉啪啪网| 一级黄色美女视频 | 亚洲欧洲一区二区三区 | 亚洲熟女综合色一区二区三区 | 午夜少妇 | 蜜桃色一区二区三区 | 亚洲精品一区二区三区四区五区 | 久久久久噜噜噜亚洲熟女综合 | 国产免费av一区二区三区 | 少妇一级淫免费观看 | 日韩欧美啪啪 | 国产91在线免费观看 | 久久这里只有精品国产 | 一区二区久久精品66国产精品 | 性色一区二区 | 免费中文字幕 | 美女av在线播放 | 日韩欧美国产激情 | 亚洲视频一区二区三区在线观看 | 一级日韩片 | 日日操日日碰 | 泽村玲子av | 国产欧美日韩中文字幕 | 91偷拍精品一区二区三区 | 在线免费观看www | 女人性高潮视频 | 全部免费毛片 | 日产电影一区二区三区 | 美女野外找人搭讪啪啪 | 德国老妇性猛交 | 成人羞羞国产免费 | 久久少妇网 | 亚洲色图久久 | sm在线观看 | 国产欧美一区二区精品性色超碰 | 涩涩在线观看 | 五月激情片| 日韩大胆人体 | 未满十八岁禁止进入 | 国产精品国产三级国产专区51 | 99国内揄拍国内精品人妻免费 | 少妇av在线播放 | 午夜国产福利在线 | 中文在线观看高清视频 | 男人深夜影院 | 久久99精品久久久久久噜噜 | 一级黄色在线播放 | 久久九九热视频 | 黄色片不卡 | 91网址在线播放 | 欧美日韩亚洲视频 | 一区二区三区在线视频播放 | 欧美精品一区二区免费看 | 香蕉成视频人app下载安装 | 成人网在线视频 | 69国产 | 国产精品1页 | 国产精品一区二区三区四区五区 | 美女扒开粉嫩的尿囗给男生桶 | 在线观看av网站 | 涩涩国产 | 在线成人小视频 | 中文字幕乱码在线人视频 | 在线免费看mv的网站入口 | 免费特级毛片 | 蜜臀国产AV天堂久久无码蜜臀 | 日韩成人免费在线观看 | 国产一区欧美一区 | 无套内谢88av免费看 | 黄色一机片| 美女131爽爽爽| 少妇又色又紧又大爽又刺激 | 欧美激情免费 | 日韩一区二区视频在线观看 | 国产精品99久久久久久大便 |