@前端

動態 列表
@kinglisky

JSON-RPC & postMessage 談談瀏覽器消息通信的封裝技巧

楔子 postMessage 常見於內嵌 iframe 或是 Web Workers 中,用於跨頁面(線程) 的消息通信,在一些其他開發環境中也能看到類似的影子,如 Chrome 插件環境、Electron 環境、figma 插件等。 最近的工作需要經常與 iframe 與 Web Workers 打交道,處理頁面與內嵌頁、主線程與 worker 通信,擼了個用於處理瀏覽器消息通信的處理的工具庫

kinglisky 頭像

@kinglisky

昵稱 臼犀

@steven_code

窗口間通信方案——postMessage

postMessage 是 html5 引入的 API,postMessage 方法允許來自不同源的腳本採用異步方式進行通信,其實同源不同頁面的腳本也可以採用 postMessage 方法進行通信。 介紹 發送數據 需要在接收數據窗口的全局對象下調用該方法。 targetWindow.postMessage(message, targetOrigin, [transfer]) targetWi

steven_code 頭像

@steven_code

昵稱 Steven

@mosquito_612af76da10ff

iframe跨域的幾種常用方法

在開發日常中,會遇到使用iframe嵌套其他頁面,想要與嵌套頁面進行交互,常常會涉及到跨域問題,何為跨域?這涉及到同源策略,即協議、端口、域名相同則為同源 違反了同源策略就會出現跨域問題,主要表現為以下三方面: 1.無法讀取cookie、localStorage、indexDB 2.DOM無法獲得 3.ajax請求無法發送 解決方法 一、設置domain 前提條件:這兩個域名必須

@zxl20070701

postMessage

此方法可以用於實現跨源通信等,我們來演示如何實現在兩個窗口之間進行通信。 假設我們現在有兩個頁面:page1.html和page2.html, 他們的關係是通過iframe關聯起來的,就像這樣(下面是page1.html的內容): iframe id="receiver" src="./page2.html" width="300" height="100"/iframe 為了實現通信,首先你需要

zxl20070701 頭像

@zxl20070701

昵稱 zxl20070701

@jhcan333

前端 socket.io 跨域

