Ala*_* M. 3 addeventlistener titanium webview
我正在尝试从Titanium webview内部打开的外部HTML页面中触发事件.
app.js文件...
var group, now, tab, view, window;
now = new Date();
view = Titanium.UI.createWebView({url: 'http://MYWEBSITE.com/index.htm?time=' + now.getTime()});
window = Titanium.UI.createWindow({tabBarHidden: true, navBarHidden: true});
window.add(view);
Titanium.App.addEventListener('browse', function(e) {
Ti.API.info("I received " + e.something + " from the webview.");
});
group = Titanium.UI.createTabGroup();
tab = Titanium.UI.createTab({title: 'window', window: window});
group.addTab(tab);
group.open(tab);
Run Code Online (Sandbox Code Playgroud)
js摘自网页...
$("#testButton").mousedown(function() {
alert ("I got clicked.");
Ti.App.fireEvent('browse', {something:'stuff'});
});
Run Code Online (Sandbox Code Playgroud)
(我在URL中包含时间以确保页面始终是新鲜的.)
如上所示添加事件侦听器,或使用view.addEventListener,编译但最终不起作用.
使用Titanium.UI.WebView.addEventListener会生成一个错误消息,指出该对象不存在.
我是否需要以不同的方式打开URL/webview?
此外,由于Titanium.App.fireEvent不是一个公认的功能,除了Titanium,如何防止JavaScript错误?
谢谢.
// from web page
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div id='testButton'>TEST BUTTON</div>
</body>
<script>
var _button = document.getElementById ("testButton");
_button.onmousedown = function () {
alert (this.id);
Ti.App.fireEvent('fromwebview', {name:this.id});
return false;
};
</script>
</html>
Run Code Online (Sandbox Code Playgroud)
来自apps.js
Ti.App.addEventListener('fromwebview', function(data)
{
Titanium.API.info("--> " + data.name);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10797 次 |
| 最近记录: |