Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebChromeClient是否不支持php iframe标记?_Android_Webview_Frame_Frameset_Webchromeclient - Fatal编程技术网

Android WebChromeClient是否不支持php iframe标记?

Android WebChromeClient是否不支持php iframe标记?,android,webview,frame,frameset,webchromeclient,Android,Webview,Frame,Frameset,Webchromeclient,我在webview中加载了其他系统提供的url。但它没有显示所有内容,它在页面中留下了一个空白窗口。我检查了源代码,它有一个框架集标记和一些iframe标记。 att src是正确的。为什么不能从src加载内容?webchromeclient是否支持php iframe标记 <frameset id ="dispframeset" rows="*,6%" frameborder="NO" border="0" framespacing="0"> <frame id="a

我在webview中加载了其他系统提供的url。但它没有显示所有内容,它在页面中留下了一个空白窗口。我检查了源代码,它有一个框架集标记和一些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=&currentChannelId=&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中表现不佳


thk提前。

就我而言,WebChromeClient支持iframe标记。在我的例子中,我以以下方式将iframe标记提供给webview

<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>

这是我的情况。当我第一次加载带有完整url的页面时,它工作得很好。所以我点击了页面中的一个链接,新页面留下了一个空白。我发现所有页面都包含iframe标签。我点击的第一页和第二页之间唯一的区别是url链接。第一次我用一个完整的url加载页面,但第二次用一个相对url打开页面,这与问题相关吗?
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();
        }
    }