<fencedframe>ï¼åæ¬é æ¡å ç´
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
坦驿§è³ª: 鿝ä¸å實é©ä¸çåè½
æ¤åè½å¨æäºç覽å¨å°å¨éç¼ä¸ï¼è«åèå
¼å®¹è¡¨æ ¼ä»¥å¾å°ä¸åç覽å¨ç¨çåè¼ã
<fencedframe> HTML å
ç´ ä»£è¡¨äºä¸åå·¢ççç覽ä¸ä¸æï¼å°å¦ä¸å HTML é é¢åµå
¥å°ç¶åé é¢ä¸ã<fencedframe> å¨å½¢å¼ååè½ä¸è <iframe> å
ç´ é常ç¸ä¼¼ï¼ä¸åä¹è卿¼ï¼
<fencedframe>å §å®¹åå ¶åµå ¥ç«é»ä¹éçéä¿¡åéã<fencedframe>å¯ä»¥è¨ªåè·¨ç«é»æ¸æï¼ä½åªæå¨ä¸åé常ç¹å®çä¸çµåæ§æ æ³ä¸æè½ä¿è·ç¨æ¶é±ç§ã<fencedframe>ç¡æ³éé常è¦è ³æ¬ï¼ä¾å¦è®åæè¨ç½®æº URLï¼ä¾ææ§æè¨ªåå ¶æ¸æã<fencedframe>å §å®¹åªè½ééç¹å®ç API ä¾åµå ¥ã<fencedframe>ç¡æ³è¨ªååµå ¥ä¸ä¸æç DOMï¼åµå ¥ä¸ä¸æä¹ç¡æ³è¨ªå<fencedframe>ç DOMã
<fencedframe> å
ç´ æ¯ä¸ç¨®å
·ææ´å¤æ¬å°é±ç§åè½ç <iframe>ãå®è§£æ±ºäº <iframe> çä¸äºç¼ºé·ï¼ä¾å¦å°ç¬¬ä¸æ¹ cookie çä¾è³´åå
¶ä»é±ç§é¢¨éªã詳細信æ¯è«åè¦ Fenced frame APIã
屬æ§
該å ç´ å æ¬å ¨å屬æ§ã
allow-
çº
<fencedframe>æå®ä¸åæ¬éçç¥ï¼è©²çç¥åºæ¼è«æ±çåå§ä½ç½®å®ç¾©äºåªäºåè½å°<fencedframe>å¯ç¨ãæéå¯ä»¥ééè¨ç½®å¨åæ¬é æ¡ä¸ççç¥ä¾æ§å¶åªäºåè½çæ´å¤è©³ç´°ä¿¡æ¯ï¼è«åè¦å¯ç¨æ¼åæ¬é æ¡æ¬éçç¥ã height-
ä¸åç¡å®ä½çæ´æ¸ï¼è¡¨ç¤ºåæ¬é æ¡çé«åº¦ï¼ä»¥ CSS åç´ çºå®ä½ãé»èªå¼çº
150ã width-
ä¸åç¡å®ä½çæ´æ¸ï¼è¡¨ç¤ºåæ¬é æ¡ç寬度ï¼ä»¥ CSS åç´ çºå®ä½ãé»èªå¼çº
300ã
å¯ç¨æ¼åæ¬é æ¡æ¬éçç¥
å¾é 層ä¸ä¸æå§æ´¾çµ¦åæ¬é æ¡çå
許åæçµåè½çæ¬éçç¥å¯ä»¥ç¨ä½éä¿¡ééï¼å æ¤æ§æä¸ç¨®é±ç§å¨è
ãå æ¤ï¼æ¨æº Web åè½å¯ä»¥é鿬éçç¥ï¼ä¾å¦ camera æ geolocationï¼æ§å¶å
¶å¯ç¨æ§çä¸å¯ç¨å¨åæ¬é æ¡å
§ã
å¯ä»¥ééçç¥å¨åæ¬é æ¡å §åç¨çå¯ä¸åè½æ¯å°çºå¨åæ¬é æ¡å §ä½¿ç¨èè¨è¨çç¹å®åè½ï¼
- åä¿è·çåç¾ API
attribution-reportingprivate-aggregationshared-storageshared-storage-select-url
- å
±äº«åå² API
attribution-reportingprivate-aggregationshared-storageshared-storage-select-url
ç®åï¼å¨åæ¬é æ¡å
§å§çµåç¨éäºåè½ãå°ä¾ï¼åªäºåè½è¢«åç¨å°å¯ä»¥ä½¿ç¨ <fencedframe> ç allow 屬æ§ä¾æ§å¶ãééé種æ¹å¼é»æ¢é±ç§æ²ç®±åè½éå°é»æ¢åæ¬é æ¡å è¼ââå®å
¨æ²æéä¿¡ééã
è·¨è¶åæ¬é æ¡éçé²è¡å°ç¦
å°æä»¶çæ´»åç¦é»å¾åæ¬é æ¡éçï¼å³å¾æ¡æ¡å¤çå ç´ å°å §é¨å ç´ ï¼æåä¹ï¼ç§»åçè½ååå°éå¶ãç¨æ¶ååçæä½ï¼å¦å®ææåæï¼å¯ä»¥é樣åï¼å çºé£è£¡æ²ææç´èå¥é¢¨éªã
ç¶èï¼è©¦åéé API 調ç¨ï¼ä¾å¦ HTMLElement.focus()ï¼æ¯è¢«ç¦æ¢çââæ¡æè
³æ¬å¯ä»¥ä½¿ç¨ä¸ç³»å鿍£ç調ç¨ä¾è·¨è¶éçæ´©é²æ¨æ·çä¿¡æ¯ã
å®ä½å縮æ¾
ä½çºå¯ç½®æå
ç´ ï¼<fencedframe> å
è¨±ä½¿ç¨ object-position 屬æ§èª¿æ´åµå
¥æä»¶å¨å
¶æ¡å
§çä½ç½®ã
å註ï¼object-fit 屬æ§å° <fencedframe> å
ç´ æ²æå½±é¿ã
åµå
¥å
§å®¹ç大å°å¯ä»¥ç± <fencedframe> ç config ç©ä»¶çå
§é¨ contentWidth å contentHeight 屬æ§è¨ç½®ãå¨é種æ
æ³ä¸ï¼æ¹è® <fencedframe> ç width æ height å°æ¹è®é é¢ä¸åµå
¥å®¹å¨ç大å°ï¼ä½å®¹å¨å
§é¨çæä»¶å°è¢«è¦è¦ºç¸®æ¾ä»¥é©æãåµå
¥æä»¶çå ±å寬度åé«åº¦ï¼å³ Window.innerWidth å Window.innerHeightï¼å°ä¿æä¸è®ã
ç¡éç¤
使ç¨è¼å©æè¡ï¼å¦è¢å¹é±è®å¨ç人ï¼å¯ä»¥ä½¿ç¨ <fencedframe> ç title 屬æ§ä¾æ¨è¨å
¶å
§å®¹ãæ¨é¡çå¼æè©²ç°¡è¦æè¿°åµå
¥çå
§å®¹ï¼
<fencedframe
title="Advertisement for new Log. From Blammo!"
width="640"
height="320"></fencedframe>
å¦ææ²ææ¤æ¨é¡ï¼ä»åå¿
é é²å
¥ <fencedframe> æè½ç¢ºå®å
¶åµå
¥çå
§å®¹ãé種ä¸ä¸æè½æå¯è½æä»¤äººå°æåèæï¼ç¹å¥æ¯å°æ¼å
å«å¤å <fencedframe> çé é¢åï¼æåµå
¥å
å«äºåå
§å®¹ï¼å¦è¦è¨æé³è¨ï¼çæ
æ³ã
ç¯ä¾
è¦è¨ç½® <fencedframe> ä¸é¡¯ç¤ºçå
§å®¹ï¼éè¦ä½¿ç¨ APIï¼ä¾å¦åä¿è·çåç¾æå
±äº«åå²ï¼çæä¸å FencedFrameConfig ç©ä»¶ï¼ç¶å¾å°å
¶è¨ç½®çº <fencedframe> ç config 屬æ§çå¼ã
以ä¸ç¯ä¾å¾åä¿è·çåç¾ API ç廣åæè³£ä¸ç²åäºä¸å FencedFrameConfigï¼ç¶å¾å°å
¶ç¨æ¼å¨ <fencedframe> ä¸é¡¯ç¤ºç²åç廣åï¼
<fencedframe width="640" height="320"></fencedframe>
const frameConfig = await navigator.runAdAuction({
// â¦â¦auction é
ç½®
resolveToConfig: true,
});
const frame = document.querySelector("fencedframe");
frame.config = frameConfig;
æè¡æè¦
| å §å®¹é¡å | æµå §å®¹ã段è½åå §å®¹ãåµå ¥åå §å®¹ãäºååå §å®¹ãæ«åå §å®¹ã |
|---|---|
| å 許çå §å®¹ | ç¡ã |
| æ¨ç±¤çç¥ | ä¸å 許ï¼éå§åçµææ¨ç±¤é½æ¯å¿ é çã |
| å 許çç¶å ç´ | 任使¥ååµå ¥åå §å®¹çå ç´ ã |
| é±å«ç ARIA è§è² | æ²æç¸å°æçè§è² |
| å 許ç ARIA è§è² |
applicationãdocumentãimgãnoneãpresentation
|
| DOM ä»é¢ | HTMLFencedFrameElement |
è¦ç¯
| Specification |
|---|
| Fenced Frame > # the-fencedframe-element > |
ç覽å¨ç¸å®¹æ§
åè¦
- åæ¬é æ¡ API
- å¨ privacysandbox.google.com ä¸çåæ¬é æ¡
- å¨ privacysandbox.google.com ä¸çé±ç§æ²ç®±