gpt4 book ai didi

javascript - 在 Microsoft Edge 中打开跨源窗口时忽略 window.open() 参数

转载 作者:行者123 更新时间:2023-12-02 22:11:22 25 4
gpt4 key购买 nike

在 Microsoft Edge 中,当 url 与当前域的来源不同时,以下代码片段将忽略传递给 window.open() 的选项。但在 Chrome 和 Firefox 中,并且当域是同源时,它可以正常工作。

const popupWindow = window.open(
url,
title,
'menu=no,toolbar=no,width=700,height=600,scrollbars=1,resizable=0,' +
'directories=no,location=no,screenX=0,screenY=0,top=48,left=48',
);

我找到了一个巧妙的解决方法来使窗口大小正确,但这真的很烦人,你可以看到它重定向页面。

const popupWindow = window.open(
"/#",
title,
'menu=no,toolbar=no,width=700,height=600,scrollbars=1,resizable=0,' +
'directories=no,location=no,screenX=0,screenY=0,top=48,left=48',
);
popupWindow.location.href = url;

如何在 Microsoft Edge 上实现此功能?为什么 Microsoft Edge 忽略我的尺寸和其他参数?这是一个错误吗?

最佳答案

我尝试检查该问题,看起来像是与安全设置相关的问题。

我建议您修改以下Internet选项设置。

(1) 启用跨域访问数据源选项。

Internet Options -> Security (Tab) -> Custom Level -> Miscellaneous -> Access data sources across domains -> Set to Enabled

(2) 禁用保护模式

Internet Options -> Security (Tab) -> uncheck Enable Protected mode for Internet & Local Intranet

(3) 将两个域添加到可信站点列表

Internet Options -> Security (Tab) -> Trusted sites -> Sites -> Add both domains to the list.

(4) 取消选中需要服务器验证(https:):

Internet Options -> Security (Tab) -> Trusted site -> Sites -> Uncheck Require server verification(https:) -> enter localhost url & click on add button.

修改上述设置后,我测试了这段代码。

const popupWindow = window.open(
"https://Bing.com",
"Microsoft page",
'menu=no,toolbar=no,width=700,height=600,scrollbars=1,resizable=0,' +
'directories=no,location=no,screenX=0,screenY=0,top=48,left=48',
);

Microsoft Edge 44.18362.1.0 中的输出:

enter image description here

关于javascript - 在 Microsoft Edge 中打开跨源窗口时忽略 window.open() 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59547823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com