php – 发送多个应用程序协议请求(类似于mailto:)

前端之家收集整理的这篇文章主要介绍了php – 发送多个应用程序协议请求(类似于mailto:)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用的应用程序已经创建了自己的协议,就像MS为其MSN客户端msnim所做的那样:chat?contact = test@test.com

但是,我需要创建一个PHP或javascript(或组合)来基本上尽快向协议发送3个请求.如果最终结果是www.test.com/send.PHP,我也想要用户链接< a href ='www.test.com / send.PHP'>不会弹出或重定向页面很像做

<?PHP header('Location:msnim:chat?contact=test@test.com'); ?>用户点击href时不会创建新页面重定向 这是我的概念验证的JQUERY和JSBin @L_404_1@

@H_403_5@$(document).ready(function(){ $("a#click_me").click(function(){ setTimeout(function(){ console.log('test ran'); window.location = 'mailto:test@test.com'; },100); setTimeout(function(){ console.log('new ran'); window.location = 'mailto:new@new.com'; },200); }); });

这似乎适用于IE9,据我所知IE8. Firefox 10似乎也可以,但Chrome 17只能发送第一封电子邮件.

编辑1:更新了MSN而不是AIM链接,以便更加通用于测试,并包括jquery示例和JSbin

编辑2:更新到mailto链接

以下HTML / JavaScript代码会观察< a id =“click_me”>的点击次数并为URL创建两个新的iFrame,可以触发您创建的自定义URI方案: @H_403_5@<html> <head> <script type="text/javascript"> $(document).ready(function(){ var imURL = 'http://josh.gitlin.name/9472703.PHP?id='; // Change this to your URL function openIM(who) { var iFrame = '<iframe src="'+imURL+who+'"></iframe>'; $('div#imLinks').append(iFrame); } $("a#click_me").click(function(e){ e.preventDefault(); setTimeout(function(){ openIM('1'); },100); setTimeout(function(){ openIM('2'); },200); }); });​ </script> </head> <body> <p>Some content here</p> <p><a href="#" id="click_me">Click Me!</a></p> <div id="imLinks"></div> </body> </html>​

以下PHP代码显示在这些iFrame中:

@H_403_5@<?PHP $screenname = ''; switch($_REQUEST['id']) { case '1': $screenname = 'firstPerson'; break; case '2': $screenname = 'secondPerson'; break; default: $screenname = 'otherPerson'; break; } echo <<<END_OF_HTML <html> <head> <Meta http-equiv="refresh" content="0;url=aim:goim?screenname=$screenname"> </head> </html> END_OF_HTML;

Tested under Safari and Chrome,这将在单击链接时打开多个IM窗口.显然调整到令你满意.

猜你在找的PHP相关文章