web-dev-qa-db-fra.com

Comment puis-je activer Flash pour un PyGtk WebKit?

J'essaie d'activer le flash dans mon application Quickly.
J'ai un WebKit/webview dans une fenêtre déroulante.

Je sais que sur Android vous devez activer javascript et les plugins.

J'ai regarder dans le WebKit2GTK + Manuel de référence

Donc mon code ressemble à ceci:

#gets the WebView and scrolledwindow wiget object.  
self.scrolledwindow = builder.get_object("scrolledwindow")  
self.webview = WebKit.WebView()   

#webview->settings.
self.settings = self.webview.get_settings()
self.settings.set_property("enable-plugins", True)
self.settings.set_property("enable-javascript", True)

Mais cela ne fonctionne pas :( Ou en fait, je peux entendre le son de la vidéo, tout simplement pas voir les images.

La réponse du terminal ressemble à ceci:

finish_initializing  
    self.settings.set_property("enable-javascript", True)  
TypeError: object of type `WebKitWebSettings' does not have property `enable-javascript'  

Il peut fonctionner sans la ligne self.settings.set_property("enable-javascript", True), mais là encore aucune image sur la vidéo.

NB: je suis sur ma première semaine avec python, donc je suis un noob à Python;)

2
Voidcode

Voici une interprétation d'un code de travail. Notez comment les paramètres sont instanciés et plus tard, le navigateur est invité à définir ces paramètres.

    self._browser = webkit.WebView()

    browser_settings=webkit.WebSettings()
    useragent=browser_settings.get_property('user-agent')

    browser_settings.set_property('user-agent', ' '.'abc')
    self._browser.set_settings(browser_settings)

(On dirait le useragent= la ligne est superflue.)

1
John S Gruber

Vous n'avez pas de variable sur l'objet retourné. Le terminal n'a aucune idée de ce qu'est "l'objet".

0
xTwisteDx

Après avoir essayé le code de John S Gruber .

J'essaie avec un agent utilisateur iPod.

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

Cela fonctionne:)

Je ne sais pas comment utiliser un ordinateur portable Aspira 5750 pour les tests.

On dirait qu'il passe à un lecteur par défaut, et non au lecteur flash de dr.dk . mais ça marche !!

self.webview = WebKit.WebView()

#gets webview.get_settings object.
self.browser_settings = self.webview.get_settings()

self.browser_settings.set_property('user-agent', 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10')

self.webview.set_settings(self.browser_settings)

NB: Si j'essaie avec un agent utilisateur comme celui-ci Mozilla/5.0 (X11; Ubuntu; Linux i686; rv: 14.0) Gecko/20100101 Firefox/14.0.1 Alors la vidéo tourne lentement et ne fonctionne PAS !!

0
Voidcode