Php 从Firefox执行本地文件的最简单方法?

Php 从Firefox执行本地文件的最简单方法?,php,javascript,firefox,Php,Javascript,Firefox,我正在开发一个web应用程序。 我想扩展我的错误消息(以及它们的回溯),这样我就可以点击上面提到的文件,并在我的PHP IDE中自动打开它 我想让这成为一个易于激活的特性,这样无论是谁在web应用程序上工作,都可以轻松地将错误消息映射到他们的本地站点副本,并打开他们的IDE 除了开发自定义FF扩展之外,在Windows(7)上的Firefox中单击执行本地命令(调用IDE的批处理文件)的最简单方法是什么? 我一直在寻找扩展,但没有运气。也许使用另一个扩展,比如Firebug或Greasemonk

我正在开发一个web应用程序。 我想扩展我的错误消息(以及它们的回溯),这样我就可以点击上面提到的文件,并在我的PHP IDE中自动打开它

我想让这成为一个易于激活的特性,这样无论是谁在web应用程序上工作,都可以轻松地将错误消息映射到他们的本地站点副本,并打开他们的IDE

除了开发自定义FF扩展之外,在Windows(7)上的Firefox中单击执行本地命令(调用IDE的批处理文件)的最简单方法是什么? 我一直在寻找扩展,但没有运气。也许使用另一个扩展,比如Firebug或Greasemonkey


安全不是问题,因为这应该只在开发人员的工作站上工作,我可以更改本地Firefox的设置

使用javascript无法做到这一点。但它看起来可能与firefox插件。有一个.

我认为最接近这一点的方法是,让web浏览器的配置将特定的mime类型与给定的“助手应用程序”(这里是IDE程序)相关联,并让HTTP服务器返回这样的文件


否则,出于安全考虑,浏览器将不会在客户端上运行任何“Abritary”程序/逻辑。

我不知道您正在使用哪个IDE,但在例如Eclipse中,您也可以使用内置webbrowser来测试您的webapp,Eclipse控制台日志中的异常/跟踪已经有到相关源代码的链接。就这么简单。看看您的IDE是否提供了类似的功能。

Pekka

到目前为止,在阅读了该线程之后,您似乎想要构建一个以某种方式与服务器进行身份验证的应用程序——即,“普通用户”将无法访问它。如果是这种情况,那么在没有编写自定义扩展的情况下,通过浏览器交付是不可能的

通过GreaseMonkey运行身份验证是困难的,但是一旦客户机通过身份验证,就没有真正的方法“运行”跟踪

如果服务器生成批处理文件或某种指令集(脚本、快捷方式等),您只需配置浏览器(或让应用程序的本地实例配置浏览器)即可运行该文件。这里的问题是,您无法自动进行身份验证

我可以想象的另一种方法是通过Java小程序来实现,这只会很麻烦,每次导入跟踪时都需要Java进行初始化

问题是浏览器本身是安全的。它的设计目的是保护计算机免受恶意软件、恶意网站等的攻击,因此,如果不为浏览器开发自定义扩展,就无法跳转到与浏览器同时运行的任何应用程序

因此,我建议您重新考虑如上所述编写Firefox XUL扩展。您可能还需要实现一些XPCOM代码才能使其正常工作。以下是一些有助于您入门的资源:


您可以向windows()添加一个新协议(如“编辑:/”),并编写一个小型处理程序,从“编辑:/”url中选择一个文件名并将该文件传递给编辑器。通过这种方式,我教windows像mac一样理解txmt链接()

MozEX是一个扩展,允许用户使用外部程序执行以下操作:

* edit content of textareas (possibly utilizing a spell-checker, color syntax etc.)
* view page source
* handle mailto, news, telnet and FTP links
* download files
* ... and many more :)
通用处理程序允许您输入协议方案列表,例如,“abc://、def://”和 命令来处理它们。因此,您只需让应用程序生成一个以 您选择的(编造的)协议,mozex将拦截对url的单击并发送 作为参数指向所选命令的url


我想这正是您想要的。

我使用phpEd,在无法使用调试器的环境中进行远程测试时需要它。另外,我希望在这方面尽可能保持IDE的独立性。这看起来很有趣,但我对XUL一无所知,并且觉得无法理解如何将其转换为执行本地文件(而不是写入)的内容。提示是非常受欢迎的。写一个扩展并没有那么难。在谷歌上搜索一下,阅读一些教程,然后搜索“执行本地文件firefox extenson”。我可能会回到这里,但会先尝试协议方法(见下文)。将文件与IDE关联不会有帮助,因为IDE应该打开的文件是本地副本。当然,我们可以在PHP端生成.bat文件,其中包含使用文件的本地副本打开IDE的指令。但是,由于巨大的安全漏洞,从长远来看,我不愿意使用它。或者,您可以注册一个协议处理程序(就像iTunes和Skype等其他应用程序一样),该程序将由您的IDE处理。感谢您提供的丰富答案和链接。身份验证不是#1问题,因为我的框架中的错误处理程序已经这样做了(规则是“仅当用户以管理员身份登录或启用详细模式时,才向用户显示一般错误消息和特定详细信息”)。因此,对我来说,能够以某种方式关闭本地firefox中某个URL的所有安全性将是一个完美的解决方案。然后,PHP站点可以向我发送指向文件:://C://development/…的链接。。。。或者别的什么。如果这不起作用,我会考虑写一个扩展。有趣的是,我看到了一个提示这一点的片段,但它没有立即起作用,我想它可能仅限于某个操作系统。我会再试一次。这将是非常好的,因为如果操作得当,它将独立于浏览器,并且几乎不涉及安全问题。@Pekka:有关如何注册自定义协议并使用它调用某些文本编辑器的示例,请参阅。访问w