[JQUERY] 의 jQuery .load () 호출은로드 된 HTML 파일에서 자바 스크립트를 실행하지 않습니다
JQUERY의 jQuery .load () 호출은로드 된 HTML 파일에서 자바 스크립트를 실행하지 않습니다
해결법
-
1.당신은 HTML, 머리와 몸 태그를 포함하여 사업부로 전체 HTML 페이지를로드하고 있습니다. 당신이 부하를하고 당신이로드하는 HTML의 구멍 스크립트, 종료 스크립트와 자바 스크립트 코드를하면 어떻게됩니까?
당신은 HTML, 머리와 몸 태그를 포함하여 사업부로 전체 HTML 페이지를로드하고 있습니다. 당신이 부하를하고 당신이로드하는 HTML의 구멍 스크립트, 종료 스크립트와 자바 스크립트 코드를하면 어떻게됩니까?
다음은 드라이버 페이지입니다 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery Load of Script</title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.3.2"); </script> <script type="text/javascript"> $(document).ready(function(){ $("#myButton").click(function() { $("#myDiv").load("trackingCode.html"); }); }); </script> </head> <body> <button id="myButton">Click Me</button> <div id="myDiv"></div> </body> </html>
여기 trackingCode.html의 내용입니다 :
<script type="text/javascript"> alert("Outside the jQuery ready"); $(function() { alert("Inside the jQuery ready"); }); </script>
이 사파리 4에서 나를 위해 작동합니다.
업데이트 : 추가 DOCTYPE 및 HTML 네임 스페이스 내 테스트 환경에서 코드와 일치합니다. 파이어 폭스 3.6.13 및 예제 코드 작품 테스트.
-
2.
$("#images").load(location.href+" #images",function(){ $.getScript("js/productHelper.js"); });
-
3.존 피크의 솔루션의 다른 버전은 직전이 나를 위해 잘 작동합니다 :
존 피크의 솔루션의 다른 버전은 직전이 나를 위해 잘 작동합니다 :
jQuery.ajax({ .... success: function(data, textStatus, jqXHR) { jQuery(selecteur).html(jqXHR.responseText); var reponse = jQuery(jqXHR.responseText); var reponseScript = reponse.filter("script"); jQuery.each(reponseScript, function(idx, val) { eval(val.text); } ); } ... });
-
4.나는이 다소 오래된 게시물입니다 알지만 누군가를 위해 유사한 솔루션을 찾고 해당 페이지로 오는 ...
나는이 다소 오래된 게시물입니다 알지만 누군가를 위해 유사한 솔루션을 찾고 해당 페이지로 오는 ...
http://api.jquery.com/jQuery.getScript/
-
5.당신이 동적으로 생성 된 요소로 HTML 필드를로드하는 경우에 작동하지 않습니다.
당신이 동적으로 생성 된 요소로 HTML 필드를로드하는 경우에 작동하지 않습니다.
$('body').append('<div id="loader"></div>'); $('#loader').load('htmlwithscript.htm');
내가 불을 지르고의 DOM을보고 전혀 스크립트 노드 만 HTML 내 CSS 노드가 없습니다.
사람이 건너왔다?
-
6.당신은 거의 있어요. 당신은 단지 스크립트를로드 할 JQuery와주기 :
당신은 거의 있어요. 당신은 단지 스크립트를로드 할 JQuery와주기 :
$("#myBtn").click(function() { $("#myDiv").load("trackingCode.html script"); });
-
7.나는 HTML 로딩 기능을 위해 다음과 같은 jQuery 플러그인을 작성 : http://webtech-training.blogspot.in/2010/10/dyamic-html-loader.html
나는 HTML 로딩 기능을 위해 다음과 같은 jQuery 플러그인을 작성 : http://webtech-training.blogspot.in/2010/10/dyamic-html-loader.html
-
8.trackingCode.html에서이 테스트합니다 :
trackingCode.html에서이 테스트합니다 :
<script type="text/javascript"> $(function() { show_alert(); function show_alert() { alert("Inside the jQuery ready"); } }); </script>
-
9.스크립트가 한 번로드,하지만 반복 호출이 스크립트를 실행하지 않을 어디이 다 퉜다.
스크립트가 한 번로드,하지만 반복 호출이 스크립트를 실행하지 않을 어디이 다 퉜다.
그것은 후 () .load 체인 후 대기 표시기를 표시 .html 중에서 ()를 사용에 문제가 밝혀졌다.
// Processes scripts as expected once per page load, but not for repeat calls $("#id").html("<img src=wait.gif>").load("page.html");
내가 그들에게 별도의 전화를했을 때 예상대로, 내 인라인 스크립트 때마다로드.
// Without chaining html and load together, scripts are processed as expected every time $("#id").html("<img src=wait.gif>"); $("#id").load("page.html");
추가 연구를 위해, 거기에 있습니다 .load의 두 가지 버전 ()
"HTML".html과 ()을 반환 내용을 복용하고 호출하면 DOM에 그 내용을 넣어 : (URL을 후 선택없이) 간단한의 .load () 호출은 단순히 데이터 유형 $ 아약스 ()를 호출하기위한 속기이다 . 그리고 데이터 유형에 대한 데이터 문서는 "HTML은"명확하게 "는 DOM에 삽입 할 때 포함 스크립트 태그가 평가됩니다."상태 http://api.jquery.com/jquery.ajax/ 그래서 .load ()는 공식적으로 인라인 스크립트를 실행합니다.
복잡 .load () 호출이 이러한 하중뿐만 선택기 ( "page.html #content")를 갖는다. 스크립트 결코이 경우 https://forum.jquery.com/topic/the-load-function-and-script-blocks#14737000000752785 : 방법 것을 사용하면 이와 같은 기사에서 논의하지 않기 때문에, jQuery를 의도적으로 스크립트 태그 필터링 실행조차 한 번.
-
10.그럼 난 단지 파이어 폭스 일어날 듯 같은 문제가 있고, 나는 .load () 나는 PHP 파일을 대한 기존의 프론트 엔드를 수정 이후를 제외하고 다른 JQuery와 명령을 사용하지 수 ...
그럼 난 단지 파이어 폭스 일어날 듯 같은 문제가 있고, 나는 .load () 나는 PHP 파일을 대한 기존의 프론트 엔드를 수정 이후를 제외하고 다른 JQuery와 명령을 사용하지 수 ...
어쨌든는 .load () 명령을 사용 후, 나는로드하기 된 외부 HTML 내에서 내 JQuery와 스크립트를 포함하고, 일에 보였다. 내가 주 문서의 상단에 장착하는 JS는 그러나 새로운 콘텐츠에 대한 작업을하지 왜 그랬는지 이해가 안 ...
-
11.나는 창로드에) ($ (문서)을 변경하여이 문제를 해결할 수 .ready했다 ().
나는 창로드에) ($ (문서)을 변경하여이 문제를 해결할 수 .ready했다 ().
-
12.@efreed 대답에 시침 ...
@efreed 대답에 시침 ...
내가 .load를 사용했다 ( '의 mypage.html #theSelectorIwanted') 선택하여 페이지의 내용을 호출하지만 수단은 그 내부 인라인 스크립트를 실행하지 않습니다.
대신에, 나는 그것이 자신의 파일의 그 '#의 theSelectorIwanted'became 그래서 내 마크 업을 변경할 수 있었고, 난 사용
load('theSelectorIwanted.html`, function() {});
그것은 잘 인라인 스크립트를 실행했습니다.
모든 사람이 해당 옵션을 가지고 있지만 이것은 내가 원하는 위치를 얻을 수있는 빠른 해결했다!
from https://stackoverflow.com/questions/889967/jquery-load-call-doesnt-execute-javascript-in-loaded-html-file by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 필수 필드 검증 JQuery와 팝업 MVC 4에서 작동하지 (0) | 2020.10.02 |
---|---|
[JQUERY] 내가 jQuery를 사용하여 드롭 다운리스트를 열 수 (0) | 2020.10.02 |
[JQUERY] ID가 점을 포함하는 경우 어떻게 jQuery로 ID로 HTML 노드를 선택하려면? (0) | 2020.10.02 |
[JQUERY] 사업부에 매 3 명 div가 랩 (0) | 2020.10.02 |
[JQUERY] 어떻게 주어진 앵커로 스크롤 HTML 페이지에? (0) | 2020.10.02 |