在Windows中自定义URL协议 - 发送链接的电子邮件

8

我正在开发一款应用程序,其中有一个自定义URL协议(如此定义:http://msdn.microsoft.com/en-us/library/aa767914.aspx)。这个协议运行正常,我可以在开始菜单中运行并输入:

foo:1_1

我的应用程序正常启动。如果我创建一个包含此类型链接的网页,它也能正常工作(浏览器会警告,但这不是问题)。问题出现在我尝试从程序中发送包含其中一条链接的电子邮件时。特别是 Gmail 似乎会剥离我的链接,所以当我发送包含此链接的电子邮件时:

<a href='foo:1_1'>foo</a>

我留下了这个结果HTML代码:

我留下了这个结果HTML代码:

<a>foo</a>

看起来我的href标签被剥离了,我猜测这是因为它无法识别协议。有人知道我该如何解决这个问题吗?我在我的ISP的电子邮件服务中进行了测试,标签保持不变。这是我必须忍受的事情吗?我要告诉我的用户把链接复制到他们的“开始”->“运行”框中吗?

1个回答

7

经过一些探索,并查看另一个应用程序的操作,我想到了一个看起来合适的解决方法:

我们不会直接链接到我们的协议,我们将链接到我们网站上的一个页面,在该页面上传递参数,然后该页面将使用我们的协议创建链接。这似乎是当您通过iTunes发送链接时iTunes所采取的方式。


有趣的是,这似乎在除IE8之外的所有浏览器中都有效(对于IE7不确定)。FF和Chrome将忠实地打开链接,但IE8只会给出一个通用的“Internet Explorer无法显示网页”的错误。糟糕! - Jonas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接