백엔드에서 URL을 전달하면 이를 수신한 후 프런트엔드가 새 창을 열고 이 링크로 이동합니다. window.open(url, '_blank');를 사용하세요.
브라우저에 의해 차단됩니다.< /p>
이를 달성할 수 있는 방법이 있습니까? a 태그의 클릭을 시뮬레이션하려고 시도했지만 여전히 이를 가로채고 있습니다. p가 팝업되어 iframe을 로드하면 창이 열리지 않습니다.< /p>
문제가 해결되었습니다. 허용된 답변을 확인하세요.
巴扎黑2017-05-16 13:14:48
이 질문에 대해 먼저 브라우저가 "인공적이지 않은" 호출을 수행하는 이유를 이해해야 합니다. 그런 다음 ajax로 이동하여 데이터를 얻은 다음 대략적인 의사 코드에 URL을 할당합니다. 다음과 같습니다:window.open
的弹窗进行拦截,什么叫做"非人为"的,就是浏览器判断在用户操作和window.open
之间不是连续的,浏览器会认为可能是流氓程序弹出的广告窗口从而进行拦截
从楼主的描述可以看出,楼主应该是进行某个操作之后,通过ajax去获取一个url,然后通过window.open
打开页面,我们都知道ajax是异步的,浏览器就认为不是连续的,所以就拦截了
解决方法可以先在操作(比如点击)的时候,直接window.open
으아악
漂亮男人2017-05-16 13:14:48
메서드를 트리거하는 이벤트를 a 태그로 작성하고, a 태그가 가리키는 컨트롤러에서 URL을 가져오는 로직을 작성하면 간단히 window.open 메소드를 우회하여 새 페이지로 돌아갈 수 있습니다
我想大声告诉你2017-05-16 13:14:48
window.open
와 같이 사용자가 클릭한 후 짧은 시간 내에 새 창을 여는 명령만 차단되지 않습니다. 이는 브라우저의 보안 제한 사항입니다.