草庐IT

evaluateJavascript

全部标签

javascript - Qt QWEBview JavaScript 回调

如何将函数“指针”从JavaScript传递到插槽?在JavaScript中:functionf1(){alert("f1");}qtclass.submit(f1);在Qt中:publicslots:voidsubmit(void*ptr){(void)ptr;}我需要“f1”函数,以便在某些处理完成后从C++的JavaScript中触发。我也事先不知道函数指针的名称。 最佳答案 您应该能够使用QWebFrame::evaluateJavaScript执行您的脚本方法。查看以下示例是否适合您:初始化WebView:QWebView

javascript - QT:Javascript 执行缓慢(除非我登录到控制台)

在QT4.8.4中,我有一些通过c++中的回调执行的任意Javascript:myWebElement->evaluateJavaScript(myScript);现在,测试脚本是:$(this).css('border','solid10px#000')它有效,但它需要几秒钟才能运行,并且占用了CPU100%。然后在测试时我添加了“;console.log('X')”,同时调试脚本以查看精确定位挂断...它立即执行!我发现只要我登录到控制台,脚本就会按预期高效工作。一旦我删除控制台日志记录,性能就会变慢。直接在脚本中登录,还是在C++中添加日志都无所谓。有什么想法吗?我不希望在我的程

javascript - 从 Qt 中读取带有 "evaluateJavaScript"的 javascript 函数的返回值

如何在C++中获取JavaScript函数的返回值?在很长一段时间不使用JavaScript之后,我使用GooglemapAPIV3实现了一个路线规划器。我定义了一些函数来通过Qt的WebKit函数访问它的脚本部分:evaluateJavaScript()。现在困难的部分是,获取标记的位置数据(见图,标记为红色)。在JavaScript端,我只返回一个数组。我如何读取Qt端的“latlng”数组?插图-这是我想要简化的://JavaScriptfunctiongetJSFoo(){returnfoofoo;}//C++voidreadInQt(){//somethinglikethis

javascript - WKWebView 返回(_ :) evaluateJavaScript Fails if going back more than 2 in history

我有一个函数可以追溯到我的WKWebView历史记录。这按预期工作,除非回溯历史超过2个。此时evaluateJavasScript功能不再发生在正确的历史记录项上。funcbackButtonClicked(){webView.goBack()webView.evaluateJavaScript("arrivedFromBackButton()"){(response,error)->Voidinprint(response)//webpageoutputsthetitleofthepage}}页面标题依次为:主页->用户信息->详情->历史如果在“History”上,我一遍又一遍地

javascript - WKWebView.EvaluateJavaScript 永远不会返回

我正在尝试使用WKWebView.EvaluateJavaScript(string,WKJavascriptEvaluationResult)从我的javascript代码中获取一个值返回到我的应用程序。问题是,永远不会调用委托(delegate)WKJavascriptEvaluationResult。这是我的代码:C#:TaskCompletionSourcetcs=newTaskCompletionSource();webView.EvaluateJavaScript(javascript,(result,error)=>{tcs.SetResult(result);});re

android - Android WebView获取选中文本的方法

我正在开发一个应用程序,我需要在其中获取选定的文本。我有一个自定义上下文操作栏,当用户在webView中选择文本时会显示该操作栏。单击我的操作栏按钮时,我想在选择处理程序下突出显示文本。之前有人问过这个问题,Howtogettheselectedtextinandroidwebview.但是没有解决办法。我正在尝试类似myWebView.getSelection()的方法 最佳答案 我发布了一个类似问题的答案。在这里分享它以快速访问答案。对于API>=19,您可以使用evaluateJavascriptmWebview.evalua

Android - 如何使用 Webview 中的 evaluateJavascript 获取纯 HTML? JSOUP 无法解析结果 HTML

我正在使用下面的代码获取HTML,但我没有获取纯HTML,它包含非转义字符。我正在使用无法解析此HTML的JSOUP解析器。webview.evaluateJavascript("(function(){return(''+document.getElementsByTagName('html')[0].innerHTML+'');})();",newValueCallback(){@OverridepublicvoidonReceiveValue(Stringhtml){}});我从上面的代码中得到这个html字符串。"\u003Chtml>\u003Chead>\n\u003Cme

c# - 如何在 Xamarin.Android/Monodroid 中使用 Android KitKat EvaluateJavascript 并检索结果?

对于Xamarin.iOS/Monotouch,在评估javascript时检索字符串很简单。例如stringelementValue=browser.EvaluateJavascript("document.getElementById('Id').value");if(elementValue!=""){DoSomething();}任何人都可以提供一个示例来说明如何为Xamarin执行此操作。Android/MonodroidAndroidkitkat及以上使用Evaluatejavascript()?具体如何使用/设置IValueCallback同步。

javascript - 如何从 webView.evaluateJavascript 回调返回值?

所以我有一个名为JavascriptBridge的类,用于在Java和Javascript之间进行通信。要向javascript发送命令,我只需使用这个:publicvoidsendDataToJs(Stringcommand){webView.loadUrl("javascript:(function(){"+command+"})()");}我的问题是我还需要一个从Javascript返回响应的函数。我尝试使用webView.evaluateJavascript,但它跳过了回调,因为evaluateJavascript是在另一个线程上完成的。publicStringgetDataF

c++ - Qt:强制QWebView点击一个网络元素,即使是在窗口上不可见的元素

假设我正在尝试单击QWebView中的链接,这就是我所拥有的://extendingQWebViewvoidMyWebView::click(constQString&selectorQuery){QWebElementel=this->page()->mainFrame()->findFirstElement(selectorQuery);if(!el)return;el.setFocus();QMouseEventpressEvent(QMouseEvent::MouseButtonPress,el.geometry().center(),Qt::MouseButton::Left