在iframe中运行AJAX - document.ready无效

时间:2012-09-03 14:20:56

标签: ajax iframe facebook-apps

我有一个使用AJAX的应用程序,但AJAX在iframe中无法正常工作。

这是我正在使用的JS(这是在加载到iframe的页面内)。 3个函数分别调用填充App的AJAX例程。我想要的是加载iframe,然后运行这个JS。它必须是iframe在加载完成后调用此代码,因为我无法控制加载它的页面(Facebook)。

<script type="text/javascript">
$(document).ready(function(){

    alert('HELLO!!!'); // Test to see if it working

    load_tab_content('<?php echo $load_tab_content_nonce; ?>');
    load_services('<?php echo $load_services_nonce; ?>');
    load_pages('<?php echo $load_pages_nonce; ?>');

});
</script>

这是可能的,还是我说错了?感谢。

1 个答案:

答案 0 :(得分:0)

我建议使用以下两种方法之一,第一种也许最简单的方法是在父页面中运行onload函数。你可能不会让iframe文档中的onReady正确执行。

<script>
  function notify_load() {
    //alert("now do something");
  }
</script>

<iframe src="http://someurl/" onload="notify_loaded()" />

第二个建议是在iframe页面中编写一个脚本,用于更改可从主页面查询的变量。或者你甚至可能想尝试直接调用父页面函数,即。 parent.notify_load();