document.domain 更改后无法在 IE 中访问 about:blank iframe

2024-06-25

有谁知道创建一个about:blankIE 中页面上的 iframe 时document.domain已经改变?

IE 似乎不允许在之后访问空/动态 iframedocument.domain财产已被改变。

例如,假设您正在动态创建一个 iframe,然后向其中注入一些 html:

// Somewhere else, some 3rd party code changes the domain 
// from something.foo.com to foo.com 
document.domain = 'jshell.net';

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

// In IE, we can't access the iframe's contentWindow! Access is denied.
iframe.contentWindow.document.body.style.backgroundColor = 'red';

这是 jsfiddle 上的一个实例:http://jsfiddle.net/XHkUT/ http://jsfiddle.net/XHkUT/

您会注意到它在 FF/Webkit 中运行良好,但在 IE 中则不然。这特别令人沮丧,因为这会影响创建的 iframeafter the document.domain属性已更改(如上例所示)。

IE 规则似乎是“如果您在更改后创建动态/空 iframedocument.domain,你无法访问它的 DOM。”

设置 iframesrc to about:blank javascript:void(0) or javascript:""已经不成功了。


您愿意将 iframe 的域更改为吗?以下作品(对我来说)在 IE7,9 中

document.domain = 'jshell.net';

var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.src = "javascript:document.write('<script>document.domain=\"jshell.net\"</script>')";

// Now write some content to the iframe
iframe.contentWindow.document.write('<html><body><p>Hello world</p></body></html>');

编辑:如果这是页面上的内联脚本,那么您需要拆分结束脚本</script>标记起来。看为什么分割脚本标签 https://stackoverflow.com/questions/236073/why-split-the-script-tag-when-writing-it-with-document-write

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

