자바 스크립트 팝업 창 포커스 문제

식기 세척기 WithProgrammingSkill

버튼을 클릭 할 때마다 포커스를받는 "팝업 창"을 만들고 싶습니다. 아래 함수는 onclick이벤트 에서 제대로 실행되지만 상위 페이지가 새로 고쳐지고 onload 이벤트에서 실행될 때 예상대로 실행되지 않습니다.

내 기능은 다음과 같습니다.

function PopupDelete(delete_images)
{
    var win = window.open('URL','PopupDelete','width=500,height=400,scrollbars=yes');
    win.focus();
}

따라서 아래 버튼에서 이것을 사용하면 예상대로 작동합니다.

<input type="button" name="delete" value="Images" class="smallbutton" onclick="PopupDelete(delete_images);">

이제 내가 가진 문제는 PopupDelete함수 를 직접 호출하는 대신 버튼에 set_mode라는 다른 메서드를 사용하고 있다는 것입니다.

function set_mode(mode) 
{
    document.MASTER.mode.value = mode;
    document.MASTER.submit();
}

<input type="button" name="delete" value="Images" class="smallbutton" onclick="set_mode('delete');">

마스터 양식의 모드를 삭제로 설정하고 양식을 제출합니다. 랜딩 페이지는 양식이있는 페이지와 동일합니다. 그래서 그것은 약간의 PHP 유효성 검사를 수행 하고 body 태그 내의 메소드로 PopupDelete함수를 실행합니다 onload.

<body onload='PopupDelete(delete_images)'>

팝업 창이 열려 있지 않으면 제대로 작동하지만 팝업 창이 이미 열려 있고 최소화되어 있으면 팝업 창이 포커스를 얻지 못합니다. 재미있는 점은 팝업 창에 렌더링 된 내용을 인식하고 업데이트하지만 .focus ()는 인식하지 못한다는 것입니다.

어떤 제안이라도 널리 감사하겠습니다.

아담 메리 필드

사용자 상호 작용없이 팝업 창을 여는 것과 사용자 상호 작용없이 팝업 창에 초점을 맞추는 것은 브라우저 보안 때문입니다. 또한 보안이 독립적으로 유지되기 때문에 이는 브라우저에 따라 다릅니다.

사용자가 이미 차단 된 팝업 표시를 수락 한 경우 사용자 상호 작용없이 팝업 창을 열 수있는 것으로 보입니다. 그러나 팝업을 허용한다고해서 focus팝업 창 개체 에서 메서드 를 호출 할 수는 없습니다 . 이 다른 SO 대답 은 더 많은 정보를 원하면 이것에 대해 다룹니다 .

다음 코드로이 문제를 시연 할 수 있습니다 . 페이지를로드해도 Safari, Chrome 또는 Firefox에서 팝업이 열리지 않습니다 (Mac을 사용하고 있으므로 브라우저 결과가 Windows와 다를 수 있음을 명심하십시오). 차단 된 팝업을 허용하거나 이전에 사이트를 방문했을 때 이미 팝업 창이 열려있는 경우 창은 3 개의 브라우저 모두에서 URL로 다시로드됩니다. Safari에서만 focus사용자 상호 작용없이 이미 팝업 창에서을 호출 할 수 있습니다 (onload), Chrome 및 Firefox는 그렇지 않습니다. 그러나 보시다시피 포커스 버튼을 클릭해도 세 브라우저 모두에서 팝업 창에 포커스가 맞춰져 가능하다는 것을 보여 주지만 브라우저가 차단하고 있습니다. 그래서 내가 말할 수있는 것은 Safari에서만 가능합니다 (다시 한번 IE를 시도하지 않았 음을 기억하십시오). 그러나 어느 쪽이든 사용자가 특정 브라우저를 사용하여 사이트를 올바르게 보도록 강요하는 것은 좋지 않다고 생각합니다.

var w;

function PopupDelete(delete_images) {
    w = window.open('/testing/t/', 'PopupDelete', 'width=500,height=400,scrollbars=yes');
    console.log(w);
    w.focus();
}

$(function () {
    PopupDelete();

    $('#open').click(PopupDelete);
    $('#focus').click(function () {
        console.log('f', w);
        w.focus();
    });
});

데모

또한 이렇게 할 수 있더라도 부모를 다시로드하면 팝업 창을 다시window 열고 이전 창을 대체하는 것입니다 ( 이는 이전에 열린 창의 개체를 가져올 수 없기 때문에 수행해야합니다. , 먼저 다시 열지 않고 초점을 맞추기 위해 해당 변수를 유지할 방법이 없습니다). 따라서이 팝업 창은 어쨌든 무결성을 유지하지 않습니다. 이 작업을 완료하는 더 좋은 방법이 있어야한다고 생각합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트를 사용하여 팝업 창 제목 변경

분류에서Dev

자바 스크립트가있는 모달 팝업 창

분류에서Dev

자바 스크립트의 팝업 창 안에있는 버튼

분류에서Dev

자바 스크립트로 팝업 창에 배열 보내기

분류에서Dev

