window.localStorage
返回本地存储中的所有值。
您可以通过 `console.log(window.localStorage);` 将它们全部打印到控制台。
您可以使用 WebView 中的控制台 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);
}
});
<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>
但是这只适用于存储在您页面中的内容。您无法直接从不同域名的iFrame中读取信息。但是,如果您拥有所有这些页面,您可以使用跨域LocalStorage中的信息。
window.localStorage["nullctx"]
读取它。您可以按照https://dev59.com/q2Ei5IYBdhLWcg3wK5rd中的步骤,在google.com中注入console.log代码。如果您可以在Chrome检查器中获取该值,则可以在webview中获取它。您可以通过打开google.com并在Google Chrome控制台中尝试window.localStorage
来验证。 - ankit9j