찾다

 >  Q&A  >  본문

php - window.open() 팝업이 차단되었습니다.

백엔드에서 URL을 전달하면 이를 수신한 후 프런트엔드가 새 창을 열고 이 링크로 이동합니다.
window.open(url, '_blank');를 사용하세요. 브라우저에 의해 차단됩니다.< /p>

이를 달성할 수 있는 방법이 있습니까? a 태그의 클릭을 시뮬레이션하려고 시도했지만 여전히 이를 가로채고 있습니다. p가 팝업되어 iframe을 로드하면 창이 열리지 않습니다.< /p>

문제가 해결되었습니다. 허용된 답변을 확인하세요.

PHPzPHPz2749일 전713

모든 응답(8)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-05-16 13:14:48

    이 질문에 대해 먼저 브라우저가 "인공적이지 않은" 호출을 수행하는 이유를 이해해야 합니다. 그런 다음 ajax로 이동하여 데이터를 얻은 다음 대략적인 의사 코드에 URL을 할당합니다. 다음과 같습니다:window.open的弹窗进行拦截,什么叫做"非人为"的,就是浏览器判断在用户操作和window.open之间不是连续的,浏览器会认为可能是流氓程序弹出的广告窗口从而进行拦截
    从楼主的描述可以看出,楼主应该是进行某个操作之后,通过ajax去获取一个url,然后通过window.open打开页面,我们都知道ajax是异步的,浏览器就认为不是连续的,所以就拦截了
    解决方法可以先在操作(比如点击)的时候,直接window.open 으아악

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:14:48

    으아아아

    별거 없습니다.

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:14:48

    _blank를 추가하나요?

    으아아아

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-16 13:14:48

    URL에 http 또는 https 헤더가 있는 경우

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:14:48

    메서드를 트리거하는 이벤트를 a 태그로 작성하고, a 태그가 가리키는 컨트롤러에서 URL을 가져오는 로직을 작성하면 간단히 window.open 메소드를 우회하여 새 페이지로 돌아갈 수 있습니다

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:14:48

    보안상의 이유로 브라우저는 자동으로 팝업을 차단합니다

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:14:48

    window.open와 같이 사용자가 클릭한 후 짧은 시간 내에 새 창을 여는 명령만 차단되지 않습니다. 이는 브라우저의 보안 제한 사항입니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:14:48

    ajax 요청에 매개변수를 하나 더 추가해 보세요:async: false

    회신하다
    0
  • 취소회신하다