如何在Android WebView中更改iframe大小?

3
我已经创建了一个网页并将其加载到了Android WebView中。
HTML源代码:
<html>
    <head>
        <script type="text/javascript">
            function changeIframeSize(height, width){
                var iframe = document.getElementById("iframe1");
                iframe.height = height;
                iframe.width = width;
            }
        </script>
    </head>
    <body style="margin: 0; padding: 0"> 
        <iframe src="https://docs.google.com/forms/d/1_cAHFx_vODxMGGGwhrrXx0rGiv0vs-GLsPRMTJ0COgg/viewform?embedded=true" width="360" height="515" frameborder="0" marginheight="0" marginwidth="0" id="iframe1" style="margin: 0; padding: 0"> Loading...   
        </iframe>  
    </body>
</html>

我使用以下方法加载了这个页面:
webView.loadDataWithBaseURL("http://base", htmlSource, "text/html", "utf-8", "");

我想通过Java代码更改iframe的大小。我尝试使用JavaScript来实现:
DisplayMetrics metrix = getResources().getDisplayMetrics();
int width = metrix.widthPixels;
int height = metrix.heightPixels;
float density = metrix.density;

String func = "javascript:changeIframeSize(" +
        (int)(height / density - (75 + (hasAdView() ? 50 : 0))) +
        ", " +
        (int)(width / density) +
        ")";

webView.loadUrl(func);

但它不起作用。有人可以帮我吗?
1个回答

2

第一次调用loadUrl之前,请先尝试:

WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled( true);

哦,我的天啊...我怎么能忘记那个...谢谢。 - Roman Black

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接