如何从iOS调用WebView中的JavaScript
How to call JavaScript in WebView from iOS
我有一个名为index.html
的边缘动画(5个动画幻灯片)本地存储在iOS应用程序中。我在UIWebView中加载该html,我想向边缘动画发送消息以在WebView中显示特定的幻灯片。我该怎么做呢?
我的JavaScript文件命名为index_edgeActions.js
。这是代码:
//Edge symbol: 'Nav_Bar'
(function(symbolName) {
Symbol.bindElementAction(compId, symbolName, "${_go_to_slide}", "click", function(sym, e) {
var myPos = sym.getComposition().getStage().getPosition();
var myTimeline = sym.getComposition().getStage();
var x = document.getElementById("txt").value;
if (x == 1) {
$(function() {
if (myPos > 500) {
myTimeline.playReverse(999);
}
if (myPos < 500) {
myTimeline.play(1);
}
});
} else if (x == 2) {
$(function() {
if (myPos > 1000) {
myTimeline.playReverse(1499);
}
if (myPos < 1000) {
myTimeline.play(501);
}
});
} else if (x == 3) {
$(function() {
if (myPos > 1500) {
myTimeline.playReverse(1999);
}
if (myPos < 1500) {
myTimeline.play(1001);
}
});
} else if (x == 4) {
$(function() {
if (myPos > 2000) {
myTimeline.playReverse(2499);
}
if (myPos < 2000) {
myTimeline.play(1501);
}
});
} else if (x == 5) {
$(function() {
if (myPos > 2500) {
myTimeline.playReverse(2999);
}
if (myPos < 2500) {
myTimeline.play(2001);
}
});
} else if (x == 6) {
$(function() {
if (myPos > 3000) {
myTimeline.playReverse(3499);
}
if (myPos < 3000) {
myTimeline.play(2501);
}
});
} else if (x == 7) {
$(function() {
if (myPos > 3500) {
myTimeline.playReverse(3999);
}
if (myPos < 3500) {
myTimeline.play(3001);
}
});
} else if (x == 8) {
$(function() {
if (myPos > 4000) {
myTimeline.playReverse(4499);
}
if (myPos < 4000) {
myTimeline.play(3501);
}
});
} else if (x == 9) {
$(function() {
if (myPos > 4500) {
myTimeline.playReverse(4999);
}
if (myPos < 4500) {
myTimeline.play(4001);
}
});
} else if (x == 10) {
$(function() {
if (myPos > 5000) {
myTimeline.playReverse(5499);
}
if (myPos < 5000) {
myTimeline.play(4501);
}
});
} else if (x == 11) {
$(function() {
if (myPos > 5500) {
myTimeline.playReverse(5999);
}
if (myPos < 5500) {
myTimeline.play(5001);
}
});
} else if (x == 12) {
$(function() {
if (myPos > 6000) {
myTimeline.playReverse(6499);
}
if (myPos < 6000) {
myTimeline.play(5501);
}
});
} else if (x == 13) {
$(function() {
if (myPos > 6500) {
myTimeline.playReverse(6999);
}
if (myPos < 6500) {
myTimeline.play(6001);
}
});
} else if (x == 14) {
$(function() {
if (myPos > 7000) {
myTimeline.playReverse(7499);
}
if (myPos < 7000) {
myTimeline.play(6501);
}
});
} else if (x == 15) {
$(function() {
if (myPos > 7500) {
myTimeline.playReverse(7999);
}
if (myPos < 7500) {
myTimeline.play(7001);
}
});
} else if (x == 16) {
$(function() {
if (myPos > 8000) {
myTimeline.playReverse(8499);
}
if (myPos < 8000) {
myTimeline.play(7501);
}
});
} else if (x == 17) {
$(function() {
if (myPos > 8500) {
myTimeline.playReverse(8999);
}
if (myPos < 8500) {
myTimeline.play(8001);
}
});
} else if (x == 18) {
$(function() {
if (myPos > 9000) {
myTimeline.playReverse(9499);
}
if (myPos < 9000) {
myTimeline.play(8501);
}
});
} else if (x == 19) {
$(function() {
if (myPos > 9500) {
myTimeline.playReverse(9999);
}
if (myPos < 9500) {
myTimeline.play(9001);
}
});
} else if (x == 20) {
$(function() {
if (myPos > 10000) {
myTimeline.playReverse(10499);
}
if (myPos < 10000) {
myTimeline.play(9501);
}
});
} else if (x == 21) {
$(function() {
if (myPos > 10500) {
myTimeline.playReverse(10999);
}
if (myPos < 10500) {
myTimeline.play(10001);
}
});
} else if (x == 22) {
$(function() {
if (myPos > 11000) {
myTimeline.playReverse(11499);
}
if (myPos < 11000) {
myTimeline.play(10501);
}
});
} else if (x == 23) {
$(function() {
if (myPos > 11500) {
myTimeline.playReverse(11999);
}
if (myPos < 11500) {
myTimeline.play(11001);
}
});
} else if (x == 24) {
$(function() {
if (myPos > 12000) {
myTimeline.playReverse(12499);
}
if (myPos < 12000) {
myTimeline.play(11501);
}
});
} else if (x == 25) {
$(function() {
if (myPos > 12500) {
myTimeline.playReverse(12999);
}
if (myPos < 12500) {
myTimeline.play(12001);
}
});
} else if (x == 26) {
$(function() {
if (myPos > 13000) {
myTimeline.playReverse(13499);
}
if (myPos < 13000) {
myTimeline.play(12501);
}
});
} else if (x == 27) {
$(function() {
if (myPos > 13500) {
myTimeline.playReverse(13999);
}
if (myPos < 13500) {
myTimeline.play(13001);
}
});
} else if (x == 28) {
$(function() {
if (myPos < 14000) {
myTimeline.play(13501);
}
});
} else {
alert("Only Slides From 1-28");
}
});
并在Xcode Action
中使用此代码NSString* javascriptCommand = [NSString stringWithFormat:@"index_edgeActions.js"];
[webview stringByEvaluatingJavaScriptFromString:javascriptCommand];
[hema stringByEvaluatingJavaScriptFromString:@"getElementById(12)"]
在iOS中,UIWebview有一个执行javascript函数的方法:
例如:
[_myWebView stringByEvaluatingJavaScriptFromString:@"myFunc();"];
相关文章:
- 使用WebView中的javascript触发setVisibility属性;不起作用
- Chrome应用程序在Webview中的按钮/输入上添加点击事件
- WebView中的Html页不会激发'可见性更改'用户按下主页按钮时的事件(iOS 8)
- JavaFX - 通过输入更新 WebView 中的变量值
- .click android WebView 中的 JavaScript 函数
- 单击链接时,从Android WebView中的锚标记获取href值
- 将 WebView 中的“网页不可用”错误替换为不那么丑陋的内容?(安卓)
- 在 android WebView 中的 java 和 javascript 之间共享对象(数据)
- 将 WebView 中的 DOM 节点的内容绑定到 StringProperty
- WebView中的Android突出显示不会消失
- Swift-禁用WebView中的链接
- 从静态片段调用webview中的JS函数
- 未捕获的ReferenceError:myFunction未在null处定义:webview中的Android异常1
- 将java变量/数组传递给android webview中的javascript
- webview中的自动登录会返回带有用户名的空白页面
- 如何获取当前页面'使用JavaScript的Android WebView中的URL
- 从webview中的实时网站中删除html元素
- 如何从iOS调用WebView中的JavaScript
- Android WebView中的程序化点击
- Android Webview中的显示广告