2011-03-22 50 views
1

我想从app.js发送一些数据到一个打开的web视图(外部url,例如:http://mysite.com/file.html),没有成功。我已经检查了很多问题和答案,并且尝试了使用Ti.App.fireEvent和Ti.App.addEventListener的不同解决方案,但没有取得任何成功。但是,我确实找到了一种解决方案,它在一段时间之前使用本地html文件完成了这项工作,但无法为外部重新创建该解决方案。发送数据到外部webview

app.js

Ti.App.fireEvent('helloWorld', { data : "Hello World"); 

http://mysite.com/file.html

Ti.App.addEventListener('helloWorld', function(e) 
{ 
    // do something with e.data 
}); 

似乎并没有做任何事情。

+0

真的不明白这个问题,你能更具体吗? – 2011-03-22 13:44:43

+0

更新了这个问题,可能更具体一些? – Miyao 2011-03-22 14:28:15

回答

2

使用evalJS 问题解决了app.js

web.addEventListener('load', function() { 

     var data = "some data"; 
     web.evalJS("testJS('" + data + "')"); 

}); 

http://mysite.com/file.html

<script> 
    function testJS (data) { 
     alert(data); 
    } 
</script> 
+0

非常冒险,但这就是你与Appcelerator有关的事情,我猜:/ 我可能会尝试将这个部件化,这很容易。只需引用小部件并将其提供给它。简化JS函数为每个需要这个的小工具做同样的事情,你知道吗? 感谢您的提示,Miyao – vbullinger 2013-11-04 14:24:04

1

奇怪的是,在iPhone模拟器这只作品,但不是在Android模拟器(1.6 API和2.2 API )。在Android中,您会遇到可怕的“强制关闭”按钮。