Javascript 在iOS9下打开的窗口中使用document.write

Javascript 在iOS9下打开的窗口中使用document.write,javascript,ios,dom,window,mobile-safari,Javascript,Ios,Dom,Window,Mobile Safari,在升级到iOS 9之后,我们最近在iPad代码中遇到了一个问题。出于各种原因,我们打开一个空窗口,并在文档可用时开始写入文档。这通常可以正常工作,我们针对不同的浏览器行为等进行了各种测试,但iOS中的新问题似乎有问题 当您使用window.open打开一个新窗口时,返回的引用立即有一个文档,并且使用document write可以正常工作。您可以检查内容等。一切都正常。 然后iOS决定用一个新文档替换该文档。因为我们一开始就成功地写了,所以我们不再尝试写,这样用户就会看到一个空页面。 写入新文档

在升级到iOS 9之后,我们最近在iPad代码中遇到了一个问题。出于各种原因,我们打开一个空窗口,并在文档可用时开始写入文档。这通常可以正常工作,我们针对不同的浏览器行为等进行了各种测试,但iOS中的新问题似乎有问题

当您使用window.open打开一个新窗口时,返回的引用立即有一个文档,并且使用document write可以正常工作。您可以检查内容等。一切都正常。 然后iOS决定用一个新文档替换该文档。因为我们一开始就成功地写了,所以我们不再尝试写,这样用户就会看到一个空页面。 写入新文档的工作方式与预期的一样,并实际显示给用户。只是随机检查文档是否已更改或检测用户代理似乎是一种黑客解决方案,因此问题是:

是否有更好的方法来处理此问题?是否有正在触发的任何事件?是否有文档/窗口引用上的任何差异可供检查。或者有人知道iOS9为什么这样做吗

这是一个代码笔,其中包含iOS 9的工作/不工作代码

编辑:一般来说,这不是关于添加内容,而是关于iOS 9特定的行为

编辑2:我现在已经与苹果公司就此打开了一份错误报告。我看看他们怎么说。

我发现了类似的东西。 问题的解决方案似乎是修改以下内容:

win = window.open('', '_blank', 'width=500,height=700');
这意味着,省略“about:blank”,只需将其留空即可。 在codepen上的代码示例中也适用

我不知道为什么,而且我的编程技能有限。但我在一些论坛软件上也遇到了同样的问题,并设法找到了问题的症结所在

干杯,
Thomas

您是否尝试使用数据URL方案?类似数据的东西:text/html,你好,世界!可能的重复我不认为这是重复的,因为问题不是写本身,而是在窗口打开后对文档的引用发生了变化。我将研究数据uri,但听起来它对IE不可用,我不想不必要地维护两个解决方案。这似乎解决了问题。奇怪的问题是,我可能会将iOS的url更改为空字符串。嗨,Vertity!从今天到2015年12月12日,新的iOS 9.2更新似乎解决了这个问题。我在Codepen上检查了您的示例,它似乎正确地打开了第一次尝试。即使您的代码没有任何修改。你能证实这一点吗?
win = window.open('', '_blank', 'width=500,height=700');