테스트 사이트 - 개발 중인 베타 버전입니다

게시판 첨부파일 다운로드시 새창 띄우기 채택완료

W789 10년 전 조회 4,383

 

사진상의 게시판 본문에서 빨간라인의 첨부파일 클릭시

첨부파일이 다운로드 되면서 http://aaaa.co.kr">http://aaaa.co.kr 이란 사이트를 같이 새창으로

띄우려고합니다.

 

사이트는  

1. http://aaaa.co.kr">http://aaaa.co.kr

2. http://bbbb.co.kr">http://bbbb.co.kr

3. http://cccc.co.kr">http://cccc.co.kr

의 3~4개 사이트를 클릭시 랜덤하게 띄우고 싶습니다.

방법이 있을까요? 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
10년 전

게시판 스킨이 basic 이라고 가정하고,

./skin/board/basic/view.skin.php 파일을 열어 아래와 같이 수정해보세요.

</p><p><?php</p><p>if (!defined("_GNUBOARD_")) exit;</p><p>include_once(G5_LIB_PATH.'/thumbnail.lib.php');</p><p> </p><p>//상단에 램덤 주소 추가</p><p>$sites = array('<a href="<a href="http://aaa.co.kr" target="_blank" rel="noopener noreferrer">http://aaa.co.kr</a>"><a href="http://aaa.co.kr" target="_blank" rel="noopener noreferrer">http://aaa.co.kr</a></a>', '<a href="<a href="http://bbb.co.kr" target="_blank" rel="noopener noreferrer">http://bbb.co.kr</a>"><a href="http://bbb.co.kr" target="_blank" rel="noopener noreferrer">http://bbb.co.kr</a></a>', '<a href="<a href="http://ccc.co.kr" target="_blank" rel="noopener noreferrer">http://ccc.co.kr</a>"><a href="http://ccc.co.kr" target="_blank" rel="noopener noreferrer">http://ccc.co.kr</a></a>');</p><p>$skey = array_rand($sites);</p><p> </p><p>~ 중략 ~</p><p> </p><p>//첨부파일 링크인 아래 부분을 찾아 수정함</p><p><a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download">  <-- 이부분 수정</p><p><a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download" onclick="window.open('<?php echo $sites[$skey];?>','','width=600,height=600');"> <-- 수정된 내용</p><p>

window.open 에서 width 와 height 값을 주지 않으면 다운로드 내용이 새창에 가려질 수 있음에 주의해야 함. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

진서기
10년 전

자바스크립트로 가능합니다.

 

http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array">http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array

 

위 배열 섞기 함수를 이용해보세요.

 

띄우려는 주소를 배열로 정의하고  

 

링크 클릭시 첫번째배열값을 새창으로 뜨도록 하면 됩니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인