2016-06-24 4 views
0

이 자바 스크립트 함수는 데이터 sais (데이터에는 이미지 경로가 포함 된) 이미지를 표시하는 새 창을 엽니 다. 사용자가 아무 곳이나 클릭하면이 새 창을 닫고 싶습니다. 나는 window.write() 안에 javascript를 삽입하여 그것을 할 수 있다고 생각했지만 잘못된 것을하고있다. 어떤 힌트?window.write() 안에 js를 쓰는 방법

function myFunction(data) { 
    img = new Image(); 
    img.src = data; 
    window.open(data, '_blank', 'toolbar=0,location=0,menubar=0, width = '+ img.width +', height=' + img.height); 
    //window.write(<script type="text/javascript"> $(document).click(function(e) { if (e.button == 0) {window.close(); }}); </script>); 
} 
+1

더'window.write()'방법이 없다합니다. 'document.write()'가 있습니다 만, 새로 열어 본 창에 글씨를 쓰려고한다면 그 새 창에서 문서 객체를 가져와야합니다. – jfriend00

+0

var mywindow = window.open (....);을 사용하여 해당 새 창에서 문서 객체를 가져올 수 있습니까? ? –

+0

예. 새 창 개체에서 문서 개체를 가져올 수 있습니다. 하지만, 거기에 타이밍 문제가 귀하의 코드입니다. 예를 들어 이미지가 실제로로드가 끝나기 전에'img.width'를 참조하려고합니다. – jfriend00

답변

1

이미지가 포함 된 창에는 JavaScript를 추가 할 수 없습니다. 가장 좋은 방법은 원하는 이미지를 처리 ​​할 수있는 HTML 페이지를 만들거나 빈 창을 열고 창 문서를 조작하여 이미지와 스크립트를 추가하는 것입니다.

당신은 당신이 윈도우 변수를 확인해야합니다 두 번째 경로를 이동하는 경우 :

var mywindow = window.open('', '_blank', …); 
mywindow.document.…