我有一个不寻常的问题,超出了我的客户端技能。我有一个 html 页面,script
正文中有两个连续的标签。两个script
标签都会触发一个 ajax 请求来检索内容,然后将其放入 DOM。我控制第一个script
标签,我对第二个标签没有任何控制或知识script
。我只知道它会进行 ajax 调用并将内容放入 DOM。我也知道我的标签是第一位的。
我希望我的脚本标签立即触发并暂停/停止第二个标签。然后,根据我的 ajax 返回的内容,我可以选择执行第二个脚本标记。我该怎么做呢?
我写了一个小提琴来证明我的问题。我用settimeout
's 代替了 ajax 调用和Math.random
我的决定。请注意,settimeout
第一个(我的)的持续时间很长,3 秒,第二个(我无法控制的持续时间很短,0.5 秒。现在发生的是它们都是立即运行。第二条消息在 0.5 秒到达,而来自第一条的消息在 3 秒到达 50% 的时间。
我希望第一个脚本运行,等待 3 秒,做出决定并立即打印第一条消息,或者调用第二个脚本,该脚本将再等待 0.5 秒以打印第二条消息。我不应该同时看到两条消息,也不应该在 3.5 秒之前看到第二条消息。
同样,我对脚本 2 的内容一无所知。在这种情况下,您可以轻松隐藏 id= ext_div
,但我不知道该 id 是什么。那不是我想要的答案。我正在考虑在第一个脚本中抓住事件并对此做一些事情,stopPropagation
或者在TODO1
评论中做类似的事情。但这不起作用。如果确实发生了事件,我将需要一个resumePropgation
我认为不存在的函数。