【问题标题】:is there a way to trigger an IE window to open from firefox browser using php and javascript?有没有办法使用 php 和 javascript 触发 IE 窗口从 firefox 浏览器打开?
【发布时间】:2009-09-05 15:33:41
【问题描述】:

我使用 simpletest 作为我的 php 单元测试框架。

我把我所有的测试用例放到一个 all_tests.php 文件中

但是,由于我们的开发人员倾向于使用 firefox 来运行 all_tests.php,我们往往会错过特定于浏览器的失败案例,尤其是 ie7。

有没有一种方法,当有人在 Firefox 中浏览我们的 all_tests.php 时,它会自动触发一个 ie 窗口为同一页面打开?

【问题讨论】:

  • 使用协议“ie.http:”的链接将在 Vista+ 上从 Firefox 启动 IE,但它们会触发提示,用户需要手动调整 IE 中的 URL。 – EricLaw -MSFT-

标签: php javascript firefox internet-explorer simpletest


【解决方案1】:

有办法,但是浏览器会在做之前请求许可。

您可以使用此脚本打开 Internet Explorer(但不要忘记它只有在用户接受安全警告时才有效)

function runExeOnMozilla(path/*as string*/,args/*as array*/) {
    try{
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        var file = Components.classes["@mozilla.org/file/local;1"]
                    .createInstance(Components.interfaces.nsILocalFile);
            file.initWithPath(path);
        var process = Components.classes["@mozilla.org/process/util;1"]
                    .createInstance(Components.interfaces.nsIProcess);
            process.init(file);
            process.run(false, args, args.length);
    } catch(err){
        alert('access denied');
    }
}

【讨论】:

  • 在当前版本的 FF 中,除非您调整设置,否则会在没有提示的情况下触发 ACCESS_DENIED。
【解决方案2】:

编写打开所有窗口的命令批处理文件。

@echo off
set URL="http://example.com/"
cd "C:\Program Files\Internet Explorer"
iexplore %URL%
cd "C:\Program Files\Mozilla Firefox"
firefox %URL%

【讨论】:

  • 最接近的事情,无需花费更多时间从头开始编写扩展。
【解决方案3】:

除了可能制作(或使用现有的)插件之外,我会说不。这将构成严重的安全威胁。

【讨论】:

    【解决方案4】:

    据我所知,如果网页可以在您的硬盘上运行任意程序,那将是一个安全漏洞。

    您可以编写一个简单的 Firefox 扩展来执行此操作,或者,如果您在 Windows 上,则以某种方式使用(或修改)IETab

    【讨论】:

    • 您不能以编程方式在 IE 中打开 FF 选项卡,可以吗?不是我的经验。
    • 我不这么认为,尽管几年前有人将 Gecko 渲染引擎封装为 ActiveX 组件,所以理论上你可以使用它。但是,我建议相反 - 使用扩展程序以编程方式在 FF 中打开 IE 选项卡。
    • 啊,等一下。我说反了。如何在FF中使用javascript打开IEtab?
    • 如果您在扩展程序中运行该 javascript,那么可以。
    猜你喜欢
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    相关资源
    最近更新 更多