2014-12-03 48 views

回答

0

通常您需要使用瓦拉的async functions要做到這一點,我相信像這樣:

var result = yield webview.run_javascript(...); 

這相當於C函數webkit_web_view_run_javascript_finish()

不幸的是,您不能在Vala中的該鏈接上顯示下一步,因爲您需要使用JavaScriptCore API獲取返回值,並且該API在Vala中不可用。

在這種情況下,您可以訴諸幾個骯髒的竅門。其中一個竅門是在JavaScript腳本的末尾設置窗口標題,並觀察Vala中webview的title屬性的通知。

但是,您最好在C編寫一小段代碼,然後編譯到Vala應用程序中。

+0

你能展示如何在C中編寫這部分代碼(或鏈接到我可以瞭解它的頁面)嗎?或者如何使用這個「改變webview標題」?我完全不明白如何管理它。 – serge1peshcoff 2014-12-21 19:47:49

+1

在鏈接到的文檔頁面的C中有一個例子。另一個例子是[這裏](http://stackoverflow.com/questions/16885242/vala-gui-and-logic-in-c)。要更改webview標題,請在Javascript腳本的末尾連接到'notify :: title'信號並運行'document.title =「Some result」;'。 – ptomato 2014-12-22 01:46:11