在使用Socket.io進行前端跨域通信時,可以通過設置Socket.io的cors選項來允許跨域請求。 以下是一個簡單的例子,展示瞭如何在Node.js的服務器代碼中配置Socket.io以允許跨域連接: const express = require('express'); const http = require('http'); const socketIO = require('s

jhcan333 頭像

@jhcan333

昵稱 JHCan333

@mosong

VitePress、Hexo、Docusaurus,哪個最適合你的靜態網站?

在選擇合適的靜態網站工具時,Hexo、VitePress、Docusaurus 是三個備受關注的選項,那麼到底哪一個框架更適合你呢? 本文從使用場景、社區生態、功能、性能、擴展性這五個方面,幫你全方位分析各個框架的優缺點,以便為你的技術選型提供參考。 1、應用場景 Hexo, 官方定位自己是 "快速、簡潔且高效的博客框架" , 但是它同樣適合構建簡單的文檔網站,它具有簡單易用的特點,適合那些

mosong 頭像

@mosong

昵稱 墨鬆

@obkoro1

160行代碼仿Vue實現極簡雙向綁定[詳細註釋]

前言 現在的前端面試不管你用的什麼框架,總會問你這個框架的雙向綁定機制,有的甚至要求你現場實現一個雙向綁定出來,那對於沒有好好研究過這方面知識的同學來説,當然是很難的,接下來本文用160行代碼帶你實現一個極簡的雙向綁定機制。如果喜歡的話可以點波贊/關注,支持一下,希望大家看完本文可以有所收穫。 本文是在面試題:你能寫一個Vue的雙向數據綁定嗎?的基礎上仔細研究+改動,並添加了詳細註釋,而成的。

obkoro1 頭像

@obkoro1

昵稱 OBKoro1

@biubiu_5deda9568bbf1

js實現數據單向綁定

如果你在學習一種前端框架,如vue、angular等,那麼你一定不會對數據的單向綁定陌生。 何為數據的單向綁定? 傳統開發模式下,如使用jQuery開發,我們想將一個變量顯示到html中,首先要定義一個變量name,然後通過jq代碼操作dom將變量放到HTML中,如果name發生修改,還要再次通過jq代碼操作dom將新的變量值放到HTML中。這就是傳統的MVC框架,其中的Model和View是我們

biubiu_5deda9568bbf1 頭像

@biubiu_5deda9568bbf1

昵稱 巴斯光年

@biubiu_5deda9568bbf1

js實現數據雙向綁定

接上一篇文章《js實現數據單向綁定》 上篇文章中用原生js實現了數據的單向綁定。本篇文章繼續介紹如何用js實現數據的雙向綁定。綁定的方式模仿vue中的v-model指令。 創建標籤 div id="div1" input type="text" v-model="name" br 姓名:{{name}} /div 創建一個輸入框,使用v-model屬性綁定變量name,注意這裏只是模

biubiu_5deda9568bbf1 頭像

@biubiu_5deda9568bbf1

昵稱 巴斯光年

@jdcdevloper

“前端”工匠系列(一):合格的工匠,究竟該搞什麼 | 京東雲技術團隊

作者:京東零售劉偉東 此文為系列文章第一篇,為淺嘗輒止的引入,目的是為了讓前端從業人員及非從業但是對此領域感興趣的人對於”前端“是幹什麼的這個話題有個無門檻的瞭解。 “前端職能是什麼” 説起"前端",維基百科對這個技術角色的定位是“前端(英語:front-end)和後端(英語:back-end)是描述進程開始和結束的通用詞彙。 前端作用於採集輸入信息,後端進行處理。 計算機程序的界面樣式,視

jdcdevloper 頭像

@jdcdevloper

昵稱 京東雲開發者

@emma_5aa5f6ff6ec8d

你知道h.265吧?但關於AV1編碼格式你也來了解一下嗎?

介紹一下av1格式 AV1(AOMedia Video 1)是一種開放、免版税的視頻編碼格式,旨在用於視頻傳輸和存儲。它由開放媒體聯盟(Alliance for Open Media, AOM)開發,這是一個由Google、Mozilla、Cisco、Amazon、Intel、Microsoft、Netflix等多家公司組成的聯盟。AV1旨在取代VP9併成為與HEVC(H.265)競爭的主要視頻編

emma_5aa5f6ff6ec8d 頭像

@emma_5aa5f6ff6ec8d

昵稱 cybozu開發者聯盟

@fenanjiu

深入理解Base64編碼原理

前言 上篇文章有涉及到Base64編碼的內容,今天我們再來詳細瞭解一下Base64的編碼原理以及應用場景。 通過這篇文章你能夠學習到: 什麼是Base64,為什麼需要Base64? Base64的編碼原理 Base64的應用場景 什麼是Base64? Base64是一種用於傳輸8bit字節數據的編碼方式,Base64 的字符集包含 64 個字符(A-Z、a-z、0-9、+、/)以及補

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@sugar_coffee

es5/es6中新增的方法

ES5中的新增方法 ES5 中給我們新增了一些方法,可以很方便的操作數組或者字符串,這些方法主要包括: 數組方法 字符串方法 對象方法 1.1 數組方法 迭代(遍歷)方法:forEach()、map()、filter()、some()、every(); array.forEach(function(currentValue, index, arr)) 讓數組中每個元素都執行一次 fn

sugar_coffee 頭像

@sugar_coffee

昵稱 sugar_coffee

@xiaohuaihuai_5e74ba460d087

JS語言特性(下)

調包   即引用其他項目或者文件。   之所以需要把這個模塊單獨拎出來,是因為,一個語言能不能成氣候的其中的一個關鍵點在於能否模塊化;一個項目能否形成一個可觀的體量也離不開模塊化,簡單來説就是不同文件或項目間能否互相調用,es5和es6中都有着不同風格的引用方式,開發時要注意自己的開發環境以及語法格式 es5   有着AMD、CMD、CommonJS三種的引用方式,其中AMD(Asynchrono

@_6085362b65292

New 操作符的原理

完整高頻題庫倉庫地址:https://github.com/hzfe/awesome-interview 完整高頻題庫閲讀地址:https://febook.hzfe.org/ 相關問題 new 操作符做了什麼 new 操作符的模擬實現 回答關鍵點 構造函數 對象實例 new 操作符通過執行自定義構造函數或內置對象構造函數,生成對應的對象實例。 知識點深入 1. new 操作符做了什麼

_6085362b65292 頭像

@_6085362b65292

昵稱 HZFEStudio

@yangxiansheng_5a1b9b93a3a44

如何在uni-app使用iconfont字圖標

添加圖標 打開,https://www.iconfont.cn/ 網站,找到自己的喜歡的圖表加入到項目中 下載本地 點擊下載至本地 拷貝文件 將iconfont.css,iconfont.woff,iconfont.woff2 複製到自己的項目中, 打開iconfont.css文件,我需要去編輯框框的地方 資源轉換 uni-app 字體文件小於 40kb,uni-app 會自動將其轉化為

@hooozen

前端工程師需要知道的字體知識

隨着網頁個性化設計和品牌特色的需要,在網頁中使用特定的字體將成為越來越常見的需求。現代字體設計經歷了數十年的發展,已經積累了成熟的標準和規範,但對於許多前端開發者來説可能可能還比較陌生,本文就前端開發過程中可能遇到的字體知識做一個梳理和介紹。 博客原文:https://www.hozen.site/archives/64/ 字體基礎 字體標準 字體的設計和使用和其他任何工業設計產品一樣,需要統一的

hooozen 頭像

@hooozen

昵稱 hooozen

@nanchengfe

CSS小技巧使用 font-variation 讓文字起飛

今天逛codepen的時候發現了一個不錯的文字動畫效果,如此絲滑飄逸的效果必須得研究研究,可以看到字體粗細切換過渡效果很均勻,不像我們平常使用字體時設置 font-weight 的效果,日常設置字重的時候並不是每個值都會生效,只會有幾個區間的值是可用的,以下代碼給6個p標籤設置font-weight 從 100 到 600: @for $i from 1 through 6 { p:nth-

nanchengfe 頭像

@nanchengfe

昵稱 南城FE

@shoyuf

可能是東半球最好的 Web Font 優化方式「中文網字計劃」

中文網字計劃是收錄眾多中文字體並通過 Web Font 的形式為 網站開發者 提供美麗字體的項目。 中文網字計劃致力於在互聯網中提供更加便捷實用的全字符集中文渲染方案。中文網字計劃通過精巧設計的字體分包方式,將龐大的字體文件切割為多個小型靜態分包部署於雲端,在全網領域內都可快捷、穩定地進行加載。為提高中文字體在網絡中的流通體驗而努力! 為什麼要使用獨特的中文字體 提高藝術風格的表現力

shoyuf 頭像

@shoyuf

昵稱 shoyuf