2011-12-22 62 views
0

基本上我的应用程序是这样工作的:jquery管理本地脚本与全面ajax网站

Index.php管理调用其他页面。

每个页面都包含2个功能的onLoad(),并且在每个页面

的index.php调用页面并执行的onLoad

基本上重新定义的OnClose()中,i预加载页在一个隐藏的div我执行预定义的$ .onLoad函数和我把加载的内容为可见的div

我的问题是只有在onLoad()范围,我希望当我改变页面从jQuery EVAL以次去掉代码,但我需要一种方法来在page.php文件中定义它,而无需知道容器

的EVAL/SEQ大概的jQuery EVAL队列中,不能发现有关信息,只是萤火获得...

在2个字,我想能够去除注入DOM当我改变上下文(页)脚本

的index.php

$.onLoad = function() {} 



$("#blabla").onChange(function() { 
    $("#data_iframe").load(chaineUrl, {}, function(responseText, textStatus, XMLHttpRequest) { 
     $("#data_iframe").ready(function() { 
       $("#data_div").children().remove(); 
       $.onLoad(); 
       $("#data_iframe").children().hide().appendTo($("#data_div")).show();   $("#data_iframe").children().remove(); 
       $.onLoad = undefined; 
      } 
    }); 
}); 

page.php文件

<script> 
    $.onClose = (function(){ 
     $('#container').blablabla(); 
     //alert("test"); 
    }); 
    $.onLoad = (function(){ 
    $('#container').blablabla(); 
    } 
</script> 

的问题是,jQuery的EVAL/SEQ保持每一个页面被打开 时间增长,也有像调用多个时间函数的一些副作用...

我想它是一个范围的问题,所以能你帮我纠正我的代码 (我已经尝试使用或不使用$,但不会改变任何东西) 只是信息

<div id="data_div"></div> 
<div id="data_iframe"></div> 

感谢

+0

嗯,jQuery不评估SQL。你为什么提到SQL?谨慎提供更多细节? – Kenaniah 2011-12-22 00:52:34

+0

SOrry hehe EVAL/SEQ不是SQL,(看着萤火虫) – guillaume 2011-12-22 00:58:00

+0

你还没有提供足够的信息给任何人来帮助你。你能链接到一个例子吗? – Kenaniah 2011-12-22 01:01:02

回答

0

我通常使用$(文件)。就绪,而不是o n载入。无需在加载完成功能中执行“加载”触发器。 page.php中的ready函数将执行相同的工作。 如何直接加载到data_div?

的index.php

$("#blabla").onChange(function() { 
    $("#data_div").load(page.php); 
}); 

page.php文件

<script> 
    $(document).ready(function() { 
    $('#container').blablabla(); 
    }); 
</script> 

我以前没尝试页面关闭功能,可它是不是你想要的。但你可以尝试:

<script> 
    $(document).ready(function() { 
    $('#container').blablabla(); 
     $(window).unbind('unload'); 
     $(window).unload(function(){ 
      $('#container').blablabla(); 
      //alert("test"); 
     }) 
    }); 
</script> 
+0

谢谢,我可能已经把我的解决方案赶了出去......我认为我的问题更多的是脚本保存在DOM中的方式,即使在更改页面之后......我不知道为什么,但似乎EVAL js只是在主页面重新加载之前才放弃 – guillaume 2011-12-22 04:56:23