在 Android Studio WebView 中使用 MathJax?
Use MathJax inside Android Studio WebView?
好的,所以我正在尝试将 WebView 与使用 MathJax 库的本地 html 文件一起使用,但是当我 运行 它不使用该库时。我厌倦了 webView.setJavaScriptEnabled() 并且我确保它作为 html 文档独立工作,而不是在 WebView 中工作。
这是我的代码:
package com.example.mathcompetitions;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Build;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/index.html");
}
}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Math Concepts</title>
<style>
@font-face{
font-family:Cambria;
src:url('file:///android_asset/cambria.ttc')
}
body {
font-family: 'Cambria';
font-size: 32px;
font-weight: normal;
text-align: center;
background-color: #222;
color: #eee
}
</style>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> </script>
</head>
<body>
<p id="p">
When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}.\]
</p>
</body>
</html>
切换到另一个 API 应该可以解决问题。在处理这个问题时,我使用的是 29,但切换到 30 就修复了它。正如清单
中的评论 <uses-permission android:name="android.permission.INTERNET" />
中所述
好的,所以我正在尝试将 WebView 与使用 MathJax 库的本地 html 文件一起使用,但是当我 运行 它不使用该库时。我厌倦了 webView.setJavaScriptEnabled() 并且我确保它作为 html 文档独立工作,而不是在 WebView 中工作。
这是我的代码:
package com.example.mathcompetitions;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Build;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/index.html");
}
}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Math Concepts</title>
<style>
@font-face{
font-family:Cambria;
src:url('file:///android_asset/cambria.ttc')
}
body {
font-family: 'Cambria';
font-size: 32px;
font-weight: normal;
text-align: center;
background-color: #222;
color: #eee
}
</style>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> </script>
</head>
<body>
<p id="p">
When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}.\]
</p>
</body>
</html>
切换到另一个 API 应该可以解决问题。在处理这个问题时,我使用的是 29,但切换到 30 就修复了它。正如清单
中的评论<uses-permission android:name="android.permission.INTERNET" />
中所述