Có anyway để xác định khi mathjax được nạp đầy đủ để xử lý toán học. Tôi cần phải ẩn phương trình toán học của tôi trước khi mathjax được nạp đầy đủ và hiển thị thông báo 'tải' trong thời gian có nghĩa.Làm thế nào để phát hiện khi mathjax được nạp đầy đủ?
Trả lời
Đối với những người có thể tìm kiếm câu trả lời, đây là câu trả lời tôi nhận được từ nhà phát triển Mathjax
Cách để đồng bộ hóa với các hoạt động khởi động MathJax của nó để đăng ký một StartupHook rằng sẽ cháy khi khởi động hoàn tất . Ví dụ, bạn có thể sử dụng
MathJax.Hub.Register.StartupHook("End",function() { ... your startup code here ... });
ở phần cuối của thẻ mà cấu hình MathJax, hoặc trong một thẻ riêng biệt chỉ sau khi tải MathJax nếu bạn đang sử dụng tập tin cấu hình mặc định MathJax trong MathJax/config/MathJax.js. Điều đó sẽ cho phép bạn móc vào trình tự khởi tạo MathJax để bạn có thể thực hiện thiết lập của riêng bạn vào đúng thời điểm.
Cảm ơn David
Nếu bạn có Jquery nạp bạn có thể sử dụng getScript()
var mjaxURL = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,Safe.js';
// load mathjax script
$.getScript(mjaxURL, function() {
// mathjax successfully loaded, let it render
MathJax.Hub.Queue(["Typeset", MathJax.Hub, 'c'+parentid+'_list']);
});
Lưu ý từ tương lai: cdn.mathjax.org sắp hết hạn, hãy kiểm tra https://www.mathjax.org/cdn-shutting-down để biết các mẹo di chuyển (và có thể cập nhật bài đăng của bạn cho người đọc trong tương lai). –
Cảm ơn bạn đã chỉ ra. Đã thêm CDN được đề xuất: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js –
Bạn cần phải thêm mã trên trong ' 'khối, không phải trong khối javascript. –