1. 程式人生 > >關於Android WebView不支援location.href開啟的解決方法 小米部分機型

關於Android WebView不支援location.href開啟的解決方法 小米部分機型

遇到這個問題也純屬無奈,對於Android 【WebView】H5網頁支付,的相容性實在頭疼,其實大部分機型都能正常使用,包括跳轉至應用實現支付,可以偏偏有些機型就是特殊(畢竟Android開源,家家定製,家家不同),上線運行了一段時間,收到很多使用者的反饋,我的機型不行,其中不乏主流的手機商的機型,比如小米mix2,小米5等等

問題:

API 26

小米 5 plus

原先的寫法:

location.href = url; 

可是在應用內死活不跳轉,後面沒法子了,讓應用開啟外接預設瀏覽器進行網頁支付,來緩解這個問題,但畢竟這樣操作繁瑣,嚴重降低了支付率。

那為什麼不行呢?

研究了半天,對比了很多程式碼就是不行,今天看到有文章提到會對“location.href”限制,我突然想到這個問題,後面除錯了下,竟然完美解決這個問題,實在驚喜!!!!

程式碼:

//強制轉換,限制跳轉方式
            function data_href(url) {
                $("#href_true").attr("href",url);//傳入引數
                document.getElementById("href_true").click();//模擬點選
            }

(在H5支付頁面的JS程式碼里加入這個方面)

<a id="href_true" style="display: none;"></a>

然後在<body>裡面加入這個隱藏的跳轉連結,用於模擬點選跳轉

data_href(url);

這樣操作之後就可以在應用裡面測試了,完美拉起,哈哈哈

歡迎交流

相關推薦

關於Android WebView支援location.href開啟解決方法 小米部分機型

遇到這個問題也純屬無奈,對於Android 【WebView】H5網頁支付,的相容性實在頭疼,其實大部分機型都能正常使用,包括跳轉至應用實現支付,可以偏偏有些機型就是特殊(畢竟Android開源,家家定製,家家不同),上線運行了一段時間,收到很多使用者的反饋,我的機型不行,其

關於Android WebView支援window.location.href解決方法

  這個標題我不太有把握,但總之我在網上沒找到什麼好的解決方案。 也許是因為我這邊的環境問題吧: -API 17 -紅米1S 今天再寫一個區域網環境下、基於HTTP協議的手機控制電腦關機的小程式(建議別這樣做,若沒有身份驗證則相同區域網的人都可以向你的電腦發請求

Android WebView 支援 H5 input type="file" 解決方法

最近因為趕專案進度,因此將本來要用原生控制元件實現的介面,自己做了H5並嵌入webview中。發現點選H5中 <input type="file"/>標籤 不能開啟android資源管理器。 通過網路搜尋發現是因為 android webview 由於考慮安全原

Android Pie支援http請求的解決方案

如果,你把app的targetSdkVersion設定為了28,那就可能面臨著不能訪問http介面和網頁的問題。因為Android p預設不支援http的連線請求,和ios一樣。要解決這個問題,就需要新增一個配置。 異常為(網路請求): Exception: IOExceptio

vs2010無法開啟專案檔案,此安裝支援該專案型別解決方法

今天在用vs2010開啟一個之前做的Web專案時提示:無法開啟專案檔案,此安裝不支援該專案型別解決方法網上查了很多資料,都是說:原因是vs2010需要把mvc升到3,預設的vs2010的mvc是2。vs2010 mvc 3 下載地址:http://www.microsoft.

第七代英特爾處理器安裝Windows7提示“支援的硬體”的解決方法

文章原始地址: http://feotech.com/?p=113 使用第七代英特爾處理的PC,安裝Windows7系統後執行自動更新安裝補丁。 補丁安裝完成後提示 “不支援的硬體 你的電腦使用的處理器專為最新版Windows而設計。由於你當前使用的Windows版本不支援該處理器,

遠端計算機需要網路級別身份驗證,而您的計算機支援該驗證的解決方法

故障:"遠端計算機需要網路級別身份驗證,而您的計算機不支援該驗證,請聯絡您的系統管理員或者技術人員來獲得幫助" 故障症狀:當您使用Windows XP"遠端桌面連線"工具去連線Windows Vistas或Windows Server 2008的遠端桌面、終端服務時,出現上述故障。 故障產生環境:遠端桌面

BeanNameAutoProxyCreator 支援annotation的問題解決方法討論

有人SpringSource的BBS上提出了問題,但沒有人解決http://forum.springsource.org/showthread.php?t=70355spring事務配置 <!-- 事務配置 --> <bean id="transaction

Cuda5.5支援C++11的解決方法

    最近在做的專案中既用到了Cuda,同時又用到了C++11的一些新的特性,在用gcc編譯的時候會出現錯誤。     錯誤提示為: /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h(159): error

android出軟鍵盤的解決方法

今天遇到在EditText點選的時候彈不出軟鍵盤,讓他獲得焦點啥的都沒效果 後來google+baidu終於解決了,我用的是getSystemService得到的WindowManager ,然後在這個WindowManager 里加的EditText,改為將EditTex

Python2支援中文的問題解決方法

  1.建立*.py程式   2.執行python程式       1)python 檔名(用Python2版本執行)       2)python3 檔名 (用Python3版本執行) PS:由上圖可知,Python2不支援中文,解決方法接著往下看   3

