Limited availability
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
ãã§ã³ã¹ãã¬ã¼ã API 㯠<fencedframe>
è¦ç´ ã«åãè¾¼ã¾ããã³ã³ãã³ããå¶å¾¡ããæ©è½ãæä¾ãã¾ãã
ã¦ã§ãã«ããããã©ã¤ãã·ã¼ã¨ã»ãã¥ãªãã£ã®åé¡ã®å¤§ããªåå ã®ä¸ã¤ã¯ã <iframe>
è¦ç´ ã«åãè¾¼ã¾ããã³ã³ãã³ãã§ããéå»ã«ã¯ã <iframe>
ã¯ãµã¼ããã¼ãã£ã¯ããã¼ãè¨å®ããããã«ä½¿ç¨ããã¦ãã¾ããããµã¼ããã¼ãã£ã¯ããã¼ã¯ããµã¤ãéã§æ
å ±ãå
±æãããã¦ã¼ã¶ã¼ã追跡ãããããããã«ä½¿ç¨ãããã¨ãã§ãã¾ããã¾ãã <iframe>
ã«åãè¾¼ã¾ããã³ã³ãã³ãã¯ãåãè¾¼ã¿ææ¸ã¨éä¿¡ãããã¨ãã§ãã¾ãï¼ä¾ãã°ã Window.postMessage()
ã使ç¨ãã¾ãï¼ã
åãè¾¼ã¿å
ã®ææ¸ã¯ãã¹ã¯ãªããã使ç¨ã㦠<iframe>
ããæ§ã
ãªæ
å ±ãèªã¿åããã¨ãã§ãã¾ããä¾ãã°ãåãè¾¼ã¾ãã URL ã URL 弿°ãå«ãã§ããå ´åã src
ããããã£ãã URL ãèªã¿åããã¨ã§ãéè¦ãªãã©ããã³ã°/ãã£ã³ã¬ã¼ããªã³ãã®ãã¼ã¿ãåå¾ã§ããå¯è½æ§ãããã¾ãã <iframe>
ã¯åãè¾¼ã¿ã³ã³ããã¹ãã® DOM ã«ãã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
ã»ã¨ãã©ã®ç¾è¡ãã©ã¦ã¶ã¼ã¯ãã¯ããã¼ã®ãã¼ã¿ã追跡ã®ããã«ä½¿ç¨ã§ããªããªãããã«ã¹ãã¬ã¼ã¸ãåå²ããä»çµã¿ã«åãçµãã§ãã¾ãï¼ä¾ãã°ã Cookies Having Independent Partitioned State (CHIPS) ã Firefox State Partitioning ãåç §ãã¦ãã ããï¼ã
<fencedframe>
è¦ç´ ã¯ããã®ããºã«ã®ããä¸ã¤ã®ãã¼ã¹ã解決ãããã¨ãç®æãã¦ãã¾ããå½¢ç¶ã¨æ©è½ã«ããã¦ã <iframe>
ã¨ã¨ã¦ãããä¼¼ã¦ãã¾ãã
<fencedframe>
ã³ã³ãã³ãã¨ãããåãè¾¼ããµã¤ãã®éã§éä¿¡ãå
±æãããã¨ã¯ã§ãã¾ããã<fencedframe>
ã¯ãµã¤ããã¾ããã ãã¼ã¿ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãããããã¯ã¦ã¼ã¶ã¼ã®ãã©ã¤ãã·ã¼ãå®ããã¨ã¦ãç¹æ®ãªè¨å®ããã¦å¶å¾¡ããå ´åã«éããã¾ãã<fencedframe>
ã¯èªç±ã«æä½ããããé常ã®ã¹ã¯ãªããï¼ä¾ãã°ã½ã¼ã¹ URL ãèªã¿è¾¼ãã ãè¨å®ãããï¼ã§ãã¼ã¿ã«ã¢ã¯ã»ã¹ããããããã¨ã¯ã§ãã¾ããã <fencedframe>
ã®ã³ã³ãã³ãã¯ãåºæã® API ãä»ãã¦ã®ã¿åãè¾¼ããã¨ãã§ãã¾ãã<fencedframe>
ã¯åãè¾¼ã¿ã³ã³ããã¹ãã® DOM ã«ã¢ã¯ã»ã¹ãããã¨ã¯ã§ãã¾ããããåãè¾¼ã¿ã³ã³ããã¹ãã <fencedframe>
ã® DOM ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ããã<fencedframe>
ã¯ä»ã® API ã«ãã£ã¦ãæ§ã
ãªç¨®é¡ã®å¥ãµã¤ãã®ã³ã³ãã³ããåãè¾¼ãã ãããã¼ã¿ãåéãããããããã«ç¨ãããããã©ã¤ãã·ã¼ãä¿è·ããæ¹æ³ã§ç°ãªãç¨éãæºããã¾ãããããã®ã»ã¨ãã©ã¯ãååã¾ã§ã¯ãµã¼ããã¼ãã£ã¼ã®ã¯ããã¼ãããã©ã¤ãã·ã¼ã«ã¨ã£ã¦å¥½ã¾ãããªãä»ã®ã¡ã«ããºã ã«é ¼ã£ã¦ãã¾ããã
<fencedframe>
å
ã§è¨ç®ãçµæã®è¡¨ç¤ºããããã¨ãæä¾ãã¾ããä¾ãã°ï¼
<fencedframe>
ã«è¡¨ç¤ºãããã¨ãã§ãã¾ãã<fencedframe>
ãããã¼ã¿ãåéããéè¨ã¬ãã¼ãã使ãããã¨ãã§ãã¾ãã<fencedframe>
ã¯ã©ã®ããã«åä½ããã®ã
åè¿°ã®éãã <fencedframe>
ã«åãè¾¼ã¾ããã³ã³ãã³ããé常ã®ã¹ã¯ãªããã§ç´æ¥å¶å¾¡ãããã¨ã¯ã§ãã¾ããã
ã©ã®ã³ã³ãã³ãã <fencedframe>
ã«è¡¨ç¤ºãããããè¨å®ããã«ã¯ã API ï¼Protected Audienceãå
±æã¹ãã¬ã¼ã¸ãªã©ï¼ãå©ç¨ã㦠FencedFrameConfig
ãªãã¸ã§ã¯ããçæãã JavaScript ã§ <fencedframe>
ã® HTMLFencedFrameElement.config
ããããã£ã®å¤ã¨ãã¦è¨å®ãã¾ãã
次ã®ä¾ã¯ã Protected Audience API ã®åºåãªã¼ã¯ã·ã§ã³ãã FencedFrameConfig
ãåå¾ããããã使ç¨ãã¦è½æããåºåã <fencedframe>
ã«è¡¨ç¤ºãã¾ãã
const frameConfig = await navigator.runAdAuction({
// ...auction configuration
resolveToConfig: true,
});
const frame = document.createElement("fencedframe");
frame.config = frameConfig;
FencedFrameConfig
ãªãã¸ã§ã¯ããå¾ãã«ã¯ã resolveToConfig: true
ã runAdAuction()
ã«æ¸¡ãå¿
è¦ãããã¾ãã resolveToConfig
ã false
ã«è¨å®ããã¦ããã¨ãè¿ããã Promise
ã¯ä¸éé㪠URN ï¼urn:uuid:c36973b5-e5d9-de59-e4c4-364f137b3c7a
ãªã©ï¼ã«è§£æ±ºãããã㯠<iframe>
å
ã§ã®ã¿ä½¿ç¨ãããã¨ãã§ãã¾ãã
ã©ã¡ãã®æ¹æ³ã§ãããã©ã¦ã¶ã¼ã¯åãè¾¼ãã³ã³ãã³ãã®ã¿ã¼ã²ããä½ç½®ãå«ã URL ãæ ¼ç´ãã¾ããä¸éæãª URNãã¾ã㯠FencedFrameConfig
å
é¨ã® url
ããããã£ã«å²ãå½ã¦ããããã®ã§ããåãè¾¼ã¿ã³ã³ããã¹ãã§å®è¡ãã JavaScript ã§ã¯ã URL ã®å¤ãèªã¿åããã¨ã¯ã§ãã¾ããã
ã¡ã¢: ãã©ã¤ãã·ã¼ãµã³ãããã¯ã¹ API ã¸ã®æ¢åã®å®è£
ã®ç§»è¡ã容æã«ããããã«ã<iframe>
ã®ä¸éæãª URN ã«å¯¾å¿ãã¦ãã¾ãããã®å¯¾å¿ã¯ä¸æçãªãã®ã§ãããã¨ãæå³ãã¦ãããæ¡ç¨ãé²ãã«ã¤ãã¦å°æ¥çã«é¤å»ãããäºå®ã§ãã
ã¡ã¢: FencedFrameConfig
ã«ã¯ setSharedStorageContext()
ã¡ã½ããããããåãè¾¼ã¿ææ¸å
ã®ãã¼ã¿ã <fencedframe>
ã®å
±æã¹ãã¬ã¼ã¸ã«æ¸¡ãããã«ä½¿ç¨ãã¾ããä¾ãã°ã Worklet
ã§ <fencedframe>
ãçµç±ãã¦ã¢ã¯ã»ã¹ããã¬ãã¼ãã使ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã詳ããã¯å
±æã¹ãã¬ã¼ã¸ API ãåç
§ãã¦ãã ããã
Fence
ãªãã¸ã§ã¯ãã«ããããã§ã³ã¹ãã¬ã¼ã æã®ã¸ã®ã¢ã¯ã»ã¹
<fencedframe>
ã«åãè¾¼ã¾ããææ¸å
ã§ã¯ã JavaScript 㯠Window.fence
ããããã£ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãããã®ææ¸ã® Fence
ã¤ã³ã¹ã¿ã³ã¹ãè¿ãã¾ãããã®ãªãã¸ã§ã¯ãã«ã¯ãç¹ã«ãã§ã³ã¹ãã¬ã¼ã API ã®æ©è½ã«é¢é£ããããã¤ãã®é¢æ°ãæ ¼ç´ããã¦ãã¾ãã ä¾ãã°ã Fence.reportEvent()
ã¯ãåºåã®è¡¨ç¤ºãã¯ãªãã¯ãå ±åããããã«ã 1 ã¤ä»¥ä¸ã®æå®ãã URL ã¸ã®ãã¼ã³ã³ãä»ããã¬ãã¼ããã¼ã¿ã®éä¿¡ãçºçãããæ¹æ³ãæä¾ãã¾ãã
<fencedframes>
ã§ä½¿ç¨ããããã«è¨è¨ãããåºæã®æ©è½ã ããããã®ãã¬ã¼ã ã«è¨å®ããæ¨©éããªã·ã¼ã«ãã£ã¦æå¹ã«ã§ãã¾ãã詳細ã¯ãã§ã³ã¹ãã¬ã¼ã ã§å©ç¨ã§ããæ¨©éããªã·ã¼ãåç
§ãã¦ãã ããã
Sec-Fetch-Dest
ãããã¼ã« fencedframe
ã®å¤ãããã¨ã <fencedframe>
å
ã«åãè¾¼ã¾ããå <iframe>
ãå«ãã<fencedframe>
å
ããã®ãªã¯ã¨ã¹ãã«è¨å®ããã¾ãã
Sec-Fetch-Dest: fencedframe
ãµã¼ãã¼ã¯ <fencedframe>
ã«èªã¿è¾¼ã¾ãããã¨ãæå³ãã¦ããææ¸ãã¾ã㯠<fencedframe>
å
ã«åãè¾¼ã¾ãã <iframe>
ã«å¯¾ã㦠fenced-frame
ã¨ããå¤ãæã¤ Supports-Loading-Mode
ã¬ã¹ãã³ã¹ãããã¼ãè¨å®ããªããã°ãªãã¾ããã
Supports-Loading-Mode: fenced-frame
ä»ã«ã HTTP ãããã¼ã«å¯¾ãããã§ã³ã¹ãã¬ã¼ã ã®å¹æã¯ä»¥ä¸ã®éãã§ãã
Cross-Origin-Opener-Policy
è¨å®ã¯ããã§ã³ã¹ã§å²ã¾ãããã¬ã¼ã å
ããéãããã®æ°ããé²è¦§ã³ã³ããã¹ãã«å¯¾ãã¦å¼·å¶ããã¾ãããã§ã³ã¹ããããã¬ã¼ã ã®ä¸ããéãããæ°ããã¦ã£ã³ãã¦ã¯ rel="noopener"
㨠Cross-Origin-Opener-Policy: same-origin
ãä¿æãã Window.opener
ã null
ãè¿ããèªåèªèº«ã®é²è¦§ã³ã³ããã¹ãã°ã«ã¼ãã«ç½®ãããããã«ãã¾ããContent-Security-Policy: fenced-frame-src
ã <fencedframe>
è¦ç´ ã«èªã¿è¾¼ã¾ããå
¥ãåãã©ã¦ãºã³ã³ããã¹ãã®æå¹ãªã½ã¼ã¹ãæå®ããããã«è¿½å ããã¾ãããContent-Security-Policy: sandbox
ã«ã¹ã¿ã è¨å®ã¯ããã©ã¤ãã·ã¼ã®èª²é¡ã軽æ¸ããããã«ããã§ã³ã¹ãã¬ã¼ã ã«ç¶æ¿ãããã¨ãã§ãã¾ããããã§ã³ã¹ããããã¬ã¼ã ãèªã¿è¾¼ãã«ã¯ã sandbox
CSP ãæå®ããªããï¼ä¸è¨å¤ãæå³ãã¾ãï¼ã以ä¸ã®ãµã³ãããã¯ã¹å¤ãæå®ããå¿
è¦ãããã¾ãï¼
allow-same-origin
allow-forms
allow-scripts
allow-popups
allow-popups-to-escape-sandbox
allow-top-navigation-by-user-activation
beforeunload
ããã³ unload
ã¤ãã³ã
beforeunload
㨠unload
ã¤ãã³ãã¯ããã¼ã¸åé¤ã®ã¿ã¤ã ã¹ã¿ã³ãã¨ããå½¢ã§æ
å ±ãæ¼ããå¯è½æ§ããããããæµã§å²ã¾ãããã¬ã¼ã ã§ã¯çºè¡ãã¾ãããå®è£
ã§ã¯ãå¯è½ãªéãå¤ãã®æ
å ±æ¼ããããªãããã¨ãç®æãã¦ãã¾ãã
FencedFrameConfig
<fencedframe>
ã®ããã²ã¼ã·ã§ã³ã表ãã¾ããã¤ã¾ããä½ãã³ã³ãã³ãã表示ããã¾ãã FencedFrameConfig
㯠Protected Audience API ãªã©ã®ã½ã¼ã¹ããè¿ããã HTMLFencedFrameElement.config
ã®å¤ã¨ãã¦è¨å®ãã¾ãã
Fence
ãã§ã³ã¹ãã¬ã¼ã ã®æ©è½ã«é¢é£ããããã¤ãã®é¢æ°ãæ ¼ç´ãã¾ãã <fencedframe>
å
ã«åãè¾¼ã¾ããææ¸ã«ã®ã¿å©ç¨ã§ãã¾ãã
HTMLFencedFrameElement
JavaScript ã§ <fencedframe>
è¦ç´ ã表ãããããè¨å®ããããããã£ãæä¾ãã¾ãã
Navigator.deprecatedReplaceInURN()
æå®ãããæååããæå®ãããä¸éæãª URN ã¾ã㯠FencedFrameConfig
ã®å
é¨ãããã㣠url
ã«å²ãå½ã¦ããã URL å
ã«ä»£å
¥ãã¾ãã
Window.fence
ç¾å¨ã®ææ¸ã³ã³ããã¹ãã® Fence
ãªãã¸ã§ã¯ãã¤ã³ã¹ã¿ã³ã¹ãè¿ãã¾ãã <fencedframe>
å
ã«åãè¾¼ã¾ããææ¸ã§ã®ã¿å©ç¨ã§ãã¾ãã
Navigator.runAdAuction()
ãªã©ã® FencedFrameConfig
ã使ããä¸é¨ã® API æ©è½ï¼Protected Audience APIï¼ã WindowSharedStorage. selectURL()
ï¼å
±æã¹ãã¬ã¼ã¸ APIï¼ãä»ã«ã Fence.reportEvent()
ã®ãããªæ©è½ã¯ããã©ã¤ãã·ã¼ãµã³ãããã¯ã¹ç»é²ããã»ã¹ã«ã¦ã§ããµã¤ããç»é²ããããè¦æ±ããã¾ãããããè¡ããªãã¨ã API å¼ã³åºãã¯ã³ã³ã½ã¼ã«ã®è¦åã¨ã¨ãã«å¤±æãã¾ãã
ã¡ã¢: Chrome ã§ã¯ãç»é²ããªãã¦ããã¬ã¼ã ã³ã¼ãããã¼ã«ã«ã§ãã¹ããããã¨ãã§ãã¾ãããã¼ã«ã«ãã¹ãã許å¯ããã«ã¯ã以ä¸ã® Chrome éçºè ãã©ã°ãæå¹ã«ãã¦ãã ããã
chrome://flags/#privacy-sandbox-enrollment-overrides
以ä¸ã®ãã¢ã¯ãã¹ã¦ <fencedframe>
ã使ç¨ãã¦ãã¾ãã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4