Android WebView:当svg或webm位于HTML的对象标记中时,应调用OverrideUrlLoading

Android WebView:当svg或webm位于HTML的对象标记中时,应调用OverrideUrlLoading,android,svg,android-webview,embed,webm,Android,Svg,Android Webview,Embed,Webm,我正在Android应用程序中测试一个奇怪的WebView行为: 当一个HTML文件包含 <object> 例如,加载指向svg和webm文件的元素,然后WebView调用shouldOverrideUrlLoading,我看到旧url getUrl是当前文件,新url是每次出现的svg/webm内容文件 如果内容是mp4或图像,则不会发生这种情况 当对象元素在HTML中时,如何避免WebView被请求跳转到内容? 还有其他元素吗,比如 <embed> 例如,这也

我正在Android应用程序中测试一个奇怪的WebView行为:

当一个HTML文件包含

<object> 
例如,加载指向svg和webm文件的元素,然后WebView调用shouldOverrideUrlLoading,我看到旧url getUrl是当前文件,新url是每次出现的svg/webm内容文件

如果内容是mp4或图像,则不会发生这种情况

当对象元素在HTML中时,如何避免WebView被请求跳转到内容? 还有其他元素吗,比如

<embed> 

例如,这也可能导致此类问题?

需要捕获body onload事件,并仅在触发该事件后将某些变量设置为true;当变量为false时,shouldOverrideUrlLoading必须在调用后立即返回

要实现这一点,必须使用合适的方法在WebView上设置JavaScriptInterface,并且在调用onProgressChanged方法时(使用progress==100)或调用onPageFinished时,必须通过javascript注入在HTML中设置body onload事件

这对我有用