问题标签 [stringbyevaluatingjavascr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Swift - stringByEvaluatingJavaScriptFromString- 上传图片
在我的应用程序中,我授予用户对 UIImagePickerController 的访问权限,允许他们拍照或从库中选择以保存到 DocumentDirectory 中的路径:
我的目标是访问已从另一个 ViewController 中的 WebView 中保存的文件,并运行一些 JS 以在页面完成加载时自动上传文件,而不是单击“选择文件”按钮并选择文件等.
这是我要调整值的元素。
这就是我在 Web 视图完成加载时正在运行的内容:
我尝试过同时使用 imagePath 和 savedPhoto,但这显然不像向元素输入文本值那么简单。
使用JS可以做到这一点吗?或者有没有更简单的替代方法来实现这一点?
谢谢
javascript - 如何在 Swift 中使用 stringByEvaluatingJavaScriptFromString 但不使用 performSelectorOnMainThread 在 UIWebView 中显示 JavaScript 警报对话框?
在 Objective-C 中,以下代码适用于viewDidLoad
:
此代码建议如下:
使用 GCD 调用 UIWebView stringByEvaluatingJavaScriptFromString 在 iOS5.0/5.1 上挂起
它说performSelectorOnMainThread
适用于stringByEvaluatingJavaScriptFromString
. 这会弹出一个警告对话框,可以通过单击“确定”按钮将其关闭。但是,dispatch_async
不起作用,对话框冻结,无法按下 OK 按钮。
问题是:如何使上述对话框的功能在 Swift 中工作?如何将代码转换为 Swift?
问题是performSelectorOnMainThread
在 Objective-C 中使用的在 Swift 中不可用。
如果我直接在 中调用下面的代码viewDidLoad
,设备会被 LaunchScreen 挂起:
我已经尝试了替代解决方案,performSelectorOnMainThread
但结果是冻结的 LaunchScreen 或冻结的警报对话框。
有人可以告诉我如何调用stringByEvaluatingJavaScriptFromString
以在 Swift 中显示 JavaScript 警报对话框吗?谢谢你。
ios - Get iframe src from webview stringByEvaluatingJavaScriptFromString
I have an URL being loaded into a webview, when the loading is complete, I want to get the iframe src that is inside the HTML, and reload the webview with the iframe src.
In my iOS code, inside webViewDidFinishLoad , I am trying to get the iframe using
webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('iframe').attr('src')"];
This javascript is working in chrome console, however its not working for me.
Can you please help me?
javascript - 从 UIWebView W/Swift 将多个 Div 元素中的属性获取到我的 iOS 应用程序中
如何从 UIWebView 中定义的 div 元素中获取属性到我的 iOS 应用程序中?
为了进一步解释...
我有一个非常简单的 html 文档,我将它加载到 UIWebView 中。它允许用户单击以打开或关闭按钮。我将 div 上的属性设置为 true 或 false。请参阅下面的代码。
你可以在这里看到它的作用:https ://jsfiddle.net/x11joex11/0d92ao80/1/
我知道 swift 中的以下代码行。
此行将返回所有 HTML。现在我也许可以通过这个并解析,但我认为这应该是可能的,因为我正在使用 jquery 运行命令来获取所有被点击的框。单击每个框时,我将其“活动”属性更改为“真”或“假”。 我该怎么做呢?
例如,返回一个数组,其中包含我在每个被单击的 div (.tire_box)上拥有的 "tire" 属性值 ( "active=true" )。
使用 jQuery(因为我的 HTML 中有它)或 Javascript 的答案是可以的。只是不确定要在stringByEvaluatingJavascriptFromString()
函数中添加什么
更新::
使用此命令,我能够从“一个”轮胎中获取值。
我需要能够获得选定的轮胎列表并以某种方式迅速对其进行处理。还不确定最好的方法...
有趣的是我似乎能够运行 jQuery 代码。我在 javascript 外部的变量中创建了一个函数 test(),并在我的 html 中添加了一个 alert('test') 并运行了这段代码......
我跑的 Swift Javascript
添加到 document.ready() 之外的 HTML
在 stringByEvaluatingJavaScriptFromString 函数上,它调用了警报,但我似乎没有从 stringByEvaluatingJavaScriptFromString 函数返回任何结果......只是空白?
我想知道函数“如何”返回 javascript,我必须在 javascript 命令中做什么才能使其返回一些东西?
javascript - 从objective-C调用javascript方法
我正在从目标 C 调用 javascript 函数。我有一个这样的函数:
我尝试使用此方法调用该函数,但失败了。
NSString *function = [[NSString alloc] initWithFormat: @"ABC.testingFunctionA()"];
NSString *result = [theWebView stringByEvaluatingJavaScriptFromString:function];
NSLog(@"returnValue = %@",result);
有人知道调用函数的正确方法吗?
javascript - WKWebView 中元素高度的 JavaScript 异常 - Objective-C
我在 WKWebView 中加载了以下 HTML 结构:
我在 WKWebview 中将 HTML 作为字符串加载到上面:
并计算内部 div 高度(根据 css 自动调整大小以适应内容)为:
其中 stringByEvaluatingJavaScriptFromString 函数在 WKWebView 类别中实现:
我的问题是我收到错误:“发生 JavaScript 异常”,或者在使用 stringByEvaluatingJavaScriptFromString 时有时值不正确。但是,我尝试使用 UIWebView 评估相同的 javascript 高度,它返回了正确的值。WKWebview 有什么问题?
谢谢 !
javascript - stringByEvaluatingJavaScript 对象没有 ID
我self.webView.stringByEvaluatingJavaScript(from: "document.getElementById('username').value = \"\(username)\"")
用来输入用户名,它工作正常。
另一个网页有这个字段:
和这个领域:
stringByEvaluatingJavaScript
由于没有 ID,我将如何将文本放入此字段?
我试过"document.getElementByTagName"
了,但没有用。
我要输入的网页是:链接
ios - StringbyEvaluatingJavascript 函数的线程
我正在向 javascript 发送一个值,然后 javascript 将结果返回给我。但是,返回值 (b) 保持为空需要时间,因为 javascript func 需要时间。我想我需要创建一个线程来等待结果。下面的代码也没有返回任何东西。
javascript - WkWebView Evaluatejavascript 返回不支持的类型错误
我正在向 javascript 函数发送一个值并得到一个结果。但是,当运行以下代码时,我收到“错误域 = WKErrorDomain 代码 = 5“JavaScript 执行返回了不受支持的类型的结果”UserInfo={NSLocalizedDescription=JavaScript 执行返回了不受支持的类型的结果}”错误;
和javascript代码如下;
javascript - Objective c将对象传递给javascript函数调用的问题
这是正在发生的事情的一个示例:当在诸如 I'm 这样的单词中使用撇号时,它在发送到 javascript 函数调用时在我的字符串中不起作用。我已经读过关于在撇号前面添加反斜杠的信息,就像我一样,但这仍然不起作用。我注意到在 js 函数调用 onScan('%@') 上,撇号不能用“引号”替换,并且当括号用于传递参数时也无济于事。同样将 NSMutableString 更改为 NSString 不会更改此示例或影响此请求的答案。任何帮助表示赞赏。