2016-06-29 35 views
0

我不知道這是可能的,但...記住文本輸入,而不使用PHP或數據庫

我試圖創建一個非常基本的聊天功能,將任何人訪問該頁面,詢問簡單的問題。我受限制,所以我只能使用HTML和JavaScript代碼,所以我非常侷限於如何才能真正實現這一點。

有什麼辦法可以創建一個聊天功能,允許多個用戶看到一個沒有頁面重新進行實時會話,因爲我們無法將結果保存到數據庫。

到目前爲止,我有下面的代碼將使聊天工作,但沒有人能看到對話。我們是否可以獲得代碼來激活顯示更改,而無需刷新頁面,以便其他人可以看到對話?就像使用現場活動或其他東西一樣。

如果有人有任何建議,我會非常感激。

代碼示例:

<script> 
    jQuery(document).ready(function(){ 
     $('button').click(function(){ 
      var message = $('textarea').val(); 
      var old = $('#chatbox').html(); 
      $('#chatbox').html(old + '<p>' + message + '</p>'); 
     }); 
    }); 
</script> 

<h1>Chat</h1> 
<div id="chatbox"> 
    <p>The chat box</p> 
</div> 
<div id="message"> 
<textarea class="textarea" name="comment" id="comment" placeholder="Ask a question..."></textarea> 
<button>Post</button> 
</div> 

Screenshot

+0

僅使用HTML和JavaScript就不可能實現使用Web瀏覽器直接進行客戶端與客戶端的通信。你可能需要某種服務器端腳本,或者其他一些東西,比如Java applet或Flash對象。 – apokryfos

回答

-1

我曾經在那裏的PHP不能在當地使用此相同的問題。

  1. 我們如何解決這個問題是通過使用AJAX在別處的服務器上的網站之外抓取一個php文件。

  2. 您可以使用JavaScript將文本保存到文本文件中,然後將其拉入所有用戶。

此鏈接可能是有益的 - https://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/

+0

這就是爲什麼我給了選項2,我沒有使用任何PHP – user3683675

+0

你的第一個選擇使用PHP,因爲它在別的地方並不意味着它不是PHP。 – apokryfos

+0

我給了第一個選項,因爲有時人們試圖在手機上運行本地的PHP例如,然後它不工作,所以他們認爲PHP無法正常工作。而它可以通過將文件放在項目之外並通過JavaScript調用它。你爲什麼不專注於幫助問這個問題的人而不是挑剔別人 – user3683675

0

對於這個問題「我們得到的代碼,以積極顯示更改」答案是肯定的(實際上是當前的代碼應該這樣做的話) ,但是,對於問題「讓別人可以看到對話」的答案是

當前瀏覽器無法直接進行客戶端到客戶端的通信。 JavaScript確實允許使用websockets,例如socket.io,但是問題是沒有辦法公佈當前正在查看同一頁面的其他人的IP,並且暴露使用您站點的其他人的IP會引發隱私問題。

如果你在服務器端使用某些東西的能力比較靈活,那麼你也可以使用https://webrtc.org/這是一種允許客戶端到客戶端通信的標準方式(但需要服務器來實現調解它)。

相關問題