【发布时间】:2012-08-15 06:01:30
【问题描述】:
我使用的应用程序创建了自己的协议,例如 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
$(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 链接
【问题讨论】:
-
那么,问题是什么?您似乎有一个建议的解决方案,但没有说明它有任何问题。
-
那么你的 JSBin not 做了什么?
-
哦,这不是概念证明,是吗? :-) 我会更新我的答案,但我相信 iFrame 就是答案。
-
@BHare:我不明白为什么你必须通过 PHP - 你会做一些跟踪等吗?否则我假设这是可选的
-
@BHare:由于安全违规,较新版本的 Chrome 出现问题;每次用户交互(即点击)只允许一个导航操作 - 重新路由相同的事件以再次触发或设置较长的超时没有帮助
标签: php javascript jquery header protocols