0
수정하려는 WordPress 플러그인의 자바 스크립트 파일이 있습니다. 그것은 일종의 허점으로 도메인 간 요청으로 사라지고있는 것 같습니다.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);
}
전달 된 URL은 myFunction이 스크립트의 다른 곳에서 정의 된 함수입니다 'http://url.com/page?callback=namespace.myFunction'
같은 것입니다 : 그것은이 기능입니다.
내가 이해하는 것으로부터, 이것은 내 페이지 상단에 소스 URL을 삽입하여 브라우저가 해당 페이지를로드하도록합니다. 그런 다음 url에 첨부 된 콜백을 호출하여 결과를 단일 매개 변수로 myFunction 예제 함수에 전달합니다.
내 문제는 몇 가지 고유 URL에 대해 myFunction을 호출해야하지만 결과는 호출 URL에 연결되어 있다는 것입니다. myFunction은 페이지로드가 완료 될 때마다 호출되는 것으로 보이므로 어떤 데이터 세트가 작동 중인지 계산할 수는 없습니다. myFunction이 콜백 URL에 인코딩 된 추가 변수를 전달하거나 myFunction이 첨부 된 URL을 알기 위해 myFunction에 어떤 방법이 필요합니다.
아무도 도와 줄 수 있습니까?
는편집 : 소스 요청이 완료 될 때마다
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")의 클라이언트 측 구현입니다. 새로운'