Android webview jwplayer7无法读取属性';jwplayer.volume';空的
我有一个应用程序正在使用webview启动一个html,该html加载JWP7,并抛出一个错误Uncaught TypeError:无法读取null的属性“jwplayer.volume” 同样的页面在移动和桌面浏览器上也能完美加载。 在调用jwplayer.js之后,在安装之前,我尝试在html的javascript中添加以下代码:Android webview jwplayer7无法读取属性';jwplayer.volume';空的,webview,android-webview,jwplayer,Webview,Android Webview,Jwplayer,我有一个应用程序正在使用webview启动一个html,该html加载JWP7,并抛出一个错误Uncaught TypeError:无法读取null的属性“jwplayer.volume” 同样的页面在移动和桌面浏览器上也能完美加载。 在调用jwplayer.js之后,在安装之前,我尝试在html的javascript中添加以下代码: if (typeof jwplayer.volume == "undefined" || typeof jwplayer.volume == null )
if (typeof jwplayer.volume == "undefined" || typeof jwplayer.volume == null )
jwplayer.volume = 10;
我确实使用桌面/移动浏览器看到了新的volume属性,但它不会更改webview中的TypeError,可能是因为TypeError是在运行jwplayer.js脚本时抛出的,在它到达我的javascript检查之前
当我使用JWP6时,一切都很正常
关于如何修复它有什么建议吗?JW Player不支持在Android或iOS webview中使用web播放器;但是,有一些本地移动SDK可以支持应用程序内视频:我检查了jwplayer.js代码。 并看到它从本地存储读取卷(jwplayer.Volume)和静音(jwplayer.Mute)的最后设置;而不是从饼干。 (JWPlayer 6可能正在使用cookies。) 因此,您需要在WebView中启用LocalStorage访问;就像JavaScript一样 下面是示例代码
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true); // This will allow access
webView.setWebViewClient(new WebViewClient());
/* WebView.setWebContentsDebuggingEnabled(true); // This is to inspect your WebView from desktop Chrome. (>= API 19) You may not want to include this in production. */
webView.loadUrl(url);
嗨,ohadsas。你查过我的答案了吗?我遇到了完全相同的问题,并通过启用本地存储访问解决了它。嗨@ashazar我还没有检查它,我将在几天后检查它!谢谢,这个问题的答案太棒了,我自己也做过测试,效果很好!谢谢你救了我你也救了我