当前位置: 首页 > 面试题库 >

是否可以使用Google Chrome打开自定义URL方案?

任元青
2023-03-14
问题内容

我有协议(如http),其方案由在Mac OS XIe中注册的第3方应用程序,x-someapp:// someaction或类似的东西管理。

如何使用Google Chrome浏览器打开此URL?默认情况下,Chrome开始在Google引擎中搜索,而不是启动App并将URL处理传递给它。

Safari启动一些已注册的应用程序。这是对的。

Firefox和Opera问该怎么办…,我也可以启动App。

但是Chrome …没问。

我什至尝试编写一些带有JavaScript的HTML页面来发送XHttpRequest:

functhtml" target="_blank">ion _httpExecuteCallback()
{
 if (httpRequestCallbackFunction != null) {
  if (httpRequest.readyState == 4) {
   if (httpRequest.status == 200) {
    httpRequestCallbackFunction();
    httpRequestCallbackFunction = null;
   }   
  }
 }
}

function _httpGet(url, callbackFunction)
{
 httpRequest = false;
 httpRequestCallbackFunction = callbackFunction;
 httpRequest = new XMLHttpRequest();
 httpRequest.onreadystatechange = _httpExecuteCallback;
 httpRequest.open('GET', url, true);
 httpRequest.send(null);
}


_httpGet('x-someapp://test',function(){})

也没有结果…


问题答案:

我找到了适用于Chrome的解决方案。我使用IFRAME方式。

示例(使用JQuery):

$("body").append('<span id="__protoProxy"></span>');

function queryWord(aWord)
{
 var protoProxy = document.getElementById('__protoProxy');
 if (protoProxy)
 {   
  var word = aWord.replace('"','\"');
  protoProxy.innerHTML = '<div style="display:none;"><iframe src="x-myproto://query?' + word + '"></iframe></div>';
 }
}

queryWord('hello');


 类似资料:
  • 问题内容: 我有一些需要经常打印的结构。现在,我正在围绕该结构使用经典的打印包装器: 此功能很方便,但实际上也很有限。如果不进行新包装,则无法添加或添加一些文本。我知道我可以使用 va_arg 系列添加或添加一些文本,但是我觉得我会重新实现。 我想知道是否有可能向printf编写自定义函数。我希望能够写这样的东西: 这可能吗 ?我怎样才能做到这一点 ? 注意:我在Ubuntu Linux 10.0

  • 这是我的代码(简单但有效),它是一个计算引擎,通过按特定顺序应用规则进行试验: 我想用自定义注释对此进行编码,因为我的目标是统计哪些引擎调用哪些规则,我认为这会更容易: 然后我可以用org扫描。springframework。上下文注释。ClassPathScanningCandidateCom使统计更容易。 这可能吗(怎么可能?)?这是好办法吗?我还有别的办法吗?

  • 是否可以像在服务器端所做的那样,向ResteasyClient(代理框架)注册DynamicFeature? 所以类似这样的东西: 其中MyDynamicFeature实现 下面的一些文章似乎解释了一些非常相似的事情,但这似乎不适用于ClientResponseFilter/ResteAsyClient: 通过Resteasy上的NameBinding匹配特定方法的筛选器 Resteasy 3.x

  • 我有一个Java web服务,它使用Redis进行缓存。最初,我创建了一个CacheService,它直接访问Redisson客户端以处理缓存。我最近重构了缓存处理,以使用Spring缓存抽象,这使代码更加干净,并鼓励模块化设计。不幸的是,Spring使用Jackson来序列化/反序列化缓存的对象,由于JSON中存储了类型信息,导致缓存的值比以前大得多。这导致从缓存读取的响应时间增加到了无法接受的

  • Google API是否可以同时用于自定义域Google帐户和gmail帐户 我对此做了一些研究,发现有两种类型的Google API,一种是简单的Google API,另一种是Google Domain API 我想使用谷歌api,这样我就可以验证工作人员的电子邮件,无论他们是Gmail用户还是谷歌商业账户持有人 我对这两个API感到困惑,我想知道Google API是只支持gmail帐户,还是

  • 目前,不允许在接口中使用get/set方法(访问器)。例如: 此外,TypeScript 不允许在类方法中使用数组函数表达式:例如: 有没有其他方法可以在接口定义上使用getter和setter?