延迟代码,直到iframe加载并执行

时间:2017-08-29 12:10:11

标签: jquery iframe

花了2天的时间分析这么多帖子,但却无法正常工作。在我的父页面中,我正在加载包含数据库的iframe。加载后,该数据库会自动运行并将国家/地区列表传递回名为' AllCountries'的变量中的父页面。这一切都运作良好。但我想要的是在我的代码中的其他地方使用变量。换句话说,我试图让我的jQuery中的最后一行列出国家。但是,在将国家/地区分配给变量之前,jQuery过早地处理这一行。我已尝试将事件放入函数中,使用回调等,但似乎没有效果。有任何想法吗?小提琴http://jsfiddle.net/8sgh01hc/

https://code.jquery.com/jquery-1.12.4.min.js

<iframe id="Z_test" src="https://c2ect538.caspio.com/dp.asp?AppKey=b8a94000f5fb0d287ec840b89679"></iframe>



$(function() {
var AllCountries = ""
$("#Z_test").load(function () {
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];

var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

// Listen to message from child IFrame window
eventer(messageEvent, function (e) {

   AllCountries = e.data;
   alert('This alert should NOT appear last ' + AllCountries);}, false);
   alert('iFrame loaded!');
});

// ---------------

alert('This should be the LAST alert appearing with countries list' + AllCountries)
})

0 个答案:

没有答案