Titanium app和远程webview之间的通信

时间:2015-05-04 19:00:36

标签: javascript webview titanium appcelerator

我想在远程webview中调用函数onload,现在我有以下代码:

INDEX.XML:

<!-- Begin Stone -->
      <div class="item col-md-3 col-sm-4 col-xs-6 hover-overlay" data-groups='["peridot"]'>
        <a href="#!" class="open-overlay-window heading" data-overlay-window=".item-overlay-9">
          <img alt="Project 1" src="/peridot.png" />
          <div class="overlay background-90-a">
            <div class="hidden-xs">
              <p class="title heading-a">Image</p>
              <p class="text-center heading-a"><strong>Excepteur sint lorem ipsum dolor sit amet consectetur.</strong></p>
              <p class="text-center"><i class="fa fa-picture-o heading-a"></i></p>
            </div>
          </div>
        </a>
      </div>

index.js的控制器:

<Alloy>
  <Tab title="Livestream" onClick="initialize">
    <Window>
       <WebView id="webview" url="http://urltowebsite.com"/>
   </Window>
  </Tab>
</Alloy>

在远程webview的index.html中:

$.webview.addEventListener('load', function(){
  var data = "Hello world!";
  $.webview.evalJS("foo('" + data + "'););
});

当视图加载到应用程序的webview中时,没有任何反应......

提前致谢!

1 个答案:

答案 0 :(得分:1)

传递参数的方式是错误的。以下是将参数发送到webview的正确方法。

$.webview.addEventListener('load', function(){
    var data = "Hello world!";
    $.webview.evalJS('foo(\'' + data + '\')');
});

试试这个。它应该适用于这种情况。