我有一个应用程序,它使用一个webview启动一个html,它加载JWP7并抛出一个错误Uncaught TypeError :无法读取空的属性'jwplayer.volume‘相同的页面在移动浏览器和桌面浏览器上加载得很好。在调用jwplayer.js之后和安装之前,我尝试添加html的javascript,代码如下:
if (typeof jwplayer.volume == "undefined" || typeof jwplayer.volume == null )
jwplayer.volume = 10;我确实看到了使用桌面/移动浏览器的新卷属性,但它不会在webview中更改TypeError,这可能是因为在运行TypeError脚本时,TypeError在到达javascript检查之前抛出。
当我使用JWP6时,一切都很完美。
对如何修复它有什么建议吗?
发布于 2016-03-18 14:53:12
我检查了jwplayer.js代码。并看到它从jwplayer.volume读取卷(jwplayer.mute)和卷(jwplayer.mute)的最后设置,而不是从cookie读取。(可能JWPlayer 6使用的是cookie。)
因此,您需要在您的LocalStorage中启用WebView访问;就像您对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);发布于 2016-02-11 22:44:55
JW不支持在Android或iOS webview中使用web播放器;但是,有一些本地移动SDKs可用于支持应用程序中的视频:Developer.jwplayer.com/android。
https://stackoverflow.com/questions/35298419
复制相似问题