자바스크립트 펑션 변경? 질문 드립니다
본문
<script src="https://example.com/ex.js"> </script>
<script type="text/javascript">
Daily('idname', 'passname', 1);
</script>
해당 구분을 펑션? 으로 변경하고 싶습니다.
( 초보라 설명이 잘 되었는지 모르겠네요...ㅠㅠ)
function loadScripts() {
function start() {
this.client = new window.Client({
Daily: {
"idname",
"passname",
1
}
});
this.client.start();
}
const script = document.createElement('script');
script.src = "https://example.com/ex.js";
script.onload = () => {
start();
};
document.head.appendChild(script);
}
loadScripts();
우선 이와같이 변경해보았는데 작동이 안되더라구요.
어디가 잘못되었는지 알려주시면 감사하겠습니다!
답변 6
어떤 로직을 원하시는지 정확히 알수있을까요?
function addModalJS() {
if (!document.querySelector('script[src^="/ex.js"]')) {
const script = document.createElement('script');
script.src = `/ex.js`;
script.id = 'idJS';
document.head.appendChild(script);
}
}
단순히 스크립트 파일을 동적으로 추가하는 거라면, 간단하게 하시는 게 좋을 듯 싶네요.
위 값이 어떤 역할을 하는지..모르겠지만,
function Daily(idname, passname, index) {
}
와 같이 함수에 인자를 넣어주신 후
Daily('idname', 'passname', 1); 이렇게 호출하시면 됩니다.
ex.js 가 로드 된 후 Daily 함수를 호출 하고 싶은 것 같은데 복잡한 코드가 필요한가요?
<script src="https://example.com/ex.js"> </script>
<script type="text/javascript">
function start(){
if( typeof Daily =='function') Daily('idname', 'passname', 1); //함수가 존재하면 실행
else setTimeout(start, 700);
}
start()
</script>
아닙니다.
function Daily(idname, passname, index) {
if (!document.querySelector('script[src^="/ex.js"]')) {
const script = document.createElement('script');
script.src = `/ex.js`;
script.id = 'idJS';
document.head.appendChild(script);
}
}
Daily('idname', 'passname', 1);
ex.js 파일에 값을 전달하는 게 아니고,
해당 파일을 head 에 삽입하는 함수입니다.
단순히 head 에 <script src="/ex.js"></script> 과 같은 역할을 하는 겁니다.
때문에 굳이 위처럼 할 이유도 없지요.
정확히 하고자 하시는 게 뭔지를 모르겠네요.
32767고개....