Mar*_*ark 6 android android-webview
是否可以从WebView访问本地存储数据?以下是我需要从应用的WebView中读取的Chrome值的屏幕截图.我需要从我的应用程序中的"值"列中获取数据.
我想要做的是,例如,在我的WebView中访问google.com,然后从"nullctx"键中读取值"1".
任何有关如何阅读这些值的帮助将不胜感激.
window.localStorage返回本地存储中的所有值。
您可以通过 `console.log(window.localStorage); 将它们全部打印到控制台
您可以在 WebView 中使用Console API从控制台获取内容
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebChromeClient(new WebChromeClient() {
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
Log.d("MyApplication", message + " -- From line "
+ lineNumber + " of "
+ sourceID);
}
});
Run Code Online (Sandbox Code Playgroud)
如果您想要的话,您可以尝试使用以下 HTML
<html>
<body>
value read from localstorage:<input type="text" id="test"><br>
value read from localstorage:<input type="text" id="test2"><p>
Open Console to read all values
<script>
window.localStorage.setItem("name", "Peter");
window.localStorage.setItem("name2", "Tom");
window.localStorage.setItem("name3", "Steve");
window.localStorage.setItem("name4", "Ian");
test.value=window.localStorage["name"];
test2.value=window.localStorage["name3"];
console.log(window.localStorage);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但这适用于存储在页面中的内容。您无法直接从不同域的 iFrame 中的其他页面读取信息。但是,如果您拥有所有这些页面,则可以使用来自Cross-Domain LocalStorage的信息。
| 归档时间: |
|
| 查看次数: |
10038 次 |
| 最近记录: |