为什么有时分配给location.href无效?

时间:2019-02-28 12:39:28

标签: javascript angularjs

screen 1

在屏幕上,您可以看到该行之后脚本的执行已暂停

newTab.location.href = googlePreviewUrl 您还可以看到,尽管使用了=运算符,但newTab.location.href的值并不等于googlePreviewUrl

当我在第24行添加断点时,并在停止后按继续,分配工作按预期进行。看到下一个屏幕:

screen 2

在第24行设置断点几次后,脚本开始按预期方式工作。我尝试使用setTimeout(() => { newTab.location.href = googlePreviewUrl; }, 0);,但是在使用清晰的缓存重新加载页面后,结果仍然相同-我必须在开始工作的第24行设置断点,否则newTab.location.href不会更新。我总是看到: screen 3

我继续进行测试,发现当我获得相同的令牌时,情况没有问题。令牌是为该文件生成的,当我第N次打开同一文件时(第一次除外),我没有任何问题-我认为这是因为同一文件的令牌已生成。

目前,所有东西对我来说都是魔术般的:)有人知道这里可能出什么问题吗?

tokenPromise-$ http.get(url)

goolePreviewByToken(tokenPromise)-服务方法

正在使用angularjs(角度1)。

0 个答案:

没有答案