Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在《秘密》和《流星》中使用了什么?_Javascript_Meteor - Fatal编程技术网

Javascript 在《秘密》和《流星》中使用了什么?

Javascript 在《秘密》和《流星》中使用了什么?,javascript,meteor,Javascript,Meteor,secrets.meteor.com是一个简单的应用程序,每个用户在其中键入一些内容,并在提交时通过该应用程序实时发送消息,供所有人查看,然后删除该消息,以便下一条消息显示 为了实现这一点,实际上正在做些什么?我为这个愚蠢的问题感到抱歉,但是我已经搜索了很多关于这个是如何制作的,什么也没看到。每个消息是否都是一个正在传递的函数,然后执行和删除 警告secrets.meteor.com未净化使用输入!!如果键入alert('hi'),您将看到一个警报,这意味着任何人都可以在您的机器上运行javas

secrets.meteor.com是一个简单的应用程序,每个用户在其中键入一些内容,并在提交时通过该应用程序实时发送消息,供所有人查看,然后删除该消息,以便下一条消息显示

为了实现这一点,实际上正在做些什么?我为这个愚蠢的问题感到抱歉,但是我已经搜索了很多关于这个是如何制作的,什么也没看到。每个消息是否都是一个正在传递的函数,然后执行和删除

警告secrets.meteor.com未净化使用输入!!如果键入
alert('hi')
,您将看到一个警报,这意味着任何人都可以在您的机器上运行javascript。如果你真的想查看这个网站,你可以在匿名窗口中打开它


用流星可以做得很容易。你不必做太多

--javascript文件

 if (Meteor.isClient) {
  Template.yourTemplate.events({
    'submit form': function(event){
      event.preventDefault();
      var message= event.target.messageInput.value;
      console.log(message)
      Session.set('messagetoDisplay', message);
    }
  });

  Template.yourTemplate.helpers({
    message: function(){
      return  Session.get('messagetoDisplay');
    }
  })
}
---html模板

<body>
{{>yourTemplate}}

</body>
<template name="yourTemplate">
    {{message}}

    <form>
        <input type="text" name="messageInput">
        <input type="submit" value="submit">
    </form>
</template> 

{{>yourTemplate}
{{message}}

使用meteor很容易。你不必做太多

--javascript文件

 if (Meteor.isClient) {
  Template.yourTemplate.events({
    'submit form': function(event){
      event.preventDefault();
      var message= event.target.messageInput.value;
      console.log(message)
      Session.set('messagetoDisplay', message);
    }
  });

  Template.yourTemplate.helpers({
    message: function(){
      return  Session.get('messagetoDisplay');
    }
  })
}
---html模板

<body>
{{>yourTemplate}}

</body>
<template name="yourTemplate">
    {{message}}

    <form>
        <input type="text" name="messageInput">
        <input type="submit" value="submit">
    </form>
</template> 

{{>yourTemplate}
{{message}}

这里有一个完整的答案,它实际上展示了多台计算机之间的反应

lib/collections.js

Secrets=newmongo.Collection(“Secrets”);
client/templates.js

Template.body.helpers({
秘密:函数(){
返回Secrets.findOne({},{sort:{date:-1}});
}
});
Template.body.events({
“提交表单”:函数(e){
//阻止页面操作
e、 预防默认值();
//获得价值
var message=event.target.mySecret.value;
//插入数据库
秘密。插入({
文本:消息,
日期:新日期()
});
//清晰的形式
event.target.mySecret.value=“”;
}
});
main.html


{{secret.text}

这里有一个完整的答案,它实际上展示了多台计算机之间的反应

lib/collections.js

Secrets=newmongo.Collection(“Secrets”);
client/templates.js

Template.body.helpers({
秘密:函数(){
返回Secrets.findOne({},{sort:{date:-1}});
}
});
Template.body.events({
“提交表单”:函数(e){
//阻止页面操作
e、 预防默认值();
//获得价值
var message=event.target.mySecret.value;
//插入数据库
秘密。插入({
文本:消息,
日期:新日期()
});
//清晰的形式
event.target.mySecret.value=“”;
}
});
main.html


{{secret.text}

这被称为反应性,插座用于此Meteor通常用于实时应用程序。这就是所谓的反应性,套接字用于此Meteor通常用于实时应用程序。一次有效的尝试,但这肯定不是这样做的,因为
session
变量只影响当前用户/会话。一次有效的尝试,但这肯定不是这样做的,因为
session
变量只影响当前用户/会话。