0
我有一个来自WordPress试图修改的WordPress插件的JavaScript文件。似乎越来越多的跨域请求带有某种漏洞。正是这种功能:如何在javascript中传递url回调函数中的参数
function urlCallback(url){
var req = url;
var head = document.getElementsByTagName("head").item(0);
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", req);
head.appendChild(script);
}
传递的网址是一样的东西'http://url.com/page?callback=namespace.myFunction'
其中myFunction是在脚本中别处定义的功能。
据我所知,这是在我的页面顶部插入源url,导致浏览器加载该页面。然后调用附加到该URL的回调函数,将结果作为单个参数传递给示例函数myFunction。
我的问题是,我需要调用myFunction为几个不同的独特的网址,但结果绑定到调用网址。 myFunction似乎在页面完成加载时被调用,所以我不能简单地保持它正在操作的数据集的计数。我需要一些方法让myFunction通过在回调url中编码的附加变量,或者myFunction知道它附加的url。
任何人都可以帮助我吗?
编辑:
为了进一步阐述,这里是我的代码的简化版本:
var parseUrls = (function(){
function urlCallback(url){
var req = url;
// Here is where I need to save the url
var head = document.getElementsByTagName("head").item(0);
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", req);
head.appendChild(script);
}
return {
options: {},
parseNextUrl: function(result) {
if (!result || !result.data) { return; }
var data = result.data;
// Here is where I need the url
},
parseUrl: function(result) {
if (!result || !result.data) { return; }
var data = result.data;
for (var i = 0; i < data.length; i++) {
urlCallback(data[i].url + "/new_url/page?callback=parseUrls.parseNextUrl");
}
},
showResult: function(options){
urlCallback("http://start.url.com/page?callback=parseUrls.parseUrl");
this.options = options;
}
};
})();
只是要清楚每当源请求完成,parseNextUrl被调用。这意味着所有的urlCallback调用都已经完成。
你有没有例子说明它是如何在页面上实际调用的?你在看什么是“JSONP”的客户端实现(JSON-“padded”)。它会创建一个新的'