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 http://jsbin.com/etubas/11/

$(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方案:
<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中:

<?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相关文章