当js文件与browserify捆绑在一起时,如何将js文件中的函数与dom元素绑定?

时间:2017-06-11 06:01:26

标签: javascript html browserify chatbot api-ai

我正在使用来自npmjs的apiai包进行聊天机器人。

我有一个名为'brain.js'的javascript文件,我已经浏览了这个文件,以便html浏览器可以知道require关键字是什么。但我面临的问题是,当我想用​​dom元素绑定该函数(在js文件中)时,例如使用onclick()函数,我的函数似乎没有被正确引用。但是当我没有将它与onclick事件绑定时,一切似乎都运行正常。 我很乐意收到社区的一些建议,告诉我如何让我的聊天机器人从html工作。

这就是brain.js的样子:

function fun(){
 var c;
 var apiai=require('apiai');
 const getJSON = require('simple-get-json');

var app = apiai("3dd3ae56a8094061a8fe8745dcad45a0");
var options = {
    sessionId: 'UNIQE SESSION ID'
};

var request = app.textRequest("book me a good hotel",options);

request.on('response', function(response) {

   if(response.result.action.match('hotel.book')){

       var url='http://api.openweathermap.org/data/2.5/weather?q=';
       var location='delhi';
       var end='&APPID=761ddf2847a0e1dc0ff709d8e9745d72';

       getJSON((url+location+end),function(data){
        // console.log('the temperature in '+location+' is : '+data.main.temp);
          document.addEventListener("onload",function(){document.getElementById('text').innerHTML= 'data.main.temp';})
       });  
   }
});

request.on('error', function(error) {
   // document.getElementById('demo').innerHTML='shit it is error!!!';
});

request.end();
return c;

}

我没有附加浏览器化的代码段,以避免此页面出现的笨拙外观。

这是我要运行的html文件:

<!DOCTYPE html>
<html>
    <head >This is starting.
        <script src='bundles.js'>
            </script>

      </head>  

<body>

<h1 id='text' >Click on this text!</h1>
<h1 id='test'>Hello here</h1>




</body>
</html>

如果仍然不清楚,请告诉我。 我一直试图找到一个替代品。所以任何建议或干净的方式来做到这一点将不胜感激。 提前谢谢。

0 个答案:

没有答案