所以我问之前到处都是,所以无法加载图像来工作
我有一个小应用程序,可以通过从服务器加载图像来检查服务器是否在线。它通过html和javascript运行]
HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="Android Check" />
<link href="https://fonts.googleapis.com/css?family=Quicksand&display=swap" rel="stylesheet">
<title>Server Monitoring</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script src="main.js"></script>
</head>
<body>
<div class=contents>
<div style='margin:auto;'>
<span class=content_text id=textbox style="font-family: 'Quicksand';">Server Monitoring</span>
</div>
</div>
<div class="status">
<p style="font-family: 'Quicksand';" id="check"><img src="servericon.png" height="60px" width="60px" align="middle"> Status: Checking Status...</p>
</div>
</body>
</html>
Java代码
window.onload = function () {
function ifServerOnline(ifOnline, ifOffline)
{
var img = document.body.appendChild(document.createElement("img"));
img.onload = function()
{
ifOnline && ifOnline.constructor == Function && ifOnline();
};
img.onerror = function()
{
ifOffline && ifOffline.constructor == Function && ifOffline();
};
img.src = "http://myurl.com/img.jpg";
}
ifServerOnline(function()
{
document.getElementById("check").innerHTML = "Status: Online!";
},
function ()
{
document.getElementById("check").innerHTML = "Status: Offline!";
});
};
我到目前为止已经尝试过
package com.highgames.svmngm;
import androidx.appcompat.app.AppCompatActivity;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView)findViewById(R.id.webView);
webView.loadUrl("file:///android_asset/index.html");
WebSettings webSettings = webView.getSettings();
webView.getSettings().setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setLoadsImagesAutomatically(true);
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
}
我不知道为什么,但是它既不显示本地图像也不显示url图像,我也不知道如何使它工作
有人可以帮我吗?
您需要更改设置之前加载URL-即,移动webView.loadUrl("file:///android_asset/index.html");
到onCreate
方法的结尾。
看来您的URL是http://
(未加密)URL-您可能还需要enable cleartext HTTP traffic或在服务器上启用HTTPS。