android - WebView 中未加载某些 URL
问题描述
我正在尝试在 Activity 中的 android WebView 中加载 URL。我能够做到这一点,但该网站正在启动默认浏览器。我找到了 setWebViewClient 方法,它将网站保留在应用程序内部的 WebView 中,而不是启动默认浏览器。但是 - 这显示了一个空白页。我尝试了其他网站(http://www.google.com,http://www.amazon.com等),这些工作......但是我试图加载的网站(https://mizaajindia .com/ ) 没有。
我已启用 javascript 以防万一 - 但无法理解为什么某些 URL 会加载而其他 URL 不会从应用程序的 WebView 中加载。你有什么想法吗?
非常感谢!
公共类 MainActivity1 扩展 AppCompatActivity {
private MainActivity1 activity;
private ProgressDialog progDailog;
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity = this;
progDailog = ProgressDialog.show(activity, "Loading", "Please wait...", true);
progDailog.setCancelable(false);
webView = (WebView) findViewById(R.id.wb_webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
progDailog.show();
view.loadUrl(url);
return false;
}
@Override
public void onPageFinished(WebView view, final String url) {
progDailog.dismiss();
}
});
webView.loadUrl("https://mizaajindia.com/");
}
}
解决方案
对于我的具体情况,我必须像@Aaryan Negi 所说的那样启用 dom 存储。这是因为该站点使用本地存储
更多信息可以在 stackoverflow 响应和MDN 的 Web 存储 API 信息中找到
在片段中开始的 webview 的代码示例。
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
_binding = FragmentGuestWebViewBinding.inflate(inflater, container, false)
val view = binding.root
//declare webview domStorage
val myWebView: WebView = binding.webView
//enable javascript and
myWebView.settings.javaScriptEnabled = true
myWebView.settings.domStorageEnabled = true
myWebView.loadUrl("https://mixerlogic.herokuapp.com")
// Force links and redirects to open in the WebView instead of in a browser
myWebView.webViewClient = WebViewClient()
return view
}
推荐阅读
- django - 在 DRF 中测试登录时,Pytest 断言返回 401 而不是 200
- python - 如何在 Python 中使用 Selenium 找到没有类/ID 的跨度元素之间的文本?
- java - 我不知道如何使用嵌套的 for 循环(java)创建下面的图像
- python - Python 3.8:连接字符并显示 unicode 字符的 int 值
- c# - 如何找到输出测验每个问题的尝试次数的方法?
- r - 如果我将 Excel 数据上传到 Rstudio Server Pro,我可以删除列来制作数据的子集吗?
- python - Python bs4:提取/选择部分 html div
- vue.js - Vuex:'this'在mapState中未定义
- c - 很难创建一个函数来显示 n 个数字的所有不同组合(0
我很难找到这个的基本逻辑。我知道递归会有所帮助,但我不知道如何处理它。我的困难在于在基本情况下处理发送/打印数组。我所做的一切都只能迭代最后一个数字,不知道如何处理其他数字。
如果 n 为 2:
$>./a.out | cat -e
01, 02, 03,
- html - 如果没有类的文本,我将如何更改文本颜色?