将内容推送到浏览器...更改DOM?

时间:2013-12-05 08:11:40

标签: javascript python dom go

确定。我有这个我一直在努力的激情项目。

我正处于移动应用和后端的阶段, 我真的使用托管消息/云处理服务作为我的新功能 后端,替换我自己的服务器。

问题在于我无法理解javascript。

我知道如何从手机到后端以及所有好东西...... 我现在要做的只是改变一个DOM元素。 从GO代码或Python代码。

移动---->消息/处理---->浏览器/ DOM

基本上推送一个url或一串html代码,以便显示它 在浏览器中

为此我明白我唯一的选择是javascript。

我看过推杆和网络插座......

但我仍然不明白如何实际更改html元素。

3 个答案:

答案 0 :(得分:3)

由于您考虑过Pusher,您可以从Pusher获得必要的钥匙。一旦您有权访问,在客户端中,您可以将Pusher js library添加到要将事件“推送”到的html文件中。

然后你需要订阅一个频道(js)。

var channelName = "my-channel"
var channel = pusher.subscribe(channelName);

从客户订阅频道后。使用python pusher server lib(python)触发事件以及您需要发送的数据:

push = pusher.Pusher(app_id='your-pusher-app-id', key='your-pusher-key', secret='your-pusher-secret')
push['my-channel'].trigger('dom-change-event', {'data': 'data'})

您可以从客户端(js)收听此事件:

channel.bind("dom-change-event", function(data){ // the data you Pushed from backed
  $(".div-to-change").hide(); // with the help of jQuery select the dom, and hide it.
})

Pusher维护与客户端的websocket连接,一旦从服务器触发事件​​,Pusher就会在客户端引发它。

DOM操作(更改):

您所指的DOM更改可以通过多种方式完成。下面提到了一些:

  1. 在您的前端准备好所有内容(html代码),并根据服务器的推送消息,您可以显示/隐藏您的DOM的不同部分,如上所述。
  2. 使用基于推送消息的javascript动态构建DOM
  3. 从服务器发送HTML代码,只需将其附加到DOM。
  4. 重要这里需要注意的是,在上面的示例中,使用名为jQuery的库完成了DOM操作。 jQuery使您可以轻松地进行DOM操作。 http://jquery.com/

    另请参阅this文章,开始使用jQuery进行DOM操作(更改)。

答案 1 :(得分:0)

也许你可以使用反向AJAX,我使用DWR Framework http://directwebremoting.org/dwr/documentation/reverse-ajax/index.html

答案 2 :(得分:-2)

改变元素的JavaScript

HTML

<div id="myDiv" class="divvy">some content</div>

的JavaScript

// selecting elements
var elementById = document.getElementById("myDiv");     // returns the element by id
var elements = document.getElementByClassName("divvy"); // returns array of all elements with this class

参考