Javascript Jquery使用完整的ajax站点管理本地脚本

Javascript Jquery使用完整的ajax站点管理本地脚本,javascript,jquery,Javascript,Jquery,我的应用程序基本上是这样工作的: php管理对其他页面的调用 每个页面包含2个函数onLoad()和onClose(),它们在每个页面中重新定义 php调用页面并执行onLoad 基本上,我将页面预加载到一个隐藏的div中,执行预定义的$.onLoad函数,然后将加载的内容放入一个可见的div中 我的问题只是关于onLoad()作用域,我想在更改页面时从jquery eval seq中删除代码,但我需要一种在page.php文件中定义代码的方法,而不需要知道容器 eval/seq可能是jquer

我的应用程序基本上是这样工作的:

php管理对其他页面的调用

每个页面包含2个函数onLoad()和onClose(),它们在每个页面中重新定义

php调用页面并执行onLoad

基本上,我将页面预加载到一个隐藏的div中,执行预定义的$.onLoad函数,然后将加载的内容放入一个可见的div中

我的问题只是关于onLoad()作用域,我想在更改页面时从jquery eval seq中删除代码,但我需要一种在page.php文件中定义代码的方法,而不需要知道容器

eval/seq可能是jquery的eval队列,找不到相关信息,只需使用firebug获取

总之,我希望在更改上下文(页面)时能够删除注入的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; 
          }
     });
});
$("#blabla").onChange(function() {
   $("#data_div").load(page.php);
});
page.php

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

$.onClose=(函数(){
$(“#容器”).blabla();
//警报(“测试”);
});
$.onLoad=(函数(){
$(“#容器”).blabla();
}
问题在于每次打开一个页面时,jquery EVAL/SEQ都会不断增长 还有一些副作用,比如多次调用函数

我想这是一个范围问题,所以你能帮我纠正我的代码吗 (我尝试过带美元或不带美元,但没有改变任何东西) 仅供参考

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

谢谢

我通常使用$(document)。ready而不是onload。无需在load complete函数中执行“onload”触发器。page.php中的ready函数也会执行相同的操作。 直接加载到data_div怎么样

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; 
          }
     });
});
$("#blabla").onChange(function() {
   $("#data_div").load(page.php);
});
page.php

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

$(文档).ready(函数(){
$(“#容器”).blabla();
});
我以前没有尝试过页面关闭功能,可能这不是您想要的。但您可以尝试:

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

$(文档).ready(函数(){
$(“#容器”).blabla();
$(窗口)。解除绑定(“卸载”);
$(窗口)。卸载(函数(){
$(“#容器”).blabla();
//警报(“测试”);
})   
});

嗯,jQuery不评估SQL。为什么您提到SQL?是否愿意提供更多细节?抱歉,hehe EVAL/SEQ不是SQL(参见firebug)你仍然没有提供足够的信息给任何人来帮助你。你能链接到一个例子吗?我想当我使用jquery加载函数时,它会评估我页面中的脚本,有可能删除评估过的脚本吗?谢谢,我可能对我的解决方案有过多的意见…我想我的问题更多的是,即使在更改之后,脚本在DOM中的保存方式页面…我不知道为什么,但在重新加载主页之前,evaljs似乎从未被处理过