花了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)
})