将数据发送到外部webview

时间:2011-03-22 12:14:37

标签: javascript webview titanium appcelerator-mobile

我正在尝试将一些数据从app.js发送到一个开放的webview(外部网址,例如:http://mysite.com/file.html),但没有成功。我查看了许多问题和答案,并尝试使用Ti.App.fireEvent和Ti.App.addEventListener的不同解决方案,但没有取得任何成功。然而,我确实找到了一个解决方案,这个解决方案使用了一个本地的html文件,但是无法为外部重新创建这个。

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
});

似乎没有做任何事情。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

奇怪的是,这只适用于iPhone模拟器,但不适用于Android模拟器(1.6 API和2.2 API)。在Android中,你会得到可怕的“强制关闭”按钮。