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' && 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>