gpt4 book ai didi

javascript - WebView 控制台在 android < 4.0 | 上显示错误(JVectorMap)

转载 作者:行者123 更新时间:2023-11-28 08:51:23 24 4
gpt4 key购买 nike

我有一个有点奇怪的问题...我有一个服务器 API,我在其中安装了 JVectorMap javascript 以在 map 上显示一些统计信息。这很简单,我只需将 url 设置为 webview,如下所示:

(WebView配置)

WebView wv = (WebView)lv_header.findViewById(R.id.result_webview);

WebSettings settings = wv.getSettings();
settings.setBuiltInZoomControls(false);
settings.setUseWideViewPort(true);
settings.setJavaScriptEnabled(true);
settings.setLoadsImagesAutomatically(true);
settings.setDomStorageEnabled(true);
settings.setLoadWithOverviewMode(true);
wv.setHorizontalScrollBarEnabled(false);

我调用来显示 map 的WebView方法

private void setWebView(String countryCode) {
wv.loadUrl( MyApplication.API_URL_SERVER_PRODUCTION+"/query/"+getIdFromPos(array_id, posInArray)+"/map/"+countryCode);
}

在 Android 4.x 上 > 将显示 ok 一切正常,但在 4.x 下我有此日志; (并且 webView 是空白的):

E/Web Console(8411): Uncaught TypeError: Object #<an HTMLDocument> has no method: 'createStyleSheet' at http://www.miwebsite.com/static/js/jvectormap/jquery-jvectormap-1.2.2.min.js:7

方法“createStyleSheet”位于“jquery-jvectormap-1.2.2.min.js”文件中...

map 示例 ==> Click Here

最佳答案

在未压缩的 jVectorMap 中,第 #182 行调用了 document.createStyleSheet() javascript 函数:

jvm.VMLElement.initializeVML = function () {
try {
document.namespaces.rvml || document.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"), jvm.VMLElement.prototype.createElement = function (e) {
return document.createElement("<rvml:" + e + ' class="rvml">')
}
} catch (e) {
jvm.VMLElement.prototype.createElement = function (e) {
return document.createElement("<" + e + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')
}
}
document.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)"), jvm.VMLElement.VMLInitialized = !0
}

该函数不是 jVectorMap 特定的,而是特定于 IE 浏览器中的 javascript 实现,直到 IE 11。您可能使用的浏览器不支持此功能(也许您正在发送 IE 用户代理字符串从您的 Android 浏览器)。

使用this uncompressed jVectorMap (复制、粘贴并将其保存在文件中,并用它来替换您当前正在使用的缩小版 jVectorMap)并查看哪一行导致了问题。

关于javascript - WebView 控制台在 android < 4.0 | 上显示错误(JVectorMap),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19110324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com