当前位置: 首页 > 面试题库 >

使用UIWebview用JavaScript调用Swift函数

吴经略
2023-03-14
问题内容

如果有人提出这个问题,我深表歉意,但是我找不到任何答案或解决方案。我想从“
UIWebView”中调用JavaScript函数,并迅速进行监听。我发现的任何示例都使用“
WKWebView”。必须有一种简单的方法来监听JavaScript函数,如下所示:

// HTML / JS
<div id ="myDiv" onclick="listenInSwift()">myItem</div>

UIWebView是否可能?谢谢大家!


问题答案:

listenInSwift像这样实现:

function listenInSwift() {
    window.location = 'yoururlscheme://somehost?greeting=hello'
}

然后在您的UIWebViewDelegate课程中使用以下代码来监听此URL :

func webView(_ webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType navigationType: UIWebViewNavigationType) -> Bool {
    if request.URL.scheme == 'yoururlscheme' {
        print('Hello JavaScript...')
    }
}

不要忘记在Xcode中注册您的URL方案(在本例中为“ yoururlscheme”)。

要在Web视图中加载本地文件,请尝试以下操作:

let baseURL = NSURL.fileURLWithPath(NSBundle.mainBundle().bundlePath);
let relativePath = "www/\(file)"
let fileURL = NSURL(string: relativePath, relativeToURL: baseURL);
let URLRequest = NSURLRequest(URL: fileURL!);
webView.loadRequest(URLRequest)


 类似资料:
  • 在UIWebView中调用 javascript 脚本。本demo是调用 javascript 进行百度搜索“code4app.com”。 [Code4App.com]

  • 问题内容: 好的,我知道有人问过这个问题,但是我对PHP和JavaScript还是很陌生,直到我开始寻找这个问题的答案之前,我才听说过Ajax,所以不理解以前的答案。 我正在创建一个站点,该站点本质上是SQL数据库中的一堆视频,它一次显示一个视频,我想要一个下一个和上一个视频按钮。 但是我无法摆脱这种ajax的问题​​,所以我的问题更加简单。 我已经复制了确切的代码, 在我的文件中,我实际上只是对

  • 问题内容: 我采取了相同的步骤,但是在浏览器控制台中出现错误 我制造了小提琴。如何调用myfunction函数并显示警报?任何想法? 问题答案: 解决方案提供您所链接的问题是正确的。 实现的问题是您没有正确指定元素的 ID 。 其次,您需要使用事件来执行代码。当前未加载DOM,因此找不到元素,因此出现错误。 的HTML JS代码 演示

  • 问题内容: 我正在尝试使用HTML按钮来调用JavaScript函数。 这是代码: 问题答案: 有几种使用HTML / DOM处理事件的方法。没有真正的对或错方法,但是在不同情况下使用不同的方法很有用。 1:在HTML中进行定义: 2:将其添加到Java事件中的DOM属性中: 3:并且使用Javascript将函数附加到事件处理程序: 第二种方法和第三种方法都允许使用内联/匿名函数,并且都必须在从

  • 问题内容: 关于一个主题,人们可以使用新语言Swift轻松查看如何在Web视图中管理Cookie呢?如果您在Internet上签到,则在需要实现此功能时不会发现任何有趣的东西。甚至苹果公司的文件也很差。 有人知道如何在Swift中处理这些过程吗?这是我在Obj-C中找到的: 查看存储的Cookie 删除存储的Cookie 如果我们能给出一次答案的话,对每个人都很好!干杯! 问题答案: 试试这个代码

  • 问题内容: 今天早上,这使我发疯。我想将一些本地html加载到Web视图中: 该html文件位于我的项目的根文件夹中,但位于组中。Webview对我来说是空白的。有什么想法怎么了?我正在使用xcode 6.1并在iPhone 6上运行此示例。 问题答案: 要检索应用程序资源的URL,应使用类的方法。 迅捷2 迅捷3