【问题标题】:is window.open("", ... impossible with firefox?window.open("", ... 用 Firefox 是不可能的吗?
【发布时间】:2009-11-19 20:19:01
【问题描述】:

在 Firefox 中,我使用 file:// 协议打开了一个本地存储的文件 (file:///c:/temp/foo.html)

foo.html 包含 Java 脚本,它(除其他外)被认为是一个新的 窗口没有 URL:

var new_window = window.open("","", "height=100,left=50,width=200");

到达此行时,Firefox 会显示“Firefox 阻止此站点打开弹出窗口”。我不明白为什么 Firefox 会给出这个警告,显然,文件 (foo.html) is 在我的控制之下(因为它存储在本地并且我已经使用 file:// 协议打开它,并且,另外,要打开的窗口不指向任何可能包含任何敏感数据的文件,因为open方法中的url参数设置为“”。

但除此之外,我似乎甚至无法强制或允许Firefox打开窗口。黄色的“Firefox prev....”栏上有这个“选项”按钮,据说应该允许创建异常,但我不能。

所以,问题基本上归结为:如何允许本地 html 文件在 Firefox 中使用 Javascript 打开一个空窗口。

谢谢/雷内

【问题讨论】:

    标签: javascript firefox


    【解决方案1】:

    这是 Firefox 的安全预防措施,请参阅此链接:

    http://kb.mozillazine.org/Links_to_local_pages_don't_work

    不过,这个扩展似乎允许您覆盖它:

    https://addons.mozilla.org/en-US/firefox/addon/281

    【讨论】:

    • 是的...但我没有链接(或打开)本地文件,我打开的网址是“”。
    • 它仍然适用,因为 Firefox 会将空白 URL 视为来自不同域的本地文件。你试过扩展吗?
    【解决方案2】:

    这是弹出窗口阻止程序,它阻止未由明确的用户操作(如点击)打开的弹出窗口。 您不能强制它打开弹出窗口,您需要允许 Firefox 打开它。 我建议你测试new_window 变量看它是否为空。在这种情况下,向用户显示一条消息,以便他允许域打开弹出窗口。

    【讨论】:

    • 我是这个用户,我已经知道我想让 Firefox 打开窗口,但是由于新打开的窗口没有域并且没有任何关联,我不能告诉 Firefox 请让我做什么我想要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    相关资源
    最近更新 更多