【发布时间】:2016-01-18 13:51:51
【问题描述】:
我正在连接到仅当令牌值正确设置到我的 webView 浏览器时才加载的 url。
这是一个脚本,当我启动 webView 时会发现 userToken 的 null 值:
$.ajaxSetup({
data: {
token: localStorage.userToken
}
});
sendToApp = function(_key, _val) {
var iframe = document.createElement("IFRAME");
iframe.setAttribute("src", _key + ":##sendToApp##" + _val);
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);iframe = null;
}
IsMobile = true;
$.when(
loadData.setup()
).then(function(data) {
Setup = data;
Struct = new App.Collection.Struct();
View = new App.View.Phone();
Zone = new App.Collection.Zone();
Zone.setAll();
Zone.findWhere({id:"0"}).set('path', 'Favourites')
Struct.startLoop();
});
我收到错误:
I/chromium: [INFO:CONSOLE(3)] "Uncaught TypeError: Cannot read property 'userToken' of null" , source: http://217.76.112.72:60180/js/mobile.js (3)
如何将 userToken 设置为我的 android webView 的本地存储,以便该值不再为空?
我阅读了一些关于 webView 数据库或 javascript 参数设置的帖子,但我找不到我的问题的答案:
JS属性设置:
Uncaught TypeError: Cannot set property 'value' of > null" in Android
数据库主题:
Android webview & localStorage
Using local storage on Android webview
例如,在这些主题中,人们正在设置某种数据库的路径,据我所知,该数据库是 localStorage,但如果我是对的,我该如何为其设置值?
编辑:我的 webView 设置:
public void setupWebView(String url, String token) {
HashMap<String, String> map = new HashMap<>();
map.put("userToken", token);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url, map);
}
【问题讨论】:
-
您的 WebView 是如何设置的?这个answer might be appropriate.
-
您好,我已经发布了我的 webView 设置。如您所见,我正在使用 .setDomStorageEnabled(true);但我不知道应该向哪个对象/如何插入我的键/值,以便上面提供的脚本可以读取它。
标签: javascript android webview