GoForum🌐 V2EX

分享一道今天面试遇到的面试题,前端开发相关

Zhuzhuchenyan · 2026-02-25 21:52 · 0 次点赞 · 0 条回复

给定一个 host.html

<!doctype html>
<meta charset="utf-8" />
<title>host</title>

<iframe
  id="outer"
  sandbox="allow-scripts"
  src="sandbox.html"
></iframe>

其中 sandbox.html

<!doctype html>
<meta charset="utf-8" />
<title>sandbox</title>

<script>
  const inner = document.createElement('iframe');
  inner.src = 'inner.html';
  document.body.appendChild(inner);
</script>

其中 inner.html

<!doctype html>
<meta charset="utf-8" />
<title>inner</title>

<script>
    const v = localStorage.getItem('no_such_key');
    console.log('value:', v);
</script>

问:试分析localStorage.getItem('no_such_key')的行为


我的回答:这大概率会抛出一个 SecurityError ,我的映像里因为 sandbox 的缘故 iframe 里面的网页浏览器是不会指定 origin 的。没有 origin 的话大概率 localstorage, session storage, index db 这一类都不可用

Follow up

  1. iframe src 和 iframe origin 的关系
  2. sandbox 里哪个属性控制这个行为?
  3. 在 inner html 里类似 fetch(…, { credentials: “include” })请求在哪些情况会带上 cookie
0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: Zhuzhuchenyan
发布: 2026-02-25
点赞: 0
回复: 0