【问题标题】:Remember text input without using PHP or Database在不使用 PHP 或数据库的情况下记住文本输入
【发布时间】:2016-06-29 11:33:38
【问题描述】:

我不知道这是否可能,但是...

我正在尝试创建一个非常基本的聊天功能,任何访问该页面的人都可以提出简单的问题。我受到限制,所以我只能使用 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

【问题讨论】:

  • 使用 Web 浏览器的直接客户端到客户端通信不太可能仅使用 HTML 和 JavaScript 实现。您要么需要某种服务器端脚本,要么需要 Java 小程序或 Flash 对象之类的其他东西。

标签: jquery html chat


【解决方案1】:

对于问题“我们让代码主动显示更改”答案是肯定的(实际上你当前的代码应该已经这样做了),但是,对于问题“以便其他人可以看到对话”,答案是

当前的浏览器无法进行直接的客户端到客户端通信。 JavaScript 确实允许使用 websocket,例如,socket.io,但问题是无法公布当前查看同一页面的其他人的 IP,此外,暴露使用您网站的其他人的 IP 会引发隐私问题。

如果您在服务器端使用某些东西的能力更灵活一点,那么您也可以考虑使用https://webrtc.org/,这是一种允许客户端到客户端通信的标准化方式(但确实需要服务器调解它)。

【讨论】:

    【解决方案2】:

    我曾经遇到过同样的问题,本地无法使用php。

    1. 我们的解决方法是使用 AJAX 在其他地方的服务器上抓取网站外部的 php 文件。

    2. 您可以使用 JavaScript 将文本保存到文本文件中,然后将其拉入所有用户。

    此链接可能会有所帮助 - https://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/

    【讨论】:

    • 这就是为什么我没有使用任何 php 的选项 2
    • 您的第一个选项确实使用 PHP,只是因为它在其他地方并不意味着它不是 PHP。
    • 我给出了第一个选项,因为有时人们尝试在手机上本地运行 php,然后它不起作用,所以他们认为 php 不能工作。而它可以通过将文件放在项目之外并通过 JavaScript 调用它。你为什么不专注于帮助提出问题的人而不是挑剔别人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 2018-04-18
    • 2010-11-28
    相关资源
    最近更新 更多