我们在网站上使用dojo框架。一位客户惊慌失措地说,他们从Microsoft Edge用户那里获得的销售已完全下降。我发现在该浏览器中,页面加载后,dojo
变量间歇地为null。因此,对于这些用户,当然没有任何交互作用,因此当然也没有销售。
但是在测试过程中,我在devtools中发现了这一惊人的东西:
我什至不知道要想要怎么做。所以我想追踪这个问题,但是我不知道要寻找什么。我可能怀疑过一些奇怪的重复出现的setInterval
代码,但我不认为这可能会出现在最后一个控制台行的两个语句之间。
在</body>
标记之前有一个脚本行,我可以在其中放置一个断点。此时,dojo
被设置为预期的框架。因此,某些在页面加载后加载的代码正在执行该操作。
(编辑:如果可以的话,我愿意做迭代的,蛮力的断点。但是我只能通过BrowserStack访问Edge,而在Edge的dev工具中尝试在精简代码中设置有用的断点非常困难。)
watch()
填充程序来监视dojo对象是否被更改,但是运气并不好。 (但是可能做错了,因此,如果这是一个主意,我可能需要有关正确实施的帮助)。编辑:如果有任何帮助,还有这个。删除dojo
后,对其进行设置即可。
答案 0 :(得分:0)
好吧,我不知道具体的问题是什么,但是至少有人给我一种可行的方法:
window.__defineGetter__('dojo', function(){ return null })
这在原始代码中不存在,但是至少现在我知道它是怎么可能的。给我这件事的人建议,代码可能正在尝试获取和保护自己的dojo副本,但是在Edge中却出现了问题。