이 페이지의 스크립트에서 오류가 발생하였습니다

개인 홈페이지에 다음 지도를 표시하도록 하고, index.html 파일의 자바스크립트 함수로 주소를 인자로 받아 해당 주소로 지도의 중심을 옮기도록 했습니다.
윈도우 폼 어플리케이션에서 주소를 입력받고 Document.invokeScript(“함수명”, object args[] {주소});라고 실행시키면
줄: 0
문자: 0
오류: Sccript Error
코드: 0
URL: http://s1.daumcdn.net/svc/attach/U03/cssjs/mapapi/libs/1.0.1/1515130215283/services.js
라는 에러가 뜹니다.
이상한 것은 해당 개인홈페이지에서 함수를 사용하여 이동하면 잘 된다는 것인데, 윈도우 폼 어플리케이션에서만 상기 오류가 발생한다는 점입니다.

원인과 해결책을 알고 싶습니다.

일단 메이저 브라우저가 아닌 윈폼, 임베디드 브라우저, 웹뷰 등의 특수 상황 경우에는
저희가 개발 환경을 동일하게 구축하기 힘든 관계로 대응을 하지 못하고 있습니다.

질문 주신 경우도 마찬가지로 정확한 대응이 힘듭니다.
일단 대략적으로라도 감을 잡으려면 정확한 에러 문구를 알아야 가능할거 같은데…
흠… 도메인 미스매치일 수도 있고… 모르겠네요.
리퀘스트가 제대로 응답을 받고 있는지 확인이 가능하다면
응답 값을 먼저 확인해 보세요. 그리고 그 내용으로 다시 질문 부탁드립니다.

사이트 도메인은 개인 홈페이지 주소
Redirect Path: 아무 것도 입력하지 않았는데, 자동으로 /oauth가 입력되는데 이것이 맞는지 모르겠습니다.
index.html 내에 자바스크립트 함수의 내용은 다음과 같습니다.
function Address(adr)
{
var geocoder = new daum.maps.services.Geocoder();
geocoder.addressSearch(adr, function(result, status) {

// 정상적으로 검색이 완료됐으면 
 if (status === daum.maps.services.Status.OK) {

    var coords = new daum.maps.LatLng(result[0].y, result[0].x);

    // 결과값으로 받은 위치를 마커로 표시합니다
    var marker = new daum.maps.Marker({
        map: map,
        position: coords
    });

    // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
    map.setCenter(coords);
} 

});
비주얼 스투디오 2013 C# 윈도우폼 개발환경이고요 Webbrowser1.Document.invokeScript 함수를 실행시키면 발생되는 오류입니다.

Webbrower1.Document.InvokeScript(“Address”, new object[] { adr });

오류 내용은 다음과 같습니다.

상기 내용으로 확인이 가능할까요?

웹사이트에서도 안된다면 감이라도 잡을 수 있을거 같은데, 윈폼에서만 안된다면…
솔직히 잘 모르겠습니다.

WebBrowser 컴포넌트가 내장한 자바스크립트 엔진의 차이일 수도 있습니다.
IE 것을 사용하는지 Webkit 혹은 Gecko를 사용하는지의 차이에서 비롯된 문제일 수도 있고요.

에러가 나는 경우에
InvokeScript 메소드의 args로 넘기는 adr 값을 자바스크립트에서는 어떤 형태로 받고 있는지,
혹은 null이나 빈 값은 아닌지 한 번 확인해 보세요.

일단 해결은 했습니다.
CSS Style로 지정했던 것들을 삭제하고 나니 정상 동작하더군요.
아마도 윈폼과 daum api 간의 CSS 처리에 상이점이 있는 것으로 생각하지만
확실하지 않고, 해결은 되었으니 돌아는 갑니다만 왠지 찜짐하군요.
원인은 더 찾아 봐야할 것 같습니다.
도움 주셔서 감사드립니다 ^^

1개의 좋아요