Я пытаюсь показать HTML-контент внутри веб-просмотра в Android. У меня есть партнерская HTML-ссылка Amazon. Эта ссылка содержит iframe. Но, к сожалению, содержимое в веб-представлении частично совпадает, вот как это выглядит:
Думаю, что-то не так с моим веб-обзором, но я не знаю, что не так. Это мой activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" tools:layout_editor_absoluteY="81dp"> <WebView android:id="@+id/webView" android:layout_width="424dp" android:layout_height="534dp" android:layout_marginStart="8dp" android:layout_marginLeft="8dp" android:layout_marginTop="8dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginBottom="8dp" />
Это мой класс Java:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView wv = (WebView) findViewById(R.id.webView); wv.loadUrl("about:blank"); wv.loadUrl("file:///android_asset/test.html"); }
Как видите, я получаю html-файл из папки ресурсов. Вот как выглядит HTML:
<html> <body> <iframe style="width:150px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="https://ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=DE&source=ac&ref=tf_til&ad_type=product_link&tracking_id=test&marketplace=amazon®ion=DE&placement=B07D83S33Z&asins=B07D83S33Z&linkId=db2ebcb1591dd69fda8b9d440c8060d6&show_border=false&link_opens_in_new_window=false&price_color=333333&title_color=0066c0&bg_color=ffffff"> </iframe> </body> </html>
Почему этот контент перекрывается и не отображается должным образом?
Включение Javascript решит вашу проблему
wv.getSettings().setJavaScriptEnabled(true);