『壹』 手機瀏覽器頁面如何打開手機app
手機瀏覽器頁面這個是無法在同時打開手機APP的,要想打開手機APP必須關閉瀏覽器,在重新打開APP。
『貳』 H5網頁在瀏覽器中喚起app,怎麼實現
H5不能直接喚起其他APP。
只能是其他APP主動獲取你的跳轉地址或是剪貼板地址後自動打開。
如果你用的瀏覽器提供關聯啟動介面的話,可以調用瀏覽器的介面。
『叄』 微信內H5網頁打開app
官方文檔: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#22
Vue中使用:
https://blog.csdn.net/qq_35537652/article/details/110368520?utm_medium=distribute.pc_relevant.none-task-blog-js_title-0&spm=1001.2101.3001.4242
https://blog.csdn.net/jane900/article/details/107410321
用於頁面中提供一個可跳轉指定App的按鈕。
此功能僅開放給 已認證的服務號 ,服務號綁定「JS介面安全域名」下的網頁可使用此標簽跳轉滿足一定條件的App。在使用該標簽之前,首先需要前往 微信開放平台 的 管理中心-公眾賬號或小程序詳情-介面信息-網頁跳轉移動應用-關聯設置 中綁定所需要跳轉的App。詳細配置規則參考文檔 《微信內網頁跳轉APP功能》 。
備註:對於 extinfo 屬性,用於攜帶額外信息,格式自定義,由跳轉的App自⾏解析處理。對應iOS微信openSDK中的messageExt欄位(LaunchFromWXReq.message.messageExt),或對應android微信openSDK中的messageExt欄位(ShowMessageFromWX.Req.message.messageExt),詳細參見文檔 《App獲取開放標簽<wx-open-launch-app>中的extinfo數據》 。
備註: error 事件返回值 errMsg 說明如下。
『肆』 h5怎麼打開app
用xinstall工具,支持h5、網頁、簡訊、郵件等直接拉起app,非常好用的工具。歡迎你採納我的回答,給個大大的贊吧。有不明白的可以繼續追問或者網路搜索
『伍』 如何通過html網頁調用本地安卓app
一、通過html頁面打開Android本地的app
1、首先在編寫一個簡單的html頁面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/">打開app</a><br/>
</body>
</html>
2、在Android本地app的配置
在AndroidManifest的清單文件里的intent-filte中加入如下元素:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="my.com"
android:scheme="m" />
</intent-filter>
示例截圖如下:
然後使用「手機瀏覽器」或者「webview」的方式打開這個本地的html網頁,點擊「打開APP」即可成功開啟本地的指定的app二、如何通過這個方法獲取網頁帶過來的數據只能打開就沒什麼意思了,最重要的是,我們要傳遞數據,那麼怎麼去傳遞數據呢?
我們可以使用上述的方法,把一些數據傳給本地app,那麼首先我們更改一下網頁,代碼修改後:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="m://my.com/?arg0=0&arg1=1">打開app</a><br/>
</body>
</html>
(1).假如你是通過瀏覽器打開這個網頁的,那麼獲取數據的方式為:
Uri uri = getIntent().getData(); String test1= uri.getQueryParameter("arg0"); String test2= uri.getQueryParameter("arg1");
(2)如果使用webview訪問該網頁,獲取數據的操作為:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri=Uri.parse(url);
if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
String arg0=uri.getQueryParameter("arg0");
String arg1=uri.getQueryParameter("arg1");
}else{
view.loadUrl(url);
}
return true;
}
});
『陸』 如何在HTML網頁中調起APP
對於app打開而言最常規的打開就是通過url scheme的方式去打開你的app,如下的
myapp://
myapp://open
myapp://type=1&id=2sdeo223lwe
這些拋出都是以url的方式進行拋出,app捕捉到這些拋出去做相應的處理,本文對app的處理不做詳細描述,app開發請自行谷歌網路。對於前端而言拋出的方式也有很多,而最理想的方式是通過iframe的src對其進行鏈拋出,來!說的在多都沒有代碼來的清晰,請看下面。
//實際上就是新建一個iframe的生成器
varcreateIframe=(function(){
variframe;
returnfunction(){
if(iframe){
returniframe;
}else{
iframe=document.createElement('iframe');
iframe.style.display='none';
document.body.appendChild(iframe);
returniframe;
}
}
})()
之後我們還需要一個url scheme:
//生成一個urlscheme,假設我們約定的scheme是myApp://type=1&id=iewo212j32這種形式的
varbaseScheme="myApp://"
varcreateScheme=function(options){
varurlScheme=baseScheme;
for(variteminoptions){
urlScheme=urlScheme+item+'='+encodeURIComponent(options[item])+"&";
}
urlScheme=urlScheme.substring(0,urlScheme.length-1);
returnencodeURIComponent(urlScheme);
}
這種scheme形式的其實不是最好的,根據我們踩過的坑,覺得約定為與http協議相近可能更好一些,具體的協議需要前端人員自己去和app端人員約定。
ok萬事具備,iframe有了,urlScheme也有了,該去打開app了
varopenApp=function(){
varlocalUrl=createScheme();
varopenIframe=createIframe();
if(isIos()){
//判斷是否是ios,具體的判斷函數自行網路
window.location.href=localUrl;
varloadDateTime=Date.now();
setTimeout(function(){
vartimeOutDateTime=Date.now();
if(timeOutDateTime-loadDateTime<1000){
window.location.href="你的下載頁面";
}
},25);
}elseif(isAndroid()){
//判斷是否是android,具體的判斷函數自行網路
if(isChrome()){
//chrome瀏覽器用iframe打不開得直接去打開,算一個坑
window.location.href=localUrl;
}else{
//拋出你的scheme
openIframe.src=localUrl;
}
setTimeout(function(){
window.location.href="你的下載頁面";
},500);
}else{
//主要是給winphone的用戶准備的,實際都沒測過,現在winphone不好找啊
openIframe.src=localUrl;
setTimeout(function(){
window.location.href="你的下載頁面";
},500);
}
}
以上就是你要打開scheme的主要代碼了,好吧,實際上不只是打開app,還要實現未打開的時候跳到下載頁去。其中安卓實際上無論有沒有打開都會跳到下載頁去,而ios........好吧!按照網上的說法是瀏覽器失焦後會掛起腳本,呵呵,這是多老的ios版本的表現了,實際上現在的ios已經沒有這么做,有些版本會跟安卓的表現一樣,而有些則是直接跳轉根本不會去打開,還有打開的時候那個惡心的系統彈窗是什麼鬼。好吧,實際上至此你會發現,ios9.0以上的有些打不開直接跳,有些打得開還會有允許彈窗,而微信則是無論如何都打不開,實際上微信會在他的瀏覽器里攔截掉所有未經其允許的scheme包括app store。
轉自:《怎麼在網頁中打開你的app》@AlfredMou -- segmentfault