티타늄의 webview 내부에서 열린 외부 HTML 페이지에서 이벤트를 실행하려고합니다.티타늄의 webview를 사용하여 API 이벤트 발생 문제가 발생했습니다.
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);
웹 페이지에서 JS 발췌 ...
$("#testButton").mousedown(function() {
alert ("I got clicked.");
Ti.App.fireEvent('browse', {something:'stuff'});
});
은 (내가 보장하기 위해 URL에있는 시간을 포함 항상 신선한 페이지입니다.)
위와 같이 이벤트 리스너를 사용하거나 view.addEventListener를 사용하여 컴파일하지만 궁극적으로는 작동하지 않습니다.
Titanium.UI.WebView.addEventListener를 사용하면 개체가 존재하지 않는다는 오류 메시지가 나타납니다.
URL/webview를 다른 방식으로 열어야합니까?
또한 Titanium.App.fireEvent는 Titanium을 제외한 인식 된 함수가 아니기 때문에 JavaScript 오류를 어떻게 방지 할 수 있습니까?
감사합니다. 나는이 보안상의 이유로 더 이상 원격 페이지와 함께 작동합니다 생각하지 않습니다 - 단지 당신이 모든 경고하는 apps.js
Ti.App.addEventListener('fromwebview', function(data)
{
Titanium.API.info("--> " + data.name);
});
내가 어떤 버전을 사용하고 있는지 알 수 있습니까? 현재 티타늄 버전 1.5에서도 가능합니까? – davidlee
은 1.5 이상에서 작동해야합니다. 추가 정보 [1]을 참조하십시오. http : //blog.clearlyinnovative.com/post/1468367224/titanium-appcelerator-quickie-fire-events-from-webview –