Subject
자바스크립트 작성 시 String 소스 내에서 줄 개행 방법입니다.
오늘은 자바스크립트 관련 팁을 적어보려합니다.
최근 집을 구할 순 없을까해서 정부관련 사이트를 둘러보는데 친구가 준 링크를 누르면 세부카테고리 사이트가 아니라 홈화면으로만 가져서 소스를 보니 역시나.. POST 방식의 form으로 사이트를 호출하고 있었습니다.
사이트의 링크가 변하질 않으니 당연히 링크도 정상적인 상태가 아닌 것 이지요.
결국 버튼에 onClick액션을 할당해서 hidden상태의 form에 데이터를 넣는 function을 호출하는 방식인데,
타사이트에서 호출하려면 똑같이 form을 만들어서 submit하면 되지 않을까? 하는 생각이 들더라고요.
그래서 아래와 같은 소스를 만들었더니 SyntexError가 발생합니다.
javascript:(function(){
document.body.innerHTML =
'<form name="menuForm" action="https://www.lh.or.kr/contents/cont.do" id="menuForm" method="post">
<input type="hidden" name="sCode" value="">
<input type="hidden" name="mPid" value="">
<input type="hidden" name="mId" value="">
<input type="hidden" name="menuYear" value="">
</form>'
$("#menuForm > input[name=sCode]").val('user');
$("#menuForm > input[name=mPid]").val(242);
$("#menuForm > input[name=mId]").val(246);
$("#menuForm").submit();
})()
줄바꿈Line Breaking을 위해선 역슬래쉬 \ 가 필요했습니다.
javascript:(function(){
document.body.innerHTML =
'<form name="menuForm" action="https://www.lh.or.kr/contents/cont.do" id="menuForm" method="post">\
<input type="hidden" name="sCode" value="">\
<input type="hidden" name="mPid" value="">\
<input type="hidden" name="mId" value="">\
<input type="hidden" name="menuYear" value="">\
</form>'
$("#menuForm > input[name=sCode]").val('user');
$("#menuForm > input[name=mPid]").val(242);
$("#menuForm > input[name=mId]").val(246);
$("#menuForm").submit();
})()
이렇게 했더니 사이트 이동이 정상적으로 동작하더라고요.
그런데 애초에 이렇게 할 필요없이 POST 방식도 GET방식으로 URL을 호출하면 마찬가지로 파라미터로 전달이 됩니다.
따라서, 위 스크립트는 결국 아래와 같은 주소인 것이죠.
https://www.lh.or.kr/contents/cont.do?sCode=user&mId=246&mPid=242
정말 너무 사소해서 쓸까말까 고민했는데 그래도 조금 헤매실 분들이 계실지도 몰라 남겨봅니다.
- 참조
- None
ⓒ 굿햄 2022. daryeou@gmail.com all rights reserved.
'Web' 카테고리의 다른 글
오픈그래프란? - SNS에 공유를 위한 META 태그 (0) | 2022.05.06 |
---|
댓글