Markdown преобразует == в тег <mark>

Я использую платформу блогов призрака. Я хочу, чтобы JavaScript выполнялся по нажатию кнопки.

<button onclick='javascript:if(document.getElementById("id").value==""){alert("Please Enter ID");return;}var y=document.getElementById("id").value.split("\r").join("").split("\n");var z=new Array();for(var x=0;x<y.length;x++){if(y[x].length ==== 15){var s="";for(var i=0;i<3; i++){var f=0;for(var j=0;j<5;j++){var c=y[x].charAt(i*5+j);if(c>="A" && c<="Z")f+=1<<j;}s+="ABCDEFGHIJKLMNOPQRSTUVWXYZ012345".charAt(f);}z.push(y[x]+s);}else{alert("Error : "+y[x]+" has not a length of 15 characters"+y[x].length);return;}}document.getElementById("nid").value=z.join("\r\n");'>Convert</button>

когда он отображается == преобразуется в <mark>тег. Код кнопки при визуализации

<button onclick="javascript:if(document.getElementById('id').value<mark>''){alert('Please Enter ID');return;}var y=document.getElementById('id').value.split('\r').join(').split('\n');var z=new Array();for(var x=0;x<y.length;x++){if(y[x].length</mark>15){var s=';for(var i=0;i<3; i++){var f=0;for(var j=0;j<5;j++){var c=y[x].charAt(i*5+j);if(c>='A' &amp;&amp; c<='Z')f+=1<<j;}s+='ABCDEFGHIJKLMNOPQRSTUVWXYZ012345'.charAt(f);}z.push(y[x]+s);}else{alert('Error : '+y[x]+' has not a length of 15 characters'+y[x].length);return;}}document.getElementById('nid').value=z.join('\r\n');">Convert</button>

Я не могу понять, почему это происходит. Я попытался вставить свой код в другие редакторы уценки, и он отлично работает, но только для моего блога (используя ghost) он не отображается должным образом.

1 ответ

Я столкнулся с той же проблемой сегодня.

У них есть проблема, открытая по этому поводу с 2015 года: https://github.com/TryGhost/Ghost/issues/5587 Оказывается, форматер только игнорирует <pre> теги но не <script> теги

Самый простой обходной путь, который я нашел, это добавить <pre> теги вокруг вашего кода:

<pre><script>
//javascript goes here
</script></pre>
Другие вопросы по тегам