- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图找出过去一个月左右出现的客户端网站上的问题,因为 iOS 和 OSX 的最新更新。当 Mac 或 iOS Safari 用户通过 EDM 中的链接被定向到站点中的任何页面时,他们会陷入不断刷新页面的循环中。它似乎也在刷新之间泄漏内存,因为事件监视器显示该站点的 Safari Web 内容进程的内存使用量迅速增长(在我杀死它之前两分钟左右达到 4 GB)。
该问题只能在 Safari 浏览器上重现。 Mac 上的 Chrome 似乎不受影响。适用于 Windows 的 Safari 显示刷新问题,但似乎没有开始囤积内存,尽管 WebKit2WebProcess.ee 进程的 CPU 使用率一直处于相当高的值,直到窗口关闭。我尝试将添加到 EDM 链接的 utm_* 参数一一删除,直到我可以确认问题是由 utm_source 本身引起的,然后发现我应该预料到这一点,因为它显然是 GA 寻找的主要标签。更有趣的是,删除 GA 并没有解决问题 - 我注释掉了创建脚本标签的代码(就其值(value)而言,使用的脚本不是正常的 www.google-analytics.com/ga.js 而是来自 stats.g.doubleclick.net/dc.js 的 DFP 广告管理系统)。
解决问题的是不加载 GPT - 注释以下代码:
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
var gads = document.createElement("script");
gads.async = true;
gads.type = "text/javascript";
var useSSL = "https:" == document.location.protocol;
gads.src = (useSSL ? "https:" : "http:") + "//www.googletagservices.com/tag/js/gpt.js";
var node =document.getElementsByTagName("script")[0];
node.parentNode.insertBefore(gads, node);
})();
googletag.cmd.push()
)以防我们对它的使用导致问题(我们基本上只是定义然后发布 8 个插槽在推送的 cmd 中,然后启用广告服务)。评论此命令并没有解决问题,它似乎与加载 GPT 有关。
最佳答案
所以这在所有方面都是一个令人难以置信的令人困惑的问题,即使在我修复它之后仍然如此。
我们能够通过更新网站上正在使用的 History.js 库来解决这个问题,就其本身而言,我完全可以接受作为有效的故障排除步骤(因此我尝试了它)。然而,我对 History.js 和 gpt.js 将如何相互交互感到非常困惑。导致问题仅在以下情况下发生:
使用 Safari
使用旧版本的 History.js
使用 GPT(应该对 History.js 没有影响)
使用 utm_source 标签(它应该对 History.js 或 GPT 没有影响)
但比起普遍存在的问题,我更高兴被固定问题所迷惑,所以我将把它放在“太难”的篮子里。
顺便说一句,我的主要问题是做,而不是问题,所以这是我如何解决结论的问题,以防它对其他人有帮助:
<head>
的顶部添加了一个脚本标签它为 beforeunload 注册了一个事件处理程序,调用调试器语句。这将使我有时间在页面刷新之前实际检查时间线和分析器。 var origST = window.setTimeout;
window.timers = [];
window.setTimeout = function(f,t) {
window.timers[origST(f,t)] = window.setTimeout.caller ? window.setTimeout.caller : 'Global Scope';
}
timers[the id]
对于已安装计时器的函数的文本。 关于safari - 如何找到safari中不断刷新页面的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27810283/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!