document.domain 更改后无法在 IE 中访问 about:blank iframe 的相关文章

  • Puppeteer - 错误:协议错误 (Network.getResponseBody):找不到具有给定标识符的资源

    我正在尝试使用此代码使用 puppeteer 从网站获取响应正文 usr bin env node require dotenv config const puppeteer require puppeteer const readline
  • 如何在 js.erb 中使用 Ruby 代码?

    我可以使用以下方式在模态中渲染部分内容escape javascript在js erb文件代码中 body append my modal modal show 但是 我似乎无法获得以下结果 console log ERB 将输出一个纯字符
  • 克隆表行

    我怎样才能使用javascript 我假设 来克隆一个表格行 就像下图所示的那样 您可以将现场活动连接到所有按钮 例如 如果您给他们一类克隆 则以下内容将起作用 input clone live click function put jqu
  • 客户端 GitHub 身份验证

    我正在使用 Javascript 对 GitHub 进行基本身份验证 例如 以下 shell 命令从 Github 获取令牌 curl i u uaername password k d scopes repo https api gith
  • 如何捕获jquery中的任何点击事件[重复]

    这个问题在这里已经有答案了 我有一个按钮 当单击它时 会显示一个带有图像的 div 例如聊天的表情符号面板 如果我再次单击它 div 会隐藏 但我想要做的是 如果 div 已经显示 然后我单击页面的任何其他内容 我想隐藏它 我试过这个 my
  • Bootstrap 页脚不在底部

    我试图强制我的页脚位于网站底部 我不希望它在滚动时粘住 只是在向下滚动网页时出现在底部 目前 网页显示时页脚位于内容下方 我添加了这样的代码bottom 0 并发现它粘住了并且不适合我的网站 我还添加了这样的代码html body heig
  • 将新数据添加到 d3 Streamgraph 时的转换

    我使用d3绘制了一个与官方示例非常相似的流图http bl ocks org mbostock 4060954 http bl ocks org mbostock 4060954 唯一的区别是我如何用新数据更新它 我不仅想要垂直 y 值 过
  • `forEach` 函数中的 `return` 关键字是什么意思? [复制]

    这个问题在这里已经有答案了 button click function 1 2 3 4 5 forEach function n if n 3 it should break out here and doesn t alert anyth
  • 设置三个输入数字的最大值

    我有三个输入数字
  • 将jQueryUI datepicker附加到div(显示位置错误)

    我在输入上使用 jQueryUI datepicker 默认情况下 jQueryUI 会附加 ui datepicker div to the body该文件的 有问题的输入位于屏幕上的 弹出 div 中 这意味着该 div 之外的任何点击
  • GraphQL 错误字段类型必须是输入类型,但得到:

    这是突变 const createNotebook mutationWithClientMutationId name CreateNotebook inputFields token type GraphQLString details
  • jQuery onclick 隐藏其父元素[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想隐藏 li tag on a 使
  • 重复 Pinterest Facebook 邀请功能

    I m trying to duplicate Pinterest s Invite Friends functionality In case you haven t seen what it looks like it looks li
  • JSF 多个视图限制

    我创建了一个 Web 应用程序 可以在主页上的 iFrame 内打开页面 每个 iFrame 都可以通过页面上的选项卡查看 并使用 JSF2 2 和 Mojarra 视图状态 bean 来填充页面 当我打开 10 个选项卡以下的内容时 效果
  • 从数组中删除空字符串,同时保持记录而不循环?

    这个问题在这里被问到 从数组中删除空字符串 同时保留非空字符串的索引记录 https stackoverflow com questions 18113243 remove empty strings from array while ke
  • Lighthouse 多个 URL

    我需要对一个网站进行全面审核 但我想知道是否有任何方法可以让 Lighthouse 做到这一点 我知道他们不支持完整的站点审核或多个 URL 但我发现可以使用 bash 脚本来完成 因此 我将不胜感激对此案的任何帮助 或者您可能会推荐任何灯
  • 如何使用javascript将数据存储在xml文件中?

    我是 javascript 新手 并在我的项目中使用它 因为我需要读取 xml 文件 然后在操作后我想将更新后的值存储回 xml 文件中 我成功从 xml 文件获取值 但无法存储值返回到 xml 文件 这是我尝试过的代码
  • 从组件刷新/重新加载 ember 路由

    我有一个组件 它实际上是一个模式对话框 当我完成该对话框并按 确定 按钮时 我想留在打开该对话框的停留页面上 这并不难 但问题是该对话框更改了数据 我通过 REST 调用获取数据 因此我需要刷新已经所在的路线以反映数据更改 因为我是从组件中
  • React cloneElement 未设置键

    我正在构建一个动态生成键的表控件 我理解这可能不是一个好主意 我想键应该与其代表的数据唯一关联 否则 React 只能为我们生成唯一的 id 但无论哪种方式似乎没有设置按键 我不知道为什么 表中的行是用可以找到的函数生成的here http
  • Promise链基本问题

    我正在尝试理解 Promise 我创建了一些有效的承诺链 而另一些则无效 我已经取得了进步 但显然缺乏基本概念 例如 以下承诺链不起作用 这是一个愚蠢的例子 但说明了问题 我正在尝试在链中使用 Node 的函数 randomBytes 两次

随机推荐

  • 为什么在 haskell 中不带括号不可能进行负数相乘

    乘法5 3在 haskell gchi 中给了我一个错误 但乘以5 3 工作正常 为什么需要括号 ghci GHCi version 7 4 1 http www haskell org ghc for help Loading packa
  • Nativescript:使用 Sidekick 传输 mp3 文件

    我正在制作一个使用 nativescript audio 的简单应用程序 我想在该应用程序中播放一些 mp3 样本 问题是 当我在 Sidekick 中单击 在设备上运行 时 它不会传输我包含在应用程序文件夹中的任何 mp3 文件 因此我无
  • CSS 选择包含加号“+”的类

    如何通过包含加号的类名选择元素 E g frme 150 1 background position 150px 1px 使用JavaScript改变加值 可以使用吗 选择器名称中的字符 你需要escape http mathiasbyne
  • 使用 PowerShell 复制源服务器同一目录结构中的文件夹和子文件夹中的项目文件

    我正在努力让下面的脚本以正确的结构复制文件夹和子文件夹中的文件 作为源服务器 可以说 有下面提到的文件夹 主文件夹 文件aaa 文件bbb 子文件夹a 文件1 文件2 文件3 子文件夹b 文件4 文件5 文件6 使用的脚本 Get Chil
  • jquery 淡入淡出滑动面板

    我创建了一个小例子 请看一下 http jsfiddle net bWTwL http jsfiddle net bWTwL 我想要一个像这样的面板 以便 1 li home 点击 gt 向左滑动面板 gt 内容淡入 2 X 单击 gt 内
  • JavaFX 绑定失败并显示“无法绑定到无类型对象”。

    我有一个定义 JavaFX 用户界面的 FXML 文件 在 FXML 文件中 我有以下内容
  • HTML5 中的 Web Speech API 支持哪些语言?

    我想看看网络语音 API 支持哪些语言 并尝试贡献和添加其他语言 当然 仍在开发中并且依赖于供应商的实现 但正如你所看到的 Chrome 已经有一个不错的支持列表 Chrome 是目前唯一支持此功能的浏览器 请参阅以下语言的演示 谷歌语音
  • 如何使我的 Objective-C 类符合 Swift 的“Equatable”协议?

    我有一个 Objective C 类 恰好是一个按钮 但这并不重要 在我的 混合语言 项目的另一部分 我有一个这些按钮的数组 我想获取索引使用按钮的find 方法 就像这样 func doSomethingWithThisButtonInd
  • Javascript 动态地将函数附加到对象

    如何将函数动态附加到javascript对象 例如 如果动态附加函数是attach 那么我应该能够将函数fn附加到onject obj 如下所示 attach obj fn alert 1 function attach obj fnNam
  • zlib 直接用于解压 iPhone 的 zip 文件夹

    是否可以使用 iPhone 上可用的最低 zlib 来解压缩文件夹的 zip 我不想使用开源库 请告诉我实现一段可以解压缩 zip 文件的代码的难度或可能性 正如 JosephH 所说 您不能使用 ZLib 来处理 zip 文件 但您可以使
  • 在 Visual Studio Team Services 中的托管构建代理上进行 Nuget 还原时,找不到 AutoMapper 包 5.1.1

    在 Team Services 以前的 VSO 中托管的构建代理上恢复 AutoMapper 确实是一个奇怪的问题 它只是失败并显示警告 无法找到 AutoMapper 包的版本 5 1 1 我们有一个自定义的私有 nuget 存储库 因此
  • Spring MVC(异步)与 Spring WebFlux

    我正在尝试了解 Spring WebFlux 到目前为止我发现的东西在核心都是反应式的 没有Servlet API 每个请求没有线程 HTTP 2 服务器推送 应用程序 流 json 但是 Spring MVC 中的异步调用有什么区别呢 我
  • GCC -fstack-check 选项在 C 中引发什么异常

    根据 gcc 文档 fstack check 生成代码以验证您没有超出堆栈边界 请注意 此开关实际上并不导致检查完成 而是执行检查 操作系统必须这样做 该切换会导致代码生成 以确保操作系统看到正在扩展的堆栈 我的假设是这个额外的代码将生成异
  • 如何在 JavaScript 中进行字符串插值?

    考虑这段代码 var age 3 console log I m age years old 除了字符串连接之外 还有其他方法可以将变量的值插入到字符串中吗 从 ES6 开始 你可以使用模板文字 https developer mozill
  • 优化计算 200 万以下所有素数总和的 Haskell 代码

    欧拉计划中的问题 10 我在那里看到了一些讨论 但仅限于 C 我用下面的代码来计算 print sum sieve 2 2000000 where sieve sieve x xs x sieve filter 0 mod x xs 需要很
  • Pandas:使用数据帧的多列作为另一个数据帧的索引

    我有一个包含我的数据的大型数据框 以及另一个具有相同第一维度的数据框 其中包含有关每个时间点的元数据 例如 试验编号是什么 试验类型是什么 我想要做的是使用 元数据帧 的值对大数据帧进行切片 我想将它们分开 而不是将数据数据帧存储为较大数据
  • 最快的 Sobel 边缘检测 C#

    我想制作一个实现索贝尔边缘检测的程序 这是我的代码 private Bitmap SobelEdgeDetect Bitmap ori Bitmap b original Bitmap bb original int width b Wid
  • Android:如何将相机结果保存到私人文件

    我正在尝试从相机获取图像并将其直接保存到我的应用程序的私有文件目录中 出于安全考虑 该图像不应随时公开访问 一般来说 授予私有文件临时访问权限的方法是使用 ContentProvider 并在 Intent 中设置 GRANT WRITE
  • Oracle BLOB 提取非常慢

    从我管理的 oracle 10gR2 10 2 05 数据库中提取 BLOBS 时 我遇到性能问题 我有大约 400 个存储为 BLOBS 的文件 我需要将它们写入文件系统 下面是我的代码 当我执行这个过程时 前 8 个左右的文件会在几秒钟
  • document.domain 更改后无法在 IE 中访问 about:blank iframe

    有谁知道创建一个about blankIE 中页面上的 iframe 时document domain已经改变 IE 似乎不允许在之后访问空 动态 iframedocument domain财产已被改变 例如 假设您正在动态创建一个 ifr