음모를 꾸미느라 뭘 좀 하다가 도중에 막혀가지고 답답해서 여기서 의견 좀 구합니다.
뚫어줄수 있는 한두마디만 좀 얻고 싶어서요...
크롬 익스텐션 개발 방법에 대한 자세한 내용은
https://developer.chrome.com/extensions/overview
여기 나와있지만 간단히 설명하자면
자바스크립트로 코딩해서 소스코드 파일들을 하나의 폴더에 넣어놓고
크롬에서 주소창에 chrome://extensions/ 넣고 들어가서
개발자모드 체크하고
"Load Unpacked Extension..." 버튼 눌러서
개발한 폴더를 선택해주면 뿅 하고 익스텐션이 설치되는 방식입니다.
만들고 싶은 것이 어떤 특정 기능을 수행하는 크롬 익스텐션입니다.
크롬으로 어떤 사이트에 가서
1. 크롬 익스텐션 버튼을 누르면
2. 그곳 사이트에 떠있는 입력폼에 내가 원하는 문자열이 value 로 들어가고
3. 엔터키를 누른 것 같은 효과를 내는 것
입니다.
근데...
입력폼에 문자열 넣기 까지는 되는데
엔터키 효과가 안되는 난관에 봉착...
엔터키 효과를 내기 위해 사용한 것은
https://github.com/j-ulrich/jquery-simulate-ext
이것입니다.
그냥 jQuery 의 $.Event 를 사용해서 트리거도 해봤는데 안되길래 위의 소스까지 사용해본건데요
http://jsfiddle.net/Ignitor/Psjhf/
여기에서 데모를 실행해 볼 수있도록 되어있는데 여기선 물론 잘 됩니다.
엔터키 효과 내려면 key-sequence 부분을 이렇게 고쳐서 돌리면 됩니다.
.simulate("key-sequence", {sequence: "foobar{enter}"});
근데 이것을 그 특정 사이트에서 하려고 하니 안됩니다.
그 특정사이트의 HTML, Javascript, CSS 소스를 브라우저 소스보기 해서 저장한 것이 두번째 첨부파일인데요
일단 로컬에서 이리저리 뜯어보고 실험한 다음에 나중에 완성되면 그 사이트에 로그인 해 들어가서 익스텐션을 사용하려는 것이죠...
로컬에서 아파치 서버를 돌려서 두번째 첨부파일을 브라우저에 띄워놓고
채팅창같이 생긴 부분에 세가지 탭이 있는데 그중 세번째 탭으로 들어가서
첫번째 첨부파일을 크롬 익스텐션에 설치해서 실행해보면
입력칸에 "foobar" 라는 문자열이 들어가긴 하는데 엔터키 효과가 안난다는 것이 문제입니다.
직접 손으로 엔터키를 치면 엔터키 효과가 나게 되지만 바로 그것을 자동화 하고싶다는 것이 핵심입니다...
그 사이트에서는 자바스크립트로 keyup 이벤트 발생시에 그 키가 엔터키인지 확인해서 엔터키인 경우 채팅 메세지를 Ajax GET Request 로 보냅니다. (이때 자동생성되는 어떤 고유값과 함께 보냅니다. 저는 그것을 우회하고자 엔터키 keyup 이벤트 강제발생을 시키려고 하는 겁니다...)
조언 구합니다!
그 외에는 함수를 실행하셔도 됩니다. 나가봐야 해서..