網頁調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
2. 怎麼用網頁的超級鏈接調用安卓手機的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;
}
});
3. H5的頁面中怎樣調用APP功能
H5的頁面中調用APP功能代碼如下:
constiframe=document.createElement('iframe');
iframe.src='URLscheme';//URLscheme的方式跳轉
iframe.style.display='none';
document.body.appendChild(iframe);
這時候如果在一切環境支持的情況下,就會喚醒APP了。
4. 網頁直接跳轉調起淘寶app並且打開制定商品頁面
機頭調用到指定的鏈接就可以
5. 如何通過Html網頁調用本地安卓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;
}
});
6. 如何在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
7. 把pc網頁改成手機軟體
將電腦網頁修改成手機網頁步驟:
1、首先,我們打開一個網頁,如下圖;
2、然後我們按鍵盤的F12鍵,出現代碼元素界面,如下圖;
3、然後我們點最下方的「Emulation」菜單選擇即可,如下圖;
4、然後,我們可以看到下面有很多參數選項,選擇「MODEL」即可,如下圖;
5、選擇後,下方會有"Resolution"會自動填充,意思是手機解析度,如果你的手機型號不在其內,自己寫解析度尺寸也可以的,如下圖;
6、然後看頁面內容變化,已縮小成手機模式,如下圖;
7、選擇右手邊的Reset,可以退出當前設置恢復網頁原形,也可以重新設置,如下圖;
8. 求一個html5網頁轉換到app的詳細步驟
直接去第三方網站,可以一鍵生成多省事兒,不懂技術都可以自己製作。
9. 如何通過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;
}
});