在Mac和iOS平台, 这是可以做到双向交流通过自定义的URI方案/ A本机运行时NSURLProtocol
。 例如..索要NSImage
从原生Objective-C的方法,您可以注册自定义处理程序(一个简单的字符串,这里我用“ mycustomprotocol
”)与WebKit的/你WebView NSView
,并从JS调用它像...
var theURL = 'mycustomprotocol:///' + (textField.value);
img.innerHTML = '<img src="'+theURL+'" id="string"/>';
我想能够使用jQuery做提出要求,因为在这一点上,它比90's风格的JS比较熟悉。但据我可以找到在网络上, $.get
和$.ajax
只能做http(s)
请问像
javascript:document.location = 'mycustomprotocol://'
覆盖jQuery的URL处理? 我是一个dumbdumb,当涉及到的JavaScript,我敢肯定,这是很容易做到。我的确认为这是整个jQuery Mobile的框架是如何实现(通过私人的URI)。那么,为什么会出现没有在谷歌或SO过了吗? 我可以从我姐姐的朋友一些帮助?
基本的Ajax和get方法使用浏览器的常规HTTP请求。 出于安全原因,AJAX呼叫类型决不会与自定义协议的工作。 如果你尝试开发一个网站,是不是在服务器和使用阿贾克斯,你会发现它会做什么。 你必须从地面启动并创建一个自定义请求处理程序干脆,不只是改变内jQuery的东西。
这里是我做了一个callto:
协议,在Firefox 24和IE 10的工作(我没有测试任何其他浏览器):
首先 - 你的协议必须已经注册或您的计算机将无法识别它。 其次建立在你的标记隐藏链接,以协议的HREF。 当我点击一个按钮( #calltobutton
),然后将其设置隐藏链接(价值#clicker
),然后再单击它,导致执行操作的浏览器。
然后这样做:
$('#calltobutton').click(function () {
initCallTo(1234567890);
});
function initCallTo(callto) {
$('#clicker').attr('href', "callto:" + callto);
$('#clicker')[0].click();
}
现在,点击致电第一链接的方法是这样的,但奇怪的。 你可以阅读更多关于此这里线程 。
这来得晚了一点,但你可以使用https://github.com/ded/reqwest做到这一点:
reqwest('mycustomprotocol://myaction', function(result) {
// ...
});
只有这样我能得到这个工作是做使用JS的DOM浏览器窗口重定向。 从JQuery的,甚至对我这个网页没有工作与移动Safari和侦听自定义的URI方案的应用提到reqwestJS库调用。