av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - Android 的 webview 中怎么監聽 url 的 hash 變化

瀏覽:96日期:2024-02-19 14:23:11

問題描述

場景

Android 的 webview 中加載一個 SPA (單頁面應用)網站

過程

我通過 shouldoverrideurl 方法來監聽 Webview 的 URL,對 URL 進行某些預處理

但是,SPA 中大部分是 hash 值變化,因此這個方法就監聽不到變化

舉例

從 a.html#/home 跳轉到 a.html#/other

問題

請問有什么辦法監聽 hash 值的變化嗎?

問題解答

回答1:

只能通過 HTML5 新增加的 window.onhashchange() API。shouldoverrideurl 應該監聽不到吧。

如果你不想修改 js 代碼,可以在 java 中注入:

定義一個處理 js 的類:

private class MyJSI { public void doStuff() {// 你的邏輯 }}

注入到 webview 中:

webView.addJavascriptInterface(new MyJSI(), 'myjsi');

監聽 onhashchange 事件:

webview.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) {view.loadUrl('javascript:window.onhashchange = function() { myjsi.doStuff(); };'); }});

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产在线中文字幕 | 黄色激情毛片 | 免费毛片网站在线观看 | 国产成人综合久久 | 欧美一区二区免费 | www.日韩 | 久久精品国产99国产 | 欧美激情va永久在线播放 | 中文字幕 在线观看 | 日韩视频精品在线 | 欧美a∨ | 亚洲成人精品 | 日韩欧美在线观看 | 日韩在线一区二区三区 | 久草视频在线播放 | 国产日韩视频 | www.亚洲视频.com | 在线日韩视频 | 日本网站免费在线观看 | 日韩毛片| 精品videossex高潮汇编 | 久久久久国产 | 久久伊人青青草 | 人成在线视频 | 国产精品久久久久久久免费大片 | 欧美视频三区 | 中文字幕一区二区三区不卡在线 | 日韩精品无码一区二区三区 | 蜜桃av人人夜夜澡人人爽 | 99re6在线视频精品免费 | 成人在线播放网站 | 一区二区三区中文字幕 | 美人の美乳で授乳プレイ | 2018天天干天天操 | 狠狠做深爱婷婷综合一区 | 午夜视频网 | 日韩福利视频 | 欧美1区 | 日韩电影中文字幕 | 亚洲精品丝袜日韩 | 亚洲性人人天天夜夜摸 |