로드뷰 구현 시 백엔드 sdk 호출을 통해서 산출물을 개발 중인 상황이고
kakao-sdk/:9 Failed to execute ‘write’ on ‘Document’: It isn’t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
라는 문구가 표출되며 스크립트 로드를 실패하게 됩니다.
서칭결과
autoload=false 쿼리 추가 사용으로 해결했다는 분들이 계시는대,
현재 제가 구현중인 동적 스크립트 생성 방법에는 적용 불가능한 상황이라고 판단되어
이 문제를 해결 할 수 있는 방법이 있는지 문의드립니다.
document.write를 SDK 내부에서 사용하고 있기 때문에 해당 문제를 해결하는 방법으로
스크립트를 동적 로딩하는 autoload=false 파라미터 사용을 권장하고 있습니다.
자세한 내용은 아래 답변 참고해 주시고, 가능한 해당 파라미터를 사용할 수 있는 방법을 고려해 주시면 감사하겠습니다. https://devtalk.kakao.com/t/topic/130828/20?u=lea.ju
메인 서비스에서 호출 시, 저희가 개발중인 서비스는 서브 서비스로서
메인 dom에 하나의 div형태의 컴포넌트로 호출되게 됩니다.
현재 컴포넌트 div하위에 스크립트를 동적 생성해서 사용할 수 밖에 없는 상황입니다.
현재 코드 실행 후,
Failed to execute ‘write’ on ‘Document’: It isn’t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened
오류가 표출중이며
kakao 객체를 호출해서 확인 시, 필요 객체들이 누락되어 있는게 확인됩니다.
sdk 호출은 메인 서비스 nginx를 통해 처리중이며,
가이드해주신 쿼리스트링 파라미터는 추가되어 있는 상황입니다.
메인 서비스쪽에 sdk 추가 후, window객체를 전달 받아 사용할 수 없는 상황이라
서브 서비스단에서 해결 방안이 있을지 문의드립니다.
proxy서버에서 SDK 불러오면 autoload=false 파라미터와 상관없이 SDK를 온전히 로딩하지 못합니다.
스크립트에서 도메인을 체크 후 지도 객체를 설정하는데 해당 방법을 사용하면 조건에 통과되지 못해서
kakao.maps에 기본으로 제공하는 객체들이 설정되지 않습니다.
지금 사용하는 방법으로 스크립트를 로드하면 SDK 정상 동작을 보장하지 않으므로
가이드에 나온 대로 스크립트를 클라이언트에 import 해서 사용해 주세요.