如何修复网址栏不更新

时间:2013-09-02 05:29:23

标签: python

您可能已经注意到我一直在询问有关我的网络浏览器的很多问题,因为我也是新手,这些事情和问题是我理解的方式,并且变得更好并且明显地学习。

所以,我的问题是在标题中说如何解决当我点击其他链接时网址没有更新的问题,这里是一个图像来显示我的意思:

enter image description here

正如您所看到的,我在谷歌搜索过'test'。现在,如果你看一下它所说的google.com的URL栏,它还没有更新我应该展示的女巫

https://www.google.com.au/search?q=test&oq=test&aqs=chrome.0.69i59j0l2.1134j0&sourceid=chrome&ie=UTF-8

我正在使用Quickly来构建我的应用程序。

以下是我的浏览器源代码:

self.refreshbutton = self.builder.get_object("refreshbutton")
    self.urlentry = self.builder.get_object("urlentry")
    self.scrolledwindow = self.builder.get_object("scrolledwindow")
    self.backbutton = self.builder.get_object("backbutton")
    self.forwardbutton = self.builder.get_object("forwardbutton")

    self.webview = WebKit.WebView()

    self.scrolledwindow.add(self.webview)
    self.webview.show()

def on_refreshbutton_clicked(self, widget):
    self.webview.reload()

def on_backbutton_clicked(self, widget):
    self.webview.go_back()

def on_forwardbutton_clicked(self, widget):
    self.webview.go_forward()

def on_urlentry_activate(self, widget):
    url = widget.get_text()

    self.webview.open(url)

对于为什么会发生这种情况有什么想法?

1 个答案:

答案 0 :(得分:0)

您需要为webview的load_committed事件添加事件处理程序,然后更改urlentry文本框中的文本以反映当前网址

    ...
    self.webview = WebKit.WebView()
    self.webview.connect('load_committed', self.change_url)

    self.scrolledwindow.add(self.webview)
    self.webview.show()

def change_url(self, widget, data=None):
    self.urlentry.set_text( widget.get_main_frame().get_uri() )

...