자바 스크립트를 사용하여 업로드 창 팝업 차단

분류에서Dev

자바 스크립트 이미지 마우스 오버 확대 팝업 창

분류에서Dev

자바 스크립트에서 자동으로 닫히는 팝업 창

분류에서Dev

어떻게 자바 스크립트 팝업 창을 모달로 만들려면?

분류에서Dev

자바 스크립트에서 ESC keydown의 팝업 창을 닫는 방법

분류에서Dev

팝업 창에서 자바 스크립트로 데이터 전달

분류에서Dev

링크 변경시 항상 iframe, div 또는 창으로 자바 스크립트 팝업 창 표시

분류에서Dev

자바 스크립트 / HTML / CSS 팝업

분류에서Dev

자바 스크립트를 사용하는 사용자의 onclick 이벤트에서 문서가 새 팝업 창을 만드는 것을 방지하는 방법

분류에서Dev

자바 스크립트 팝업 창이 모바일 장치에서 다시 열리지 않음

분류에서Dev

팝업 창에서 .NET MVC 4 웹 사이트 자바 스크립트 기능이 실행되지 않음

분류에서Dev

두 개의 제출 버튼에 대한 자바 스크립트 팝업 확인

분류에서Dev

Tkinter : 팝업 창을 아이콘 화 해제하는 방법 (및 포커스)?

분류에서Dev

창 기록 제목을 자바 스크립트로 바꾸기

분류에서Dev

셀레늄 웹 드라이버에서 자바 스크립트 경고 / 팝업 창을 처리하는 방법

분류에서Dev

자바 스크립트 함수로 div 업데이트 문제

분류에서Dev

HTML 양식 제출 자바 스크립트 확인 창 표시

분류에서Dev

자바 스크립트 검색 창 전용 검색 제목

분류에서Dev

Windows 스크립팅 호스트 팝업-다른 창 위에

분류에서Dev

if 문 sourc 문제 자바 스크립트

분류에서Dev

자바 스크립트로 작성된 그래프가 포함 된 팝업 창을 여는 방법은 무엇입니까?

분류에서Dev

자바 스크립트 창 높이

분류에서Dev

자바 스크립트-이 대 창

분류에서Dev

자바 스크립트를 사용하여 체크 박스가있는 팝업 창을 어떻게 만들 수 있습니까?

분류에서Dev

자바 스크립트 및 HTML로 팝업 표시

Related 관련 기사

  1. 1

    자바 스크립트를 사용하여 팝업 창 제목 변경

  2. 2

    자바 스크립트가있는 모달 팝업 창

  3. 3

    자바 스크립트의 팝업 창 안에있는 버튼

  4. 4

    자바 스크립트로 팝업 창에 배열 보내기

  5. 5

    자바 스크립트를 사용하여 업로드 창 팝업 차단

  6. 6

    자바 스크립트 이미지 마우스 오버 확대 팝업 창

  7. 7

    자바 스크립트에서 자동으로 닫히는 팝업 창

  8. 8

    어떻게 자바 스크립트 팝업 창을 모달로 만들려면?

  9. 9

    자바 스크립트에서 ESC keydown의 팝업 창을 닫는 방법

  10. 10

    팝업 창에서 자바 스크립트로 데이터 전달

  11. 11

    링크 변경시 항상 iframe, div 또는 창으로 자바 스크립트 팝업 창 표시

  12. 12

    자바 스크립트 / HTML / CSS 팝업

  13. 13

    자바 스크립트를 사용하는 사용자의 onclick 이벤트에서 문서가 새 팝업 창을 만드는 것을 방지하는 방법

  14. 14

    자바 스크립트 팝업 창이 모바일 장치에서 다시 열리지 않음

  15. 15

    팝업 창에서 .NET MVC 4 웹 사이트 자바 스크립트 기능이 실행되지 않음

  16. 16

    두 개의 제출 버튼에 대한 자바 스크립트 팝업 확인

  17. 17

    Tkinter : 팝업 창을 아이콘 화 해제하는 방법 (및 포커스)?

  18. 18

    창 기록 제목을 자바 스크립트로 바꾸기

  19. 19

    셀레늄 웹 드라이버에서 자바 스크립트 경고 / 팝업 창을 처리하는 방법

  20. 20

    자바 스크립트 함수로 div 업데이트 문제

  21. 21

    HTML 양식 제출 자바 스크립트 확인 창 표시

  22. 22

    자바 스크립트 검색 창 전용 검색 제목

  23. 23

    Windows 스크립팅 호스트 팝업-다른 창 위에

  24. 24

    if 문 sourc 문제 자바 스크립트

  25. 25

    자바 스크립트로 작성된 그래프가 포함 된 팝업 창을 여는 방법은 무엇입니까?

  26. 26

    자바 스크립트 창 높이

  27. 27

    자바 스크립트-이 대 창

  28. 28

    자바 스크립트를 사용하여 체크 박스가있는 팝업 창을 어떻게 만들 수 있습니까?

  29. 29

    자바 스크립트 및 HTML로 팝업 표시

뜨겁다태그

보관