gpt4 book ai didi

Windows 8.1/IE11 自定义 URL 协议(protocol)打开 --> about :blank

转载 作者:可可西里 更新时间:2023-11-01 10:06:28 25 4
gpt4 key购买 nike

Windows 8.1/IE 11 自定义 url 协议(protocol)困惑。启动后,应用程序被执行,然后浏览器中的 url 重定向到 about:blank

即使是 Skype 的协议(protocol)也是如此:

<a href="skype:_some_skype_account_here_?chat">Chat via Skype</a>

我尝试了一些方法,例如使用 iframe,document.location.href = u;结果很差。

当链接位于 iframe 内时,这似乎有效,否则失败:

 <a href="javascript:'x();'>test</a>  
document.location.href = 'proto://datadatadata';

有人知道如何在浏览器不重定向到 about:blank 的情况下启动协议(protocol)的应用程序吗?

我现在将 IE11 视为完全不同的浏览器:chrome、FF、safari、IE7-10 和 IE11

最佳答案

这个版本似乎可以工作:

var iframe = document.createElement('IFRAME');
iframe.setAttribute('id' 'protoIframe');
iframe.setAttribute('src', 'myapp://datadatadata' );
iframe.style.display = 'none';
iframe.style.width = 1+'px';
iframe.style.height = 1+'px';
document.documentElement.appendChild(iframe);

更新:(几个月后)

这是我一直为 IE 使用的最终版本。我检测到浏览器,如果 IE 则执行以下操作:

var hst = { pad:'--eof--'}

hst.forIE = function(service, data) {
var f = document.getElementById('ecPrinterIframe')
if (f )
f.parentNode.removeChild(f);
var iframe = document.createElement('IFRAME');
iframe.setAttribute('id', 'ecPrinterIframe');
iframe.setAttribute('src', 'myproto://' + data + hst.pad );
iframe.style.display = 'none';
iframe.style.width = 1+'px';
iframe.style.height = 1+'px';
document.documentElement.appendChild(iframe);
}

关于Windows 8.1/IE11 自定义 URL 协议(protocol)打开 --> about :blank,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com