加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:38:09 所属栏目:PHP教程 来源:网络整理
导读:我使用的应用程序已经创建了自己的协议,就像MS为其MSN客户端msnim所做的那样:chat?contact = test@test.com 但是,我需要创建一个PHP或javascript(或组合)来基本上尽快向协议发送3个请求.如果最终结果是www.test.com/send.php,我也想要用户链接 a href ='ww
我使用的应用程序已经创建了自己的协议,就像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窗口.显然调整到令你满意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读