【问题标题】:Popup browser compatibility弹出浏览器兼容性
【发布时间】:2023-04-07 05:47:01
【问题描述】:

我正在使用 javascript 在浏览器中打开弹出窗口,但功能和支持的属性似乎有所不同。

在 IE 中,我可以打开一个弹出窗口然后调整它的大小,但如果我从那个窗口打开一个弹出窗口,它不会调整大小。

在 Chrome/Firefox 中,如果我打开一个弹出窗口,它会显示不同的大小,然后如果我从该窗口打开另一个弹出窗口,它将在父窗口旁边的新选项卡中打开。

在 Chrome 中我无法删除地址栏。

在 Chrome/Firefox 中,我无法阻止窗口大小调整。

有没有办法找出每个浏览器支持的内容或让它们都以相同的方式运行?

【问题讨论】:

    标签: c# javascript asp.net browser webforms


    【解决方案1】:

    有没有办法找出每个浏览器支持的内容或获取 他们都表现得一样吗?

    没有。

    您必须记住,用户首选项可以设置为覆盖默认行为,并且一些防病毒套件包括弹出窗口阻止插件。通常,您也不知道客户端是在移动设备上(可能甚至不支持弹出窗口)还是在某些非常奇怪的浏览器上查看此内容。 (Linux 用户有我们从未考虑过的选项,包括纯文本等。)处理您对客户端配置的控制有限的事实只是成为 Web 开发人员的一部分。

    我的建议是重新考虑设计。我不确定您要做什么,但在适当的情况下考虑modal dialogs using JavaScript and css 之类的事情,只需打开带有“target=_new”的链接,让用户的偏好和浏览器决定这是弹出窗口还是新窗口标签。

    【讨论】:

    • 我将研究 target=_new 并将用户浏览器设置放在一边,开发人员如何让它打开并在所有这些设置中看起来都一样?
    • 我们没有。这就是我要说的。对于 Web 开发,现实情况是它在所有系统中看起来都不一样。在为 Web 设计时,您必须牢记这一点并尽力处理它。更多信息:noupe.com/design/… 或许还有更多有用的信息:w3.org/community/webed/wiki/…
    【解决方案2】:

    使用 JQuery UI 的对话框。该框架将在内部处理所有浏览器差异。

    【讨论】:

    • 您只能在同一窗口中使用 jquery 对话框。如果您需要保持其他窗口打开或从彼此内部打开它们,那么它是没有用的。
    【解决方案3】:

    如果您在 Web 应用程序的对话框中打开多个对话框,也许应该重新考虑您的 UI 以更符合 Web 标准。浏览器中的对话框非常适合查看或简单的 1 步操作,但除此之外,它们会变得更加混乱和没用。

    【讨论】:

      猜你喜欢
      • 2011-01-07
      • 1970-01-01
      • 2018-11-25
      • 2012-10-19
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多