안녕하세요.

 

어제 XE 로 PJAX 애드온이나 모듈이 존재하는지 없는것같아 직접제작해봤습니다.

 

캡처.PNG

 

 

http://aw9223.synology.me/

 

위 주소는 테스트 페이지이며 문제될시 삭제하겠습니다.

 

우측메뉴에서 클릭하면 내용부분만 바뀌게 되고

채팅창이나 헤더 푸터는 그대로 유지가 됩니다.

 

현재 a 태그로 인한 페이지이동은 모두 PJAX 로 연결이됩니다.

만약 a 태그로 인한 PJAX 를 작동시키지 않고싶으면

 

<a href="~~" data-pjax="no">클릭</a>

 

위 형태처럼 작성하게되면 PJAX 가 아닌 본래의 페이지 갱신이 되게 하였습니다.

 

다만 form 태그로 인한 페이지이동은 PJAX 를 하지않았습니다.

왜냐하면 로그인부분, 게시글 작성후 포인트변동 등등

{$content} 영역외 렌더링 변동이 발생하여 기존 모듈들, 애드온들이랑

조화가 되지못할것 같아 아예 개발을 하지않앗습니다.

 

현재 PC버전만 생각하여 개발하였는데

아마? 모바일도 되긴할거같네요.

 

차후 테스트하고 버그좀 잡고 기능이 잘된다고 생각하면

배포하겠습니다.

 

  • ?
    사실 ajax로 처리하지 않고 xe를 하위 디렉터리에 설치하면 해결되는 문제긴 하지만... 구글 색인이 힘들어지는 단점이 있죠... 그래서 14년에 동일한 문제로 레이아웃에 꼼수를 썼었는데 =_=;
  • ?
    저 또한 iframe 으로 생각을했지만 구글색인이 안된다는 생각때문에 꺼려지더군요...

    물론 로봇이 들어오게된다면 iframe 안거치고 다이렉트로 xe 하위디렉토리로 들어가게된다면??
    될런지는 모르겠네요 ㅎㅎ..
  • ? ?
    링크했던 사이트처럼 하위 디렉터리로 구글봇이 색인해갈 수 있게 index에 하위 디렉토리를 링크하면 색인 잘 해가더군요.
  • profile

    참고로 주소 뒤에 layout=none을 붙이면 레이아웃 부분은 빼고 나오니, 불필요한 레이아웃을 렌더링한 후에 다시 제거하는 수고를 덜 수 있습니다. 그냥 이것만 보면 깨져 보일 수 있지만, 이미 레이아웃이 있는 페이지에 삽입한다면 CSS가 제대로 적용되어 정상적으로 표시될 것 같네요. XE, 라이믹스 모두 지원되는 기능입니다.

     

    예: https://xetown.com/board/923040?layout=none

  • profile ?
    아하 layout=none 은 저도 처음알았네요 좋은정보 감사합니다.
  • profile ?
    역시 기진곰님... 오늘도 한 수 배워갑니다 =_= b
  • profile ?
    항상 내부에서 {Context::set('layout','none')} 를 썼었는데
    처음부터 레이아웃을 제외하고 출력할 수도 있군요.

    좋은 팁 배워갑니다!
  • ? profile
    URL에 저걸 추가하는 것만으로 임의로 레이아웃을 걷어낼 수 있다는 게 다소 불안하긴 합니다만... 꽤 오래 전부터 지원된 기능인 것 같으니 레이아웃에 보안상 뭔가 중요한 기능이 들어있지 않다면 괜찮을 것 같네요. 이건 PJAX 레이아웃을 개발하시는 분이 조심하시면 되겠지요.
  • profile ?
    언제부터 있던 기능인지... 저도 처음알았네요.
    레이아웃에서 {$content}를 조건에 따른 표시를 하면 안되겠네요.
    일반적으로 그렇게 하지는 않지만요~
    좋은팁 감사합니다!
  • profile
    세상에... 여기 계시는 분들은 정말 천재이신건가 8ㅅ8 이게 가능한 거였군요 ;ㅅ;