Q&A

load 와 link 의 차이가 뭔가요?

2019.03.20 00:27
1,034
0
CMS/프레임워크 XE 1.x
개발 언어 사용안함

템플릿에서 css나  js 를 불러올때 <load>,<link> 를 사용합니다.

 

제가 가진 자료들에서는 주로 load를 많이 쓴 것 같구요. 웹상에서 는 link로 불러오도록 하는 문서가 대부분인 듯 하여 두가지 차이점이 궁금해졌습니다.

댓글 5

  • 2019.03.20 00:35 #1195911
    link같은 경우는 외부 웹폰트 같은 사용자의 컴퓨터에 없는걸 불러올때,
    load는 서버에 존재하는 파일을 불러올때일꺼에요.
  • 2019.03.20 00:47 #1195926
    load 로도 외부 파일을 불러올 수 있습니다.
    예시
    <load target="///stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" index="-1"/>
  • 2019.03.20 00:42 #1195918
    <load> 는 XE 템플릿에서 쓰이는 문법이고 <link> 는 일반 html 문서에서 css 를 로드할 때 사용됩니다.
    어차피 <load> 로 css 를 로드 하면 <link> 로 변환합니다.

    대신 <load> 는 <link> 보다 다양한 기능을 제공합니다.
    js css 상관없이 쓸 수 있고 로드 위치, 순서 등을 지원합니다.
  • 2019.03.20 00:46 #1195922
    아.. xe용 이라는 것이군요. cond 같은 조건을 섞어서 쓰려면 이것을 사용해야 편리하겠네요. 이제 이해가 되네요.
  • 2019.03.20 06:48 #1196160

    윗분들 말씀처럼 HTML5 표준에 맞지 않는 문법으로 사용되기 때문입니다.

     

    RXE에서는 <load 를통해서 targer, type 등을 설정함으로써 HEAD에서 css를 실행하냐 Body에서 실행하냐가 결정되거든요.

     

    그리고 이런 <load 를 사용하여 실행하게되면 type="body" 옵션을 사용하지 않는한 무조건 head(제일최상단)에 css와 js를 실행시킵니다.

     

    이와 같이 XE에서만 사용되다보니 PHPStorm과 같은 HTML 표준의 IDE를 사용해보시면 좀더 명확하게 알려주기도 합니다.

     

    스크린샷_032019_034030_PM.jpg

    (문법에 맞는 코드에서 {$~~} 과 같은 부분과cond부분 제외요)

     

    실제로 <load 으로 시작한 코드들은 하나같이 뭔가 경고성  갈색(고동색?) 바탕(밑줄과 함께)이 칠해지게 됩니다.

    하지만 정상적으로 입력된 코드에서는 문법이 어긋나지 않기 때문에 문제가 없이 정상적으로 에디터에서 표기해주죠.

    물론 cond=와 같은 XE에서만 통용되는 코드역시 마찬가지로 경고성 바탕이 칠해지게 되고요. (밑줄이랑함께)

    이는 <load 자체가 HTML5 표준에 맞지 않고 (사실HTML에서 사용이 아에 안되는 부분이죠) 문제가 있는 코드로 알려주는 것입니다.

     

    이를 XE내에서 사용하기 때문에 문제가 없습니다.

     

    외부 html 파일을 만들어서 위의 코드를 입력하여 사용하게되면 의도했던 바대로 동작하지 않죠.(실제로는 load가 브라우저에서 어떻게 사용해야하는지 모르거든요)

     

    <load와 마찬가지로 <include 역시 XE에서만 사용됩니다.

     

    스크린샷_032019_034058_PM.jpg