2013-06-25 3 views
0

저는 Ajax를 사용하여 페이지를로드하고 있으며 그 페이지에서 issuu.com의 외부 스크립트를로드하고 있습니다. Ajax가 처음으로 페이지를로드 할 때 매우 잘 작동하지만, Ajax가 새 페이지를로드 한 다음 다시 돌아 가면 외부 스크립트를 다시 실행하지 않습니다 (스크립트를로드하지만 실행하지는 않습니다). http://dymak-corporate.134.lait.dk/catalogue/스크립트를 한 번만 실행할 수 있습니다.

당신은 예에서 볼 수

페이지입니다 브라우저의 dev 도구의 네트워크 탭은 스크립트를 두 번로드하지만 처음 실행 만합니다.

내가 생각할 수있는 모든 방법으로 스크립트를로드하고 실행하려고 시도했지만 아무 것도 작동하지 않습니다.

jQuery를 GetScript :

$.getScript("//e.issuu.com/embed.js") 

아약스 스크립트를로드하고 평가 후면 :

$.ajax({ 
    url: "/scripts/embed.js", 
    success: function (responseText) { 
     eval(responseText); 
    } 
}); 

헤더에 모든 시간을 추가하고 제거 내가 그것을 추가하기 전에 :

$('#issuuScript').remove(); 
var s = document.createElement("script"); 
s.id = "issuuScript"; 
s.src = "//e.issuu.com/embed.js"; 
document.head.append(s); 

로드 할 때마다 다시로드 :

function reload_js(src) { 
    $('script[src="' + src + '"]').remove(); 
    $('<script>').attr('src', src).appendTo('head'); 
} 
reload_js('/scripts/embed.js'); 

필자도 인라인으로 추가하려고 시도했지만 성공하지 못했습니다.

+0

Issuu는 동적으로 생성 된 삽입을 지원하기 위해 포함 스크립트를 실제로 업데이트했습니다. 당신은 원래의 접근 방식으로 성공할 수 있어야합니다. – WrongAboutMostThings

답변

0

JavaScript가 작동하는 방식이 아닙니다. 파일 include는 함수 호출과 같지 않지만 함수 호출처럼 취급합니다. 당신이 그것에 대해 생각하는 방법을

는 :

나는 some_module.some_function()를 호출합니다. some_module가로드되어 있습니까?

모듈이있는 파일을로드 한 다음 해당 기능을 실행하십시오.

예. 그냥 함수를 실행하십시오.

+0

할 수 있으면 함수처럼 실행하고 싶습니다. 그러나 익명 함수를 호출하는 것은 자체입니다. – Kim

0

나는 issuu에서 iframe 구현을 사용하여 종료했습니다.

관련 문제