在下一个函数被触发之前等待iframe加载?

首先:我知道如果可能的话,应该异步运行。

我有一个函数,叫做wrap:

本质上它将当前页面加载为iframe。 我需要它,以便即使在页面上单击链接时也能保持javascript运行。

function wrap(){ event.preventDefault(); var pathname = window.location.pathname; $('body').html('') $('iframe').load(function (){ //this is where the magic outght to happen }); } 

运行换行时,我想开始操作iframe的内容。 对于app的结构,我想要从wrap-function的外部或者我传入wrap函数的参数中执行此操作。 我使用一系列执行动画,播放声音等function来完成此操作(需要时间并且还应按顺序执行的function)。 这就是我想要的样子。

 wrap(); highlight('#one'); highlight('#two'); 

jQuery可以在iframe上使用ready函数,就像它对文档一样。 将它放在高亮显示function中,它将在iframe完成加载后运行。

 $("iframe").ready(function (){ // do something once the iframe is loaded }); 

你可以创建一个函数:

  function iframeready() { // code after iframe is loaded } 

并将此函数作为iframe加载事件的回调传递,这样您的代码将在加载iframe后执行