【发布时间】:2021-04-12 02:44:26
【问题描述】:
我可以从我的网络服务器日志中得知,我的一个 Javascript 文件被(某些?)iOS 14 视为“已注入”。我的脚本在单独的环境(命名空间?)中运行。它尝试做 AJAX 失败了,显然是因为它分配了一个与我的网络服务器不匹配的“来源”,所以标准的同源策略禁止该操作。
如果我试图做一些不合时宜的事情,我希望会被这样抓住。但它只是适用于所有其他浏览器的典型 Javascript。特别是,我的 Javascript 像往常一样在其 HTML 页面的头部加载为外部文件
<script type="text/javascript" src="foobar.js?baz"></script>
所有页面文件——包括有问题的 Javascript——都是从同一个站点加载的——http://www.foo.bar
如何从服务器端判断问题所在? (我无法从客户端重现问题 - 特别是我无法访问任何失败的 iPhone。)
编辑 23 - 2021 年 4 月 - 问题在 14.0.3 之后的 iPhone 版本上部分(但不是完全)消失。
【问题讨论】:
-
这为什么最新的 iPhone 不喜欢我的 Javascript? 是迄今为止看到的最好的标题!
-
顺便提一下,你不需要将尖括号转换为Unicode ✌!
-
@Manas Khandelwal 似乎无论我尝试什么,HTML 代码都不会出现在“预览”中。我终于发现,通过使用 HTML“实体”而不是尖括号,HTML 代码会出现在预览中。直到后来我才发现HTML代码会出现在帖子_even _though _it _didn't _appear _in _the _preview中。我怀疑如果预览与最终帖子的外观完全一样,“奇怪”帖子的出现频率会降低。
-
您可以像这样将代码包装在 3 个反引号中:``` 如果代码是内联的,则使用单个反引号来包装代码。 . .它只是降价! . . .有关更多信息,您可以阅读以下内容:stackoverflow.com/editing-help#code
标签: javascript environment inject