美文网首页
swift-webView简单调用JS方法

swift-webView简单调用JS方法

作者: LiWeiJ | 来源:发表于2016-12-12 12:17 被阅读0次

公司接下来的项目需要用swift内嵌h5来实现, 以前没有做过swift项目, 现在慢慢将所学的一点一滴记录一下 一个是怕自己忘了- =, 再就是希望大家看到能帮助我哈哈哈

前几天想要直接用swift上手- =发现连初始化什么的都给忘记了, 又乖乖回去先用OC简单的做了一个webView的界面


```

import UIKit

//要导入JavaScriptCore.framework库

import JavaScriptCore

//在此签订UIWebViewDelegate协议

class ViewController: UIViewController, UIWebViewDelegate {

//输入框

var textFiled = UITextField.init()

var webView = UIWebView.init()

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

//初始化textfield

textFiled.frame = CGRectMake(20, 40, 260, 30)

textFiled.borderStyle = .Bezel

textFiled.clearButtonMode = .WhileEditing

textFiled.backgroundColor = UIColor.whiteColor()

self.view.addSubview(textFiled)

//开始运行btn

let btn = UIButton.init(frame: CGRectMake(290, 40, 30, 30))

btn.setTitle("GO", forState: UIControlState.Normal)

btn.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)

btn.addTarget(self, action: #selector(ViewController.btnAction(_:)), forControlEvents: UIControlEvents.TouchUpInside)

self.view.addSubview(btn)

//后退btn

let backBtn = UIButton.init(frame: CGRectMake(btn.frame.origin.x + 40, btn.frame.origin.y, 30, 30))

backBtn.setTitle("<", forState: UIControlState.Normal)

backBtn.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)

backBtn.addTarget(self, action: #selector(ViewController.backBtnAction(_:)), forControlEvents: UIControlEvents.TouchUpInside)

self.view.addSubview(backBtn)

//前进btn

let forwardBtn = UIButton.init(frame: CGRectMake(backBtn.frame.origin.x + 40, backBtn.frame.origin.y, 30, 30))

forwardBtn.setTitle(">", forState: UIControlState.Normal)

forwardBtn.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)

forwardBtn.addTarget(self, action: #selector(ViewController.forwardBtnAction(_:)), forControlEvents: UIControlEvents.TouchUpInside)

self.view.addSubview(forwardBtn)

webView.frame = CGRectMake(0, 80, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height - 80)

webView.backgroundColor = UIColor.lightGrayColor()

self.view.addSubview(webView)

//设置代理(不要忘记!如果不设置就无法调用webView的代理方法)

webView.delegate = self

}

/**

* parameters就是参数,return type是返回类型

func <#name#>(<#parameters#>) -> <#return type#> {

<#function body#>

}

*/

func btnAction(btn:UIButton){

//加载textfield中的网址

let request = NSURLRequest.init(URL: NSURL.init(string: "http://" + textFiled.text!)!)

webView.loadRequest(request)

}

func backBtnAction(backBtn:UIButton) {

webView.goBack()

}

func forwardBtnAction(forwardBtn:UIButton)  {

webView.goForward()

}

/**

*网页加载完成调用此方法

*/

func webViewDidFinishLoad(webView: UIWebView) {

//调用提示框方法

setAlertShow()

}

//显示提示框

func setAlertShow() {

let jsString = String(format:"alert(123)")

print(jsString)

//交互

webView.stringByEvaluatingJavaScriptFromString(jsString)

}

```

效果如下:

文/Morn_(简书作者)

原文链接:http://www.jianshu.com/p/d64f242129e5

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

相关文章

网友评论

      本文标题:swift-webView简单调用JS方法

      本文链接:https://www.haomeiwen.com/subject/vhemmttx.html