【问题标题】:simple web browser with auto refresh by webkit python通过 webkit python 自动刷新的简单网络浏览器
【发布时间】:2015-03-23 22:36:50
【问题描述】:

我正在尝试使用 raspberry-pi 计算机开发一个简单的数字标牌系统。我实际上想要做的是以全屏模式打开一个网页(其中包含要显示的信息),并以一定的时间间隔刷新这个页面。我在 python 中使用“gtk”和“webkit”遇到了一些 web 视图代码,我设法以全屏模式打开了一个 url,但我不知道如何根据我的需要使用重新加载功能。请帮帮我。

【问题讨论】:

    标签: python webkit gtk raspberry-pi reload


    【解决方案1】:

    除了已经描述的使用 cron 作业(不是一种优雅的方式)或使用 javascript 的两种方式之外,还可以在 python 脚本中安排重新加载。

    from gi.repository import Gtk, GLib
    from gi.repository import WebKit2
    
    class  ReloadView:
        def __init__(self):
            window = Gtk.Window()
            window.connect('delete-event',Gtk.main_quit)
    
            self.view = WebKit2.WebView()
            self.view.load_uri('http://example.net')
            GLib.timeout_add_seconds(5, self.reload) #every 5 seconds
    
            window.add(self.view)
            window.fullscreen()
            window.show_all()
    
        def reload(self):
            self.view.reload()
            #self.view.reload_bypass_cache() for complete reload
            return True
    
    if __name__ == "__main__":
        ReloadView()
        Gtk.main()
    

    【讨论】:

    • 请考虑接受答案并投票赞成对您有帮助的内容。这样其他人就可以从您的经验中受益。
    • 先生,我对将这个 pyton 脚本设置为自动启动有疑问。我尝试了一些方法,但没有任何效果。你能帮助我吗?您提到的代码在手动运行时工作正常。但是我想在打开树莓派时自动运行这个脚本。我该怎么办?
    • 也许these instructions 可以帮助你。否则,您可能应该将此作为新问题发布。
    【解决方案2】:

    请查看此资源,该资源似乎对您的问题有一些有效的解决方案:https://raspberrypi.stackexchange.com/questions/6981/auto-refresh-for-midori

    这些计划的操作通常由 cron 作业处理,但没有什么能阻止您编写自己的简单操作计划程序。

    edit:或者,如果您控制网站本身,您可以将网站本身设置为以一定的间隔刷新。此处描述了执行此操作的方法:How to reload page every 5 second?

    【讨论】:

    • @PradeepSathyan:为了完整起见,我对我的答案进行了小幅更新。不确定它是否对您有帮助。
    • @peter 那是我的计划 B。哈哈!再一次感谢你。 :)
    猜你喜欢
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2011-11-27
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多