android/iPhone:如何从browser直接打开应用程序或者没有应用程序打开应用商店

当用户在用mobile browser浏览该网站的时候会点击一个按钮/超链接,通过这个按钮的点击事情需要打开安装在本机的应用程序,或者如果本机没有安装该应用程序则打开应用商店并打开该程序在商店中的搜索结果页面。
下面是实施跳转的HTML + javascript源代码。

<html> 
 <head> 
        <meta name="viewport" content="width=device-width" /> 
 </head> 
 <body> 
        <h2><a id="applink1" href="mtcmtc://profile/116201417">Open scheme(mtcmtc) defined in iPhone with parameters </a></h2> 
        <h2><a id="applink2" href="unknown://nowhere">open unknown with fallback to appstore</a></h2> 
        <p><i>Only works on iPhone!</i></p>    
  
  <script type="text/javascript"> 
   // To avoid the "protocol not supported" alert, fail must open another app.
   var appstore = "itms://itunes.apple.com/us/app/facebook/id284882215?mt=8&uo=6";
   function applink(fail){
    return function(){
     var clickedAt = +new Date;
     // During tests on 3g/3gs this timeout fires immediately if less than 500ms.
     setTimeout(function(){
         // To avoid failing on return to MobileSafari, ensure freshness!
         if (+new Date - clickedAt < 2000){
         window.location = fail;
         }
         }, 500);    
    };
   }
   document.getElementById("applink1").onclick = applink(appstore);
   document.getElementById("applink2").onclick = applink(appstore);
   </script> 
    </body> 
</html>

android可以参见这个哥们的博客http://my.oschina.net/liucundong/blog/354029

时间: 2024-10-15 16:05:25

android/iPhone:如何从browser直接打开应用程序或者没有应用程序打开应用商店的相关文章

关闭Android/iPhone浏览器自动识别数字为电话号码

iPhone上的Safari(还有些webkit android手机浏览器)会自动对看起来像是电话号码的数字串(包括已经加入连字符或括号格式化过的)添加电话链接,点击之后会询问用户是否想要拨打该号码.如果你不希望开启这个自动识别,可以将它关闭:<meta name="format-detection" content="telephone=no" />如果你关闭自动识别后,又希望某些电话号码能够链接到iPhone的拨号功能,那么可以通过这样来声明电话链接

Android 在安装完成界面,点击打开应用程序。在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开

Android 在安装完成界面,点击打开应用程序.在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开. etong_123的专栏 - 博客频道 - CSDN.NET *http://blog.csdn.net/etong_123/article/details/22897731 android:taskAffinity与android:finishOnTaskLaunch之我见 - java豆子 - 博客园 http://www.cnblogs.com/error40

android studio使用CMake和NDK,实现应用自身被卸载时打开某一网址

实现应用自身被卸载时打开某一网址的c代码 MyActivity: public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ma

Android学习笔记(十七)——使用意图调用内置应用程序

使用意图调用内置应用程序 1.创建一个新的Android项目并命名为Intents,在main.xml文件中添加两个Button: <Button android:id="@+id/btn_webbrowser" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClickWebBrowser&quo

文件打开后任务栏里面不显示打开的文件名称

打开EXCEL文件时发现任务栏里面不显示打开文件的名称,当时的任务栏没有设置为自动隐藏,这就奇怪了.问度娘,说CTRL+ALT+DELETE打开任务管理器,新建任务,试了一下还是没有解决,最后没办法,在任务管理器里面把一些不需要的进程给结束了,当我把IE浏览器的进程结束后,任务栏立马就显示出刚才打开文件的名称.怪哉!没搞清楚他们之间的原因,但总归解决了问题,此法供大家参考! 文件打开后任务栏里面不显示打开的文件名称,布布扣,bubuko.com

linux编程C/C++如何自动打开一个终端并且运行新程序

做linux开发过程中,需要在某个程序运行到特定过程中打开一个新的终端界面,运行一个新的程序,具体的实现过程非常简单. 首先,system()用来在C/C++代码中实现系统命令,而gnome-terminal -e ./test用来打开当前目录的测试程序test. 在自己代码中添加如下一句命令: system("gnome-terminal -e ./test"); 如此可以实现在代码中打开一个终端,并且运行一个新程序. linux编程C/C++如何自动打开一个终端并且运行新程序,布布

【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员

===================问题情况描述=================== 小弟一直在玩discuz论坛开源程序,这个论坛程序经常涉及到论坛搬家的问题. 今天我在本地Wamp环境下,用开源软件帝国备份王2010进行数据库备份数据,结果打开发现报错500! 这真是坑爹了,回想下以前自己使用这个开源程序进行备份也不下于十几次了,大部分都正常成功, 但也不乏出现这种情况的,小弟之前一般遇到这种问题, 都是直接忽略,换其他办法来进行备份,但是用惯了帝国备份王,换其他的方法备份数据,总感觉难

WinXP系统打开Word文档会弹出“打开方式”界面怎么办

WinXP系统打开Word文档会弹出"打开方式"界面怎么办 Word是微软公司开发的一个文字处理器应用程序,我们在日常办公中经常会使用到它.不过,最近有些XP系统用户反馈,电脑已经安装过Office,不过在打开Word文档时,总会弹出打"打开方式"界面,并提示选择你想用来打开此文件的程序,这该如何解决呢? 原因分析: 如果XP系统xitongcheng.com/xp/中安装过Office软件,而现在出现打开方式的界面,很有可能是文件关联出错了,或是你安装过别的Off

ArcGIS 网络分析[8.1] 资料1 使用AO打开或创建网络数据集之【打开】

为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于Shp文件组成的网络数据集). 当你拥有了合适的对象后,就可以使用IDatasetContainer2接口去创建或者打开网络数据集了. 如果当前打开的Map对象中有网络数据集图层,那么就可以通过访问INetworkLayer接口的NetworkDataset字段来访问网络图层中的网络数据集. IDat