浏览器在应用程序引擎静态页面上阻止Mathjax

问题描述 投票:0回答:1

[我正在尝试提供一个静态页面,其中包含要由Mathjax呈现的Tex样式的Math。这些网页由Google应用引擎上的Flask应用提供。问题是-Chrome,Opera和Edge-所有浏览器都阻止Mathjax渲染数学,但是如果我在每次加载页面时从浏览器顶部手动解除阻止它,都可以正常工作。该网站可以在脱机状态下正常运行,但是通过App Engine应用访问该页面时会出现问题。有什么方法可以防止浏览器阻止脚本?请注意,Mathjax是从官方CDN加载的,但是我也尝试过使用本地副本。

示例链接:https://20200407t065833-dot-clip-sync-03.appspot.com/book_preview_chapter_1

javascript google-app-engine flask mathjax browser-security
1个回答
0
投票

主要问题是您正在使用https通过加密页面上的http加载MathJax-出于安全原因,浏览器将阻止此类内容。在您的本地计算机上,您可能正在使用file://或localhost加载页面,因此该问题不会在此处发生。

附带说明,您还使用的是MathJax的非常旧的版本(cdn.mathjax.org很久以前就已淘汰)。最后,页面标记实际上不是有效的HTML(尽管解析器会对其进行修复)。

这是一个有效的示例。

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>TITLE MUST BE NON EMPTY</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
  </head>
  <body>
    <h1>অধ্যায় ১</h1>
    <h2>বিভাজ্যতা <br>
    Divisibility </h2>

    <p>বিভাজ্যতা নিয়ে আমরা সবসময়ই জেনে বা না জেনে ভেবেছি। যেমন আমার \(10\) টা চকলেট থাকলে সেগুলো \(5\) জন বন্ধুকে সমানভাবে ভাগ করে দেওয়া যাবে, কিন্তু চারজনকে সমান ভাগ করে দেওয়া যাবে না। অথবা স্কুলের ক্লাসে \(45\) জন ছাত্র থাকলে তারা \(5\) বা \(9\) টা লাইনে সমানভাবে দাঁড়াতে পারে, কিন্তু \(4,6\) বা \(10\) টা লাইনে দাঁড়ালে সব লাইনে সমান সংখ্যক ছাত্র থাকতে পারে না। এই সাধারণ ধারণাগুলোই সংখ্যাতত্ত্বের ভিত্তি। কিন্তু সাধারন এই ধারনাগুলোই জন্ম দিয়েছে অসংখ্য অসাধারন সমস্যার। মানুষ তার কতগুলোর সমাধান করতে  পেরেছে। আবার কতগুলোর কোন কুল-কিনারা করা যায়নি। যেমন বলা যায় ফার্মার শেষ উপপাদ্যের কথা। এই উপপাদ্য বলে, \(n>2\) একটা পূর্ণসংখ্যা হলে এমন তিনটি স্বাভাবিক সংখ্যা \(a,b,c\) পাওয়া যাবে না যেন \(a^n+b^n=c^n\) হয়।  আপাত দৃষ্টিতে সরল দর্শন এই সমস্যার সমাধান করতে মানুষের লেগেছে প্রায় চারশ বছর! যদিও ফার্মা নিজেই চমৎকার একটি প্রমাণ আবিষ্কার করার দাবি করেছিলেন, তবুও তার সত্যতা যাচাই করা যায়নি।</p>
...
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.