4

我正在寻找一个示例 Alloy 应用程序,该应用程序在 Android 上显示一个 Webview,该应用程序加载一个带有 <script> 标记的本地 HTML 文件,该标记成功地加载了一个本地 Javascript 文件。

我正在使用 Titanium SDK 3.0.2.GA 并为 Android 2.2(模拟器)进行编译。如果有人知道问题所在,我有一个应该很容易修复的示例应用程序:

https://github.com/jbeuckm/AndroidJsFileTest

4

2 回答 2

4

这并不需要太多的努力。

insideAssetsFolder.html

<html>
  <head>
     <title>Whatever</title>
     <script src="insideAssetsFolder.js"></script>
  </head>
  <body>
    // Blah
  </body>
</html>

索引.xml

<Alloy>
    <Window id="container">
        <WebView id="content" url="/insideAssetsFolder.html" />
    </Window>
</Alloy>

insideAssetsFolder.js

window.onload = function(e) {
    alert('Window now presentable');
};

这几乎就是您从空白合金项目中所需要的一切。您可能需要重命名insideAssetsFolder.js扩展,因为 Alloy(有时)不会将其构建到最终应用程序中。

于 2013-03-30T02:07:33.973 回答
3

尝试重命名 assets/test.js 的扩展名。根据我的经验,由于 Titanium 编译 .js 文件,这可能会产生冲突。从 webview 调用 javascript 文件以使用 .wvjs 等备用文件扩展名时,它会有所帮助。你真的可以使用任何扩展,我只是更喜欢 wvjs,因为它可以帮助我识别我专门为 WebView 使用而包含的它的 javascript。

于 2013-04-02T18:40:18.993 回答