Passing Arguments parameter to External JavaScript Files 
//------------------------------------- 
< 방법 1 > 
    - data 속성 이용 
    - html 파일 
<script id="helper" data-name="helper" src="helper.js"></script> 
    - js 파일 
const name = document.getElementById('helper').getAttribute('data-name'); 
//------------------------------------- 
< 방법 2 > 
    - 쿼리 문자열 파싱 
    - html 파일 
<script src="helper.js?name=helper"></script> 
    - js 파일 
var scripts = document.getElementsByTagName('script'); 
var myScript = scripts[ scripts.length - 1 ]; 
var queryString = myScript.src.replace(/^[^\?]+\??/,''); 
var params = parseQuery( queryString ); 
function parseQuery ( query ) { 
  var Params = new Object (); 
  if ( ! query ) return Params; // return empty object 
  var Pairs = query.split(/[;&]/); 
  for ( var i = 0; i < Pairs.length; i++ ) { 
    var KeyVal = Pairs[i].split('='); 
    if ( ! KeyVal || KeyVal.length != 2 ) continue; 
    var key = unescape( KeyVal[0] ); 
    var val = unescape( KeyVal[1] ); 
    val = val.replace(/\+/g, ' '); 
    Params[key] = val; 
  } 
  return Params; 
} 
//----------------------------------------------------------------------------- 
< ES6 모듈에서 인자 받기 >
    - html 파일 
<script type="module" src="helper.js?name=helper1"></script> 
    - js 파일 
// import.meta.url 이 쿼리 문자열 정보를 가지고 있음 
    var url = new URL(import.meta.url); 
    var search = url.search;  
    const searchParams = new URLSearchParams(search); 
    var parmVal = searchParams.get('name'); 
    let val = decodeURI(parmVal); 
//------------------------------------- 
// 참고 
https://getbutterfly.com/passing-arguments-to-external-javascript-files/ 
https://flaming.codes/en/posts/es6-import-with-parameters 
'Code > JavaScript' 카테고리의 다른 글
| [정규식] 문자열중 일부분 추출 (0) | 2022.12.03 | 
|---|---|
| [Javascript] 정규식에서 g 플래그 사용시 주의 사항 (0) | 2022.11.27 | 
| [Javascript] Callback 함수의 추가 파라미터 설정 (0) | 2022.05.02 | 
| [Javascript] 키보드 입력 키값 (0) | 2022.05.01 | 
| [Javascript] Deno Web Framework (0) | 2022.04.21 | 










