jQuery的负载接入主要的Javascript
我遇到了,我通过jQuery的负载接入主要的Javascript
$("#tab").load(/a/relative/pad);
的问题是,我无法访问JavaScript中的原环境中加载页面原型的一个问题,是有办法解决这个问题?
JavaScript中的加载文档的内容不会被解雇。你可以做的是有一个负载火的Javascript方法,你需要的回调。
如果您在加载后需要调用的函数取决于您从加载中返回的数据,则可以在加载回调期间获取所需的参数。
$("#tab").load("https://stackoverflow.com/a/relative/pad", function(){
//find your parameter
var parameter = $("#parameter", "#tab");
//call your callback method
callback(parameter);
});
如果不需要额外的参数,使回调:
$("#tab").load("https://stackoverflow.com/a/relative/pad", function(){
//call your callback method
callback(parameter);
});
或者,如果你不希望其他人有一个匿名函数:
$("#tab").load("https://stackoverflow.com/a/relative/pad", callback);
在所有这些情况callback
是功能存在于页面A
或者,虽然这是不是最佳做法,您可以在页面B上有一段隐藏的文本,它实际上是一个脚本块,您可以在该脚本上调用ecal()
。
$("#tab").load("https://stackoverflow.com/a/relative/pad", function(){
//get the block of script you need to run
var scriptToRun = $("#hiddenScriptBlock", "#tab");
//run the script
eval(scriptToRun);
});
我不太确定你的意思,这是否可以拨打从B页到A页的电话? – user485659 2012-03-19 14:13:36
否。该呼叫仍来自页面A,但该呼叫在加载页面B之前不会进行。你能提供更多关于你正在尝试做什么的细节吗? – Fisch 2012-03-19 14:17:03
感谢您的回复。目前我无法给出我想要达到的具体例子,但我会尽我所能来形容它。 我有一个jCarousel,我在其中加载动态内容(我生成的页面)。要在此轮播中填充“选项卡”,我使用$()。load()函数,该函数提供了有问题的问题。有没有其他的方式来加载运行时HTML会绕过这个问题? – user485659 2012-03-19 14:33:53
“在原始环境中访问Javascript”是什么意思? – Pointy 2012-03-18 16:35:35
你的问题不清楚。你是什么意思_“在原始环境中访问Javascript?”_ – 2012-03-18 16:36:27
因此,我有一个页面A,通过$(..)。load。()函数(页面B)加载内容。如果页面B中的JavaScript函数调用了页面A中声明的函数,则不会调用该函数。我希望这能让问题更清楚? – user485659 2012-03-18 16:43:26