jQuery的负载接入主要的Javascript

jQuery的负载接入主要的Javascript

问题描述:

我遇到了,我通过jQuery的负载接入主要的Javascript

$("#tab").load(/a/relative/pad); 

的问题是,我无法访问JavaScript中的原环境中加载页面原型的一个问题,是有办法解决这个问题?

+2

“在原始环境中访问Javascript”是什么意思? – Pointy 2012-03-18 16:35:35

+2

你的问题不清楚。你是什​​么意思_“在原始环境中访问Javascript?”_ – 2012-03-18 16:36:27

+0

因此,我有一个页面A,通过$(..)。load。()函数(页面B)加载内容。如果页面B中的JavaScript函数调用了页面A中声明的函数,则不会调用该函数。我希望这能让问题更清楚? – user485659 2012-03-18 16:43:26

JavaScript中的加载文档的内容不会被解雇。你可以做的是有一个负载火的Javascript方法,你需要的回调。

如果您在加载后需要调用的函数取决于您从加载中返回的数据,则可以在加载回调期间获取所需的参数。

$("#tab").load("https://*.com/a/relative/pad", function(){ 
    //find your parameter 
    var parameter = $("#parameter", "#tab"); 
    //call your callback method 
    callback(parameter); 
}); 

如果不需要额外的参数,使回调:

$("#tab").load("https://*.com/a/relative/pad", function(){ 
    //call your callback method 
    callback(parameter); 
}); 

或者,如果你不希望其他人有一个匿名函数:

$("#tab").load("https://*.com/a/relative/pad", callback); 

在所有这些情况callback是功能存在于页面A

或者,虽然这是不是最佳做法,您可以在页面B上有一段隐藏的文本,它实际上是一个脚本块,您可以在该脚本上调用ecal()

$("#tab").load("https://*.com/a/relative/pad", function(){ 
    //get the block of script you need to run 
    var scriptToRun = $("#hiddenScriptBlock", "#tab"); 
    //run the script 
    eval(scriptToRun); 
}); 
+0

我不太确定你的意思,这是否可以拨打从B页到A页的电话? – user485659 2012-03-19 14:13:36

+0

否。该呼叫仍来自页面A,但该呼叫在加载页面B之前不会进行。你能提供更多关于你正在尝试做什么的细节吗? – Fisch 2012-03-19 14:17:03

+0

感谢您的回复。目前我无法给出我想要达到的具体例子,但我会尽我所能来形容它。 我有一个jCarousel,我在其中加载动态内容(我生成的页面)。要在此轮播中填充“选项卡”,我使用$()。load()函数,该函数提供了有问题的问题。有没有其他的方式来加载运行时HTML会绕过这个问题? – user485659 2012-03-19 14:33:53