如何使用客户端本地的URL / URI调用浏览器功能?

时间:2017-11-30 16:59:45

标签: javascript xml url firefox opensearch

我想调用浏览器功能,例如AddSearchProvider(engineURL),需要一个XML文件的URL。但是,我希望用户自己生成XML文件的内容,因此我想通过直接传递(引用)用户生成的内容来调用该函数。关键是所有这些只发生在客户端,这样就不需要服务器来临时托管进程中的文件。

我尝试将XML文件编码为URI:

array[Job] of array[int] of array[int]: jobOptions

但Firefox(57.0)拒绝使用以下消息:

"Firefox could not install the search engine from: data:application/xml;..."

我猜¹Firefox期望一个“真正的”远程URL。如何在循环中没有服务器的情况下实现上述功能?

¹更新:Firefox确实将URL强制为HTTP,HTTPS或FTP:

uri = "data:application/xml;charset=utf-8," + encodeURIComponent($('#edit-search-engine').val());
window.external.AddSearchProvider(uri);

0 个答案:

没有答案