午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - Android 的 webview 中怎么監(jiān)聽 url 的 hash 變化

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

問題描述

場(chǎng)景

Android 的 webview 中加載一個(gè) SPA (單頁面應(yīng)用)網(wǎng)站

過程

我通過 shouldoverrideurl 方法來監(jiān)聽 Webview 的 URL,對(duì) URL 進(jìn)行某些預(yù)處理

但是,SPA 中大部分是 hash 值變化,因此這個(gè)方法就監(jiān)聽不到變化

舉例

從 a.html#/home 跳轉(zhuǎn)到 a.html#/other

問題

請(qǐng)問有什么辦法監(jiān)聽 hash 值的變化嗎?

問題解答

回答1:

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

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

定義一個(gè)處理 js 的類:

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

注入到 webview 中:

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

監(jiān)聽 onhashchange 事件:

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 久热精品视频在线 | 欧日韩在线视频 | 亚洲精品欧美 | 四虎在线播放 | 日本h在线观看 | 激情六月丁香 | 国产精品久久久久久久免费 | 国产盗摄一区二区三区在线 | 人人艹视频 | 超碰在线免费 | 欧美视频成人 | 婷婷色在线播放 | 免费观看一区二区三区 | 成人免费看片98欧美 | 国产另类在线 | 色婷婷一区二区三区四区 | 亚洲污视频 | 欧美亚洲视频 | 国产第1页 | 亚洲国产成人精品综合99 | 心动小房东动漫1至6集 在线观看免费 | 又黄又爽又色的视频 | 中文字幕在线播放不卡 | 欧美一级在线播放 | 欧美高清视频一区二区三区 | 精品国产一区二区三区在线观看 | 97超碰人人干 | 欧美a在线观看 | 国产精品久草 | 日韩经典中文字幕 | a在线观看免费 | 免费看成年人视频 | 日本色网址 | 97精品一区二区视频在线观看 | 欧美肥老妇视频九色 | 黄色小视频免费在线观看 | 魔性的诱惑 | 97成人免费视频 | 一级特黄特色的免费大片视频 | 成 人 黄 色 片 在线播放 | 国产一区二区三区四区 |