2014-12-04 106 views
0

我目前有一个非常基本的Python Web应用程序。我正在利用它对SmartTV浏览器进行一些基本测试,该浏览器甚至远程支持JavaScript也不支持。使用Python web.py提供页面,如何重新加载并在超时后动态更改页面?

我需要能够将电视浏览器指向我的webapp的URL,让它加载一个包含一个仅包含一个gif的div的页面,然后每10秒钟说一次,重新加载页面,切换到不同的页面GIF。它可能只是两个GIF来回切换,但我需要弄清楚如何在没有Javascript重新加载页面的情况下实现这一点。或者,也许在整个世界的最基本的JavaScript重新加载页面,但我已经尝试了几个JS动作,并遇到各种类型的差处理,导致意想不到的结果,虽然有趣,没有测试我'我们的任务是测试。

这里是我当前的代码从app.py:

import web 
import time 

urls = (
    '/', 'Index' 
) 

app = web.application(urls, globals()) 

render = web.template.render('templates/') 

class Index(object): 
    def GET(self): 
    currentGif = 'http://10.111.0.221/onegif/cosmicShip.gif' 
    return render.index(currentGif = currentGif) 

if __name__ == "__main__": 
    app.run() 

说的呼唤是如上文所述,通过URL来搭起GIF作为背景图像一个简单的div模板。我想要做的是找到一些方法,基本上只是在返回后添加睡眠(10),将currentGif切换到第二个gif文件,然后再次返回页面。

我知道这样做并不现实,但这是我能想到解释我想要的最简单的方法。我只需要加载页面,并在两页之间循环,直到我手动退出,我不相信JavaScript是一个可行的选项。

任何想法?

+0

我不认为它可以用JavaScript来完成。您的客户需要向您的服务器发出另一个GET请求才能重定向。一旦你的服务器发送页面,连接关闭。您可以尝试轮询客户端,但如果您限制客户端的访问权限,您将如何处理该问题。 – Dan 2014-12-04 15:39:35

+0

JavaScript是解决方案。尝试在urls元组中添加一个路由,并添加一个新的处理程序,该处理程序将只返回图像路径,从一个到另一个交替。然后对您的新路线进行异步调用,并每隔10秒用新路径更新div背景图像。 – Xavier 2014-12-04 15:43:35

回答

0

我认为你可以使用javascript来刷新那段时间,并通过GET参数传递页面的ID,然后你在Python控制器中调用另一页。

JavaScript需要它为客户端部分。或者随时重新加载或调用ajax函数。

Python:控制器保存状态并响应当前状态。

+0

感谢评论/回答的人。不足之处是让JavaScript在其中一些方面正常工作(或根本就没有问题),所谓的智能电视充其量是充满挑战的,但我们仍在继续研究这种方式,并且与几个型号运行有限。欣赏这里提供的信息。 – mikecole79 2014-12-05 20:48:52

相关问题