런타임시 javascript 코드를 html 파일로로드 할 수 있는지 여부를 묻습니다. 예를 들어, 스크립트 파일의 위치를 입력하는 텍스트 상자와 스크립트 파일로드를 트리거하는 양식 단추를 배치하십시오.런타임시 javascript 코드를 html 파일로로드하는 방법은 무엇입니까?
미리 감사드립니다.
런타임시 javascript 코드를 html 파일로로드 할 수 있는지 여부를 묻습니다. 예를 들어, 스크립트 파일의 위치를 입력하는 텍스트 상자와 스크립트 파일로드를 트리거하는 양식 단추를 배치하십시오.런타임시 javascript 코드를 html 파일로로드하는 방법은 무엇입니까?
미리 감사드립니다.
이 (셋째 줄에 URL을 수정) 그 버튼의 onclick을 이내에 붙여 넣기 :
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "url to the script file here");
document.getElementsByTagName("head")[0].appendChild(script);
해당 스크립트가 즉시 다운로드되기 시작합니다. 4 번 라인이 실행 된 후, 다운로드 되 자마자 실행되거나 사용할 수있게됩니다.
은 예, jQuery getScript method이 사소한 수 있습니다 : 또는 네이티브 자바 스크립트 방법을 사용하여
//on button click event:
$.getScript(urlOfScript);
:
//on button click event:
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'urlOfScript';
head.appendChild(script);
위의 좋은 대답입니다. 다른 html 조각과 마찬가지로 js를 ajax를 통해로드 할 수도 있습니다. 짧은 예 :
start.html
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<a href="#" onclick="$('#result').load('start.js'); return false;">start</a>
<div id="result"></div>
</body>
</html>
start.js
<script type="text/javascript">
alert('Hello world!');
</script>
당신은 아약스에 대한 jQuery를 필요가 없습니다 - 그냥 개념이 빨리 증거를 사용했다.
여기에도 jquery 메소드가 있습니다.
let src = 'http://www.example.com/dosome/afsddfa';
$('<script>').attr(
{
src: src,
type: 'text/javascript'
}).appendTo('body');
그러면 스크립트 요소가 만들어져 body에 추가됩니다.
.appendTo('head')
도 사용할 수 있습니다.
머리 요소가 있는지 확인하십시오. 그렇지 않다면 신체에 추가하는 것도 효과가 있습니다. Btw, 질문에 jQuery 태그가 지정되지 않았으므로 순수한 JavaScript를 고수하기 위해 +1. –
이 방법으로 두 개의 스크립트를 추가하면 어떻게됩니까? 같은 시간에 다운로드가 시작 되나요? 그렇지 않으면 두 번째 파일이 첫 번째 파일을 기다리게됩니까? –