我正在爲Web應用程序創建我的降價編輯器。更好的比喻可以是Stack Overflow/RedNotebook,當我們將內容輸入到文本框中時,立即格式化的輸出會顯示在它旁邊。如何創建降價編輯器
這樣的模型是否有任何示例實現?或者我應該從頭開始編寫代碼,從創建文本框等開始?
任何開放源代碼API?
我正在爲Web應用程序創建我的降價編輯器。更好的比喻可以是Stack Overflow/RedNotebook,當我們將內容輸入到文本框中時,立即格式化的輸出會顯示在它旁邊。如何創建降價編輯器
這樣的模型是否有任何示例實現?或者我應該從頭開始編寫代碼,從創建文本框等開始?
任何開放源代碼API?
我有完美的解決方案給你,我只是寫了這個。
下載PHP Markdown Extra,並放在同一目錄作爲這個腳本:當然
<?php
include_once("markdown.php");
if(isset($_GET['mode']) && $_GET['mode'] == 'ajax')
die(Markdown($_POST['markdown']));
?><html>
<head>
<style>
span { text-align: left; width: 49% }
textarea { height: 100%; width: 100% }
#left { float: left; }
#right { float: right; }
</style>
<script type='text/javascript'>
function ajax()
{
if(window.XMLHttpRequest)
var request = new XMLHttpRequest();
else if(window.ActiveXObject)
var request = ActiveXObject("Microsoft.XMLHTTP");
request.open("POST", "?mode=ajax", true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send('markdown=' + document.getElementById('markdown').value);
request.onreadystatechange = function()
{
if(request.readyState == 4 && request.status == 200)
document.getElementById('right').innerHTML = request.responseText;
}
}
window.onload = function(){ ajax(); }
</script>
</head>
<body>
<div>
<span id='left'>
<textarea id='markdown' onkeyup='ajax();'></textarea>
</span>
<span id='right'>
Loading...
</span>
</div>
</body>
</html>
這僅僅是一個簡單的概念。它需要一些改進,但它是我想要找的東西的基礎。
您應該限制這些AJAX請求......否則會在服務器上創建大量流量......並且不能保證以特定順序返回請求,因此您可能最終沒有預覽窗口與用戶的輸入同步。 – 2013-02-14 02:08:13
@TimMedora正如我所說,這只是一個基礎。理想情況下,我會寫一個完整的JS解決方案,但這是我剛剛碰到的事情,而且看起來很合適。但我不建議長期發送數千個HTTP請求。 – 2013-02-14 03:34:59
@TimMedora我發佈了一個更好的答案。 – 2013-02-15 02:13:37
這不是這個問題的適當位置。這種問題更適合[聊天]。參見[關於StackOverflow](http://stackoverflow.com/about)。 – 2013-02-13 02:18:49
https://github.com/evilstreak/markdown-js – jthomas 2013-02-13 02:18:53
請參閱[什麼是好的客戶端降價編輯器?](http://stackoverflow.com/questions/2357022/what-is-a-good-client-側面降價編輯器)的選項,包括本網站上使用的編輯器。 – 2013-02-13 02:20:45