是否可以使用Google Chrome打开自定义URL方案?
我有协议(如http),其方案由在Mac OS XIe中注册的第3方应用程序,x-someapp:// someaction或类似的东西管理。
如何使用Google Chrome浏览器打开此URL?默认情况下,Chrome开始在Google引擎中搜索,而不是启动App并将URL处理传递给它。
Safari启动一些已注册的应用程序。这是对的。
Firefox和Opera问该怎么办…,我也可以启动App。
但是Chrome …没问。
我什至尝试编写一些带有JavaScript的HTML页面来发送XHttpRequest:
function _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');
以上是 是否可以使用Google Chrome打开自定义URL方案? 的全部内容, 来源链接: utcz.com/qa/416714.html