JQuery/AJAX를 사용하여 새 태그를 업데이트/삽입하려고합니다. 스크립트 태그에서 발견 된 URL은 다른 도메인 (웹 서버)의 URL이며 제어 할 수 없습니다. 웹 서버에서 제공하는 결과는 iframe에 반환됩니다 (다시 말하면 응답 형식을 제어 할 수 없음).문제 업데이트/삽입 AJAX를 사용하여 <script> 태그를 삽입
다음 두 가지 해결책을 시도했습니다. (클릭 버튼은 테스트 목적으로 만 사용됩니다).
첫 번째 해결 방법 :
$(document).ready(function() {
$("button").click(function() {
var NewScript = document.createElement('script');
NewScript.type = 'text/javascript';
NewScript.src = 'http://www.contactedurl.com/query&callback=?';
$("#TDiv").append(NewScript);
});
});
두 번째 해결 방법 :
$(document).ready(function() {
$("button").click(function() {
var NewScript = document.createElement('script');
NewScript.type = 'text/javascript';
NewScript.src = 'http://www.contactedurl.com/query&callback=?';
var script = document.getElementsByTagName('script')[0];
script.parentNode.insertBefore(NewScript, script);
});
});
이러한 솔루션은 모두 다음과 같은 경고 메시지, 따라서 어떤 업데이트가 수행되지 않습니다 생성 :
을 비동기 적으로로드 된 외부 스크립트에서 document.write()를 호출합니다. 무시되었습니다.
이 메시지가 생성되는 이유와 업데이트가 실행되지 않는 이유를 알고 있지만이 제한 사항이나 다른 해결책을 찾지 못했습니다.
누군가가 대체 솔루션을 알고 있는지 궁금합니다.
감사합니다.
안녕 케빈
$.getScript()
라는 jQuery를가했습니다. 시간과 답변에 감사드립니다. 몇 가지 솔루션을 실험하고 독서를 한 후에, 나는 당신이 확인한대로 올바른 방향으로 움직이지 않는다고 결론을 내 렸습니다. 그럼에도 불구하고 스크립트 태그에서 소스 URL을 동적으로 변경하는 대체 방법이 있어야한다고 생각하겠습니까? – JF0001문제는 URL을 변경하지 않습니다. 문제는 스크립트가 수행하는 작업입니다. document.write()는 문서가 닫힌 후에 실행되면 문서를 완전히 대체합니다 (문서가 * 준비가되었을 때 발생합니다 *). –