- くだすれPython(超初心者用) その42【Ruby禁止】
168 :デフォルトの名無しさん[sage]:2019/03/22(金) 11:46:18.44 ID:ZTaR0qbl - 前にも書き込ませていただいたものですが、
gtk3+python+webkit2でepubビューアを作っているのですが、現在のスクロール位置を取得したいのですが、 y_pos_js ="var x; x=document.body.scrollTop" def js_run(self, js_name, js_return=True): run_js_finish = self._js_finish if js_return else None self.viewer.view.run_javascript(js_name, None, run_js_finish, None); def _js_finish(self, webview, result, user_data=None): js_result = self.viewer.view.run_javascript_finish(result) if js_result is not None: value = js_result.get_js_value() self.js_value = value.to_double() print((self.js_value)) と書いても、0.0となってしまい、値を取得できません。 ひょっとすると、 https://havelog.ayumusato.com/develop/javascript/e332-android_scrolltop_refresh_delay.html ここのページにあるようにdocument.body.scrollTopは即座に反映されないのかもしれませんが(情報が古い?)、 javascirptがわからずどうすることもできません。 pythonのtimeで遅延させても無駄なようで、javascirptの方で遅延させるしかないのでしょうか? どなたかお知恵を拝借できると幸甚です。 https://stackoverflow.com/questions/52870923/webkit2-and-domdocument-javascriptcore-python3 上のpythonスクリプトの元ネタはここです。
| - くだすれPython(超初心者用) その42【Ruby禁止】
170 :デフォルトの名無しさん[sage]:2019/03/22(金) 13:10:50.39 ID:ZTaR0qbl - var x; x = window.scrollY;
としたら機能しました。どうもお騒がせしました。
| - くだすれPython(超初心者用) その42【Ruby禁止】
181 :デフォルトの名無しさん[sage]:2019/03/22(金) 18:25:24.02 ID:ZTaR0qbl - 質問ばかりで申し訳ないのですが、
webkit2からjavascriptを呼んで値を取得するまではできたのですが、 その値を今度は別のjavascriptに渡して window.scrollto(0, self.js_value),) とやりたいのですが、どうすればpythonの値(self.js_value)をjavascriptに渡せるのでしょうか?
| - くだすれPython(超初心者用) その42【Ruby禁止】
183 :181[sage]:2019/03/22(金) 18:49:26.10 ID:ZTaR0qbl - >>182
失礼しました。コピペを間違えました。
|
|