html window.open 与弹出窗口拦截器

2uluyalo  于 2023-03-27  发布在  其他
关注(0)|答案(6)|浏览(195)

我试图从默认页面打开某个页面。默认页面中的所有代码是:

<script type="text/javascript">
        window.open("StartPage.aspx", "", "fullscreen=yes");  
</script>

问题是,浏览器的弹出窗口拦截器阻止了这一点,我需要允许浏览器打开它。我想避免这种情况,每一个将使用我的Web应用程序将不需要允许弹出窗口拦截器打开页面。我想通过弹出窗口拦截器,并打开未经许可的页面。
有办法吗?谢谢

sh7euo9m

sh7euo9m1#

adamantium是对的。一个弹出窗口拦截器将是非常无用的,如果它可以被导致弹出窗口的代码覆盖。你可以做的最好的是:

<script type="text/javascript">
    var myPopup = window.open("StartPage.aspx", "", "fullscreen=yes");  
    if(!myPopup)
        alert('a popup was blocked. please make an exception for this site in your popup blocker and try again');
</script>
zte4gxcn

zte4gxcn2#

就像其他人说的,你根本做不到。浏览器阻止了这种行为。另一个选择是不使用window.open,而是使用一个javascript组件,它可以给予你同样的行为。

uttx8gqw

uttx8gqw3#

你不能这样做。阻止弹出窗口是用户的偏好,你无法控制。

nnsrf1az

nnsrf1az4#

你只能使用onclick事件打开弹出窗口。你可以尝试使用target="_blank"提交表单,并将action设置为你的url,但forefox阻止了这一点,google chrome没有。

lx0bsm1f

lx0bsm1f5#

我不认为这是不可能的,每天我都看到流媒体页面打开弹出窗口所有的时间和我的被封锁,所以它应该是一种绕过它

fdx2calv

fdx2calv6#

您必须从用户事件(如onclick())中触发该函数。

const anchorElement = document.querySelector('a');

anchorElement.addEventListener('click', () => {
    window.open("StartPage.aspx", "", "fullscreen=yes");
});

相关问题