类似于以引用的外部查询开头的常规js文件,然后是你的js自定义代码,我需要在Swift中使用JavascriptCore做同样的事情。
我看到了这个Objective-C example:
server {
listen 80;
server_name localhost;
location = / {
# redirect if no app is specified
return 301 http://www.domain.com;
}
location ~* ^/([^/]+)(.*)\.(jpe?g|png|svg|gif|ico|doc|docx|xls|xlsx|pdf|txt)$ {
# handle static files
alias /usr/share/nginx/apps/$1/public$2.$3;
}
location ~* ^/([^/]+)(.*)$ {
# handle laravel requests
root /usr/share/nginx/apps/$1/public;
try_files /index.php =404;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param REQUEST_URI $2;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
}
它完成了关闭外部js文件的第一部分,但我还想添加一个js块来调用该引用文件中的一些函数。我怎么做!?你能在Swift中做到吗?
答案 0 :(得分:1)
您可以在webView上调用evaluateJavascript
来调用函数并获取信息,这样您就可以执行以下操作:
webView.evaluateJavascript("someFuncton();") { (result, error) in
if (!error) {
print(result(
}
}
webView.evaluateJavascript("document.height") { (result, error) in
if (!error) {
print(result(
}
}
您甚至可以使用消息hanlders使用webKit将消息从Javascript发布回本机swift函数。请参阅此ref
以下是使用Javascript
发送邮件的目标-c guide答案 1 :(得分:0)
要获得完整答案,您需要: 1.继承自WKNavigationDelegate 2.在viewDidLoad中:
self.webView.navigationDelegate = self
3。并在didFinishNavigation中调用它,请参阅this