我在Upwork上获得了最简单的工作,但是很奇怪
有一个site,我只需要用我的应用程序包装它,但是顶部按钮不起作用(js问题),并且图像为空,我的chrome安卓浏览器可以很好地做到这一点。我当时发疯了,但没有找到解决方法。现在的工作不是我的,但我仍然想了解出什么问题了。
这是我的代码:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
setTheme(R.style.AppTheme)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView.settings.apply {
javaScriptEnabled = true
}
webView.loadUrl("http://onlinegamesreview.online/")
}
我尝试了很多发现的事情,如果您向我展示真实的工作代码而不是说明,那就更好了
谢谢
答案 0 :(得分:0)
尝试使用这些图片
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
webView.getSettings().setAppCacheEnabled(true);
对于Js
WebSettings webSettings=webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
答案 1 :(得分:0)
首先,我在清单中添加了Internet权限:
<uses-permission android:name="android.permission.INTERNET" />
和以下代码:
public class MainActivity extends AppCompatActivity {
WebView webView;
ProgressDialog progressDialog;
private static final String TERMS_AND_CONDITIONS_URL = "http://onlinegamesreview.online/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressDialog = new ProgressDialog(this);
recyclerView = findViewById(R.id.recyclerView);
webView = findViewById(R.id.webView);
webView.setWebViewClient(new MyBrowser());
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.loadUrl(TERMS_AND_CONDITIONS_URL);
}
private class MyBrowser extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressDialog.setMessage("loading...");
progressDialog.setCancelable(false);
showDialog();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(TERMS_AND_CONDITIONS_URL);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
hideDialog();
}
}
private void hideDialog() {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
}
}
private void showDialog() {
if (!progressDialog.isShowing()) {
progressDialog.show();
}
}
}