我试图让我的javascript与swift代码交互但不幸的是我没有成功.
目前,我只是尝试更改标题颜色并显示一条消息,就像您将在下面的代码中看到的那样.
这是我的(index.html)代码:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8">
</head>
<body>
<h1>WebView Test</h1>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的(main.js -JavaScript)代码:
function callNativeApp () {
try {
webkit.messageHandlers.callbackHandler.postMessage("Send from JavaScript");
} catch(err) {
console.log('error');
}
}
setTimeout(function () {
callNativeApp();
}, 5000);
function redHeader() {
document.querySelector('h1').style.color = "red";
}
Run Code Online (Sandbox Code Playgroud)
这是我的(ViewController.swift)代码:
import UIKit
import WebKit
class ViewController: UIViewController, WKScriptMessageHandler {
@IBOutlet var containerView : UIView! = nil
var webView: WKWebView?
override func loadView() {
super.loadView() …Run Code Online (Sandbox Code Playgroud) 我试图在我的ng-src路径中放一个随机整数,就像那样:
<div ng-repeat="user in users">
<img ng-src="{{randomPicture()}}" alt="">
</div>
Run Code Online (Sandbox Code Playgroud)
这是我在控制器中的基本功能:
$scope.randomPicture = function(){
var PATH = 'assets/images/';
var image = Math.floor((Math.random() * 12) + 1);
var ext = '.jpg';
var randomPic = PATH + image + ext;
return randomPic;
};
Run Code Online (Sandbox Code Playgroud)
显示图像,但在控制台中我有这个错误:
Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow中发现了很多问题,但我仍然无法摆脱这个错误.谢谢你的帮助.
我知道有很多例子回答我的问题,但我仍然有问题要做:
这是我的数据:
$scope.data = [
{
users:[
{name: 'Stephen', age: 50, dev: 'js', car: 'red', shoes:'green', happy:true, videoGame:[{isPlayer:true, console:'PS3'}]},
{name: 'Stephen', age: 28, dev: 'angular', car: 'gold', shoes:'silver', happy:true, videoGame:[{isPlayer:false, console:'none'}]},
{name: 'Adam', age: 43, dev: 'php', car: 'blue', shoes:'yellow', happy:true, videoGame:[{isPlayer:true, console:'XBOX'}]},
{name: 'John', age: 27, dev: 'java', car: 'green', shoes:'black', happy:true, videoGame:[{isPlayer:true, console:'PC'}]},
{name: 'Steve', age: 29, dev: 'ruby', car: 'white', shoes:'blue', happy:true, videoGame:[{isPlayer:false, console:'none'}]},
{name: 'Pablo', age: 34, dev: 'java', car: 'pink', shoes:'red', happy:false, videoGame:[{isPlayer:true, console:'GAMEBOY'}]}
], …Run Code Online (Sandbox Code Playgroud)