WebChromeClient не поддерживает тег php iframe?
Я загружаю URL, заданный другой системой, в webview.but он не отображает все содержимое, он оставляет пустое окно на странице. Я проверяю исходный код, он имеет тег frameset и некоторые теги iframe. att src является правильным. Почему он не может загрузить контент из src? Поддерживает ли webchromeclient тег php iframe?
<frameset id ="dispframeset" rows="*,6%" frameborder="NO" border="0" framespacing="0">
<frame id="articleFrame" src="/csp/kbs/showKngContent.action?inRecycle=&kngTblFlag=0&kngId=20130228152142812001&dispId=&articleFlag=true&relativeKngFlag=true&buttonFlag=true&coluKngType=2&kngPath=&coluKngName=&kngPointId=&kngPointName=&kngPointPath=&showType=1&backBtnFlag=&dispTmpPreview=&channelId=0&curChannelId=¤tChannelId=&isBackOrGoahead=&clickingLogFlag=" name="articleFrame" scrolling="no" resize/>
<frame id="articleButtonFrame" src="/csp/kbs/showKngButton.action?kngId=20130228152142812001&dispId=&kngTblFlag=0&buttonFlag=true&showType=1&channelId=0" name="articleButtonFrame" scrolling="auto" resize/>
</frameset>
Кстати, веб-приложение хорошо работает в браузере IE, но затягивает Chrome.
заранее спасибо.
1 ответ
На мой взгляд, WebChromeClient поддерживает тег iframe. В моем случае я дал тег iframe для веб-просмотра следующим образом.
<iframe width=\"480\" height=\"270\" src=\"http://staging.snagfilms.com/modules/html5player.jsp?filmId=ed9195a0-a748-11e0-a92a-0026bb61d036&w=500\" frameborder=\"0\" allowfullscreen></iframe>
выше тег iframe, который я получаю с сервера
myWebView = (CustomFacedWebView) findViewById(R.id.web_wrap_browser);
myWebView.getSettings().setPluginsEnabled(true);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setPluginState(PluginState.ON);
chromeClient = new MyChromeClient();
myWebView.setWebChromeClient(chromeClient);
myWebView.loadUrl(URL)
webRoot = (ViewGroup) findViewById(R.id.web_root_view);
systemRoot = (ViewGroup) webRoot.getParent();
private final class MyChromeClient extends WebChromeClient implements OnCompletionListener, OnErrorListener {
CustomViewCallback fullscreenCallback;
VideoView htmlVideoView;
@Override
public void onShowCustomView(final View view, final CustomViewCallback callback) {
super.onShowCustomView(view, callback);
fullscreenCallback = callback;
systemRoot.removeAllViews();
setContentView(view);
fullScreen = true;
............
}
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public void onShowCustomView(final View view, final int requestedOrientation,
final CustomViewCallback callback) {
super.onShowCustomView(view, requestedOrientation, callback);
systemRoot.removeAllViews();
setContentView(view);
setRequestedOrientation(requestedOrientation);
fullscreenCallback = callback;
}
@Override
public void onHideCustomView() {
super.onHideCustomView();
if(htmlVideoView != null) {
htmlVideoView.stopPlayback();
}
if(webRoot != null) {
systemRoot.removeAllViews();
setContentView(webRoot);
}
try{
if(fullscreenCallback != null)
fullscreenCallback.onCustomViewHidden();
} catch(Exception e) {
e.printStackTrace();
}
fullScreen = false;
}
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
onHideCustomView();
return false;
}
@Override
public void onCompletion(MediaPlayer mp) {
onHideCustomView();
}
}