고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기
Open

Template literal not resolving as expected

gggustafson

I have a directory structure

C:

   Gustafson
       Website
           ⋮
           scripts
               global.js
               ⋮
           ⋮
           TestDirectory
               baseUrl_test.html
           ⋮

In the <head> of a webpage, I determine a baseUrl for the page using the following:

 <script>
   // assumes website topmost directory is "Website""
   ( async ( ) => {
     const segments = document.documentURI.split ( "/");
     const index = segments.findIndex ( element => 
                                        element == "Website" );
     if ( index < 0 )
       {
       throw new TypeError ( 
                 "Website structure not constructed correctly" );
       }
     segments.length = index + 1;
     let path = segments.join ( "/" );
     path += "/";
     window.baseUrl = path;
     console.log(`${baseUrl}`);
     } ) ( );
 </script>

The console log displays

file:///C:/Gustafson/Website/

In the body is

 <script>
   console.log ( `${baseUrl}scripts/global.js` );
 </script>
 <script src=`${baseUrl}scripts/global.js`></script>
 <script>
 window.onload = 
   function ( )
     {
     Global.initialize_globals ( );
     };
 </script>

The console log displays

file:///C:/Gustafson/Website/scripts/global.js Loading failed for the <script> with source “file:///C:/Gustafson/Website/TestDirectory/%60$%7BbaseUrl%7Dscripts/global.js%60”. Uncaught ReferenceError: Global is not defined

   onload file:///C:/Gustafson/Website/TestDirectory/baseUrl_test.html:37
   EventHandlerNonNull* file:///C:/Gustafson/Website/TestDirectory/baseUrl_test.html:34

The problem is the console.log displays what is expected but the src= is using something totally different.

I have a directory structure C: Gustafson Website ⋮ scripts global.js ⋮ ⋮ TestDirectory baseUrl_test.html ⋮ In the <head> of a webpage, I determine a baseUrl for the page using the following: <script> // assumes website topmost directory is "Website"" ( async ( ) => { const segments = document.documentURI.split ( "/"); const index = segments.findIndex ( element => element == "Website" ); if ( index < 0 ) { throw new TypeError ( "Website structure not constructed correctly" ); } segments.length = index + 1; let path = segments.join ( "/" ); path += "/"; window.baseUrl = path; console.log(`${baseUrl}`); } ) ( ); </script> The console log displays file:///C:/Gustafson/Website/ In the body is <script> console.log ( `${baseUrl}scripts/global.js` ); </script> <script src=`${baseUrl}scripts/global.js`></script> <script> window.onload = function ( ) { Global.initialize_globals ( ); }; </script> The console log displays file:///C:/Gustafson/Website/scripts/global.js Loading failed for the <script> with source “file:///C:/Gustafson/Website/TestDirectory/%60$%7BbaseUrl%7Dscripts/global.js%60”. Uncaught ReferenceError: Global is not defined onload file:///C:/Gustafson/Website/TestDirectory/baseUrl_test.html:37 EventHandlerNonNull* file:///C:/Gustafson/Website/TestDirectory/baseUrl_test.html:34 The problem is the console.log displays what is expected but the src= is using something totally different.

글에 답글을 달기 위해서는 계정으로 로그인해야만 합니다. 계정이 아직 없다면 새로운 질문을 올려주세요.