使用Androidwebview將web app打包成安卓的app和解決安卓webview支援input type=file問題

使用Android的webview將web app打包成安卓的app和解決安卓webview不支援input type=file問題 在MainActivity.java中編碼 public class MainActivity extends Activity { privat

Android 5.0及以上WebView能使用第三方Cookies解決方案

最近在做老專案SDK的升級,突然發現以前能用的功能,現在不能使用了。除錯的時候發現返回了錯誤401.需要認證。奇怪以前都是正常的。所以就去看看webView是否有過變動 解決方法 if (Build.VERSION.SDK_INT >= Build.VERSION_CODE

Android Webview完美支援播放各種視訊。(解決無法播放優酷視訊的問題以及週末無法播放優酷視訊的問題)

通常我們會有這樣的業務需求:手機端展示某個H5頁面,H5頁面來源可能是優酷、56、愛奇藝等某個視訊網站的一個視訊。使用者可以直接操作觀看。很簡單。但是很容易出現問題。比如屬性沒有處理好。會出現可以載入56、愛奇藝視訊都沒有問題  但是無法載入優酷視訊的bug。網上介紹的解決

關於Android WebView對JS與href支援

WebView 支援javascript,但只限於本地的js程式碼,不提供如PC瀏覽器一樣強大功能遞迴下載功能(可能也是因為手機自身的儲存有限所致)。 因此,開發基於JS的Anroid程式不能依靠PC瀏覽器的這種功能,只能執行本地js,css程式碼。 曾經嘗試在Anroid

《React-Native系列》21、 解決RN在Android支援gif問題

由於RN在Android平臺上不支援gif格式的圖片,今天介紹下我們是怎麼處理這個問題的。 先來看看我們需要實現的效果,這是一張gif圖片,當我們列表上拉載入下一頁的時候需要使用這個效果,如下圖: 我們的解決方案是:將gif切成15張png的圖片,暫且命名為loadin

Android Studio支援AMD處理器 -- 解決方法

第一次安裝使用Android Studio出現問題,查了半天發現是因為我的電腦是AMD的,不支援inter 虛擬架構,所以執行ADV失敗。 解決方法是:再安裝一個別的虛擬機器Genymotion 就可以了。

Chrome調試WebView時Inspect出現空白的解決方法(使用離線包Fan墻)

oid 調試 rom androi http 前端 一次 開發者 html5開發 起因 使用HTML5開發Android應用時,少不了調試WebView。做前端的還是習慣Chrome的開發者工具,以前都是輸入Chrome://inspect就可以調試WebView了,太方

location.href開啟連結失敗

window.location.href 錯誤程式碼: window.location.href = `${window.location.host}/detail`; 沒有開啟相應的路由。 有沒有看出來是哪裡錯了。。。 原因就是:沒有加協議 !!!。 正確程式碼:

input支援自動換行解決辦法

textarea與input input不支援換行; textarea: 1.支援換行; 2.左邊字型要想跑向左上角需要加程式碼; <textarea name="" id="" cols="" rows="" style="vertical-align:top;out