首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Web浏览器和XCode中用JavaScript运行HTML文件?

如何在Web浏览器和XCode中用JavaScript运行HTML文件?
EN

Stack Overflow用户
提问于 2012-09-05 17:32:40
回答 2查看 1.2K关注 0票数 3

我想创建iPhone应用程序使用phonegap Cordova 2.0。现在是i wrote Javascript external and HTML code。然后我已经把JavaScript code into the HTML5 file。现在,我想在web浏览器上运行HTML文件。当我在浏览器中运行HTML时,Javascript无法工作。浏览器显示HTML中的任何内容。所以你能帮我找到run the HTML5 file with JavaScript on the browser and in XCode Phonegap吗。

下面的编码是JavaScript编码。

代码语言:javascript
复制
var bodyLoaded = function()
 {
    document.addEventListener("deviceready", onDeviceReady, false);
 }

    // Cordova is ready
    //
    function onDeviceReady() {
        var options = new ContactFindOptions();
        options.filter="";
        filter = ["displayName","organizations"];
        navigator.contacts.find(filter, onSuccess, onError, options);
    }

    // onSuccess: Get a snapshot of the current contacts
    //
    function onSuccess(contacts) {
        for (var i=0; i<contacts.length; i++) {
            for (var j=0; j<contacts[i].organizations.length; j++) {
                alert("Pref: " + contacts[i].organizations[j].pref + "\n" +
                        "Type: " + contacts[i].organizations[j].type + "\n" +
                        "Name: " + contacts[i].organizations[j].name + "\n" + 
                        "Department: "  + contacts[i].organizations[j].department + "\n" + 
                        "Title: "  + contacts[i].organizations[j].title);
            }
        }
    };

    // onError: Failed to get the contacts
    //
    function onError(contactError) {
        alert('onError!');
    }

下面的代码位于我的HTML5中

代码语言:javascript
复制
 <!DOCTYPE html>
<html>
  <head>
 <meta charset="utf-8" /> 

    <title>Contact Example</title>
    <script type="text/javascript" charset="utf-8" src="Contectscript.js"></script>
   
  </head>
  <body>
    <body onload='alert(1);'>
    <body onload='bodyLoaded();'>
    <h1>Example</h1>
    <p>Find Contacts</p>
  </body>
</html>

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-06 15:15:42

好了,现在您正在开发一个PhoneGap应用程序。

在PhoneGap中,有一个叫做"deviceready“的特殊事件,它会在PhoneGap完全加载时触发。

在触发此事件之前,不要调用任何PhoneGap函数,这一点非常重要。有可能函数还没有加载。

你的问题是:

  1. 您正在尝试在浏览器中测试javascript。PhoneGap提供从手机到应用程序的服务。由于您是从web浏览器运行它,因此没有电话来提供服务。您不能简单地在web浏览器中运行您的应用程序。
  2. 您没有引用phonegap.js。PhoneGap有一个javascript部分,必须加载它才能让您的应用程序工作。你应该在你自己的脚本前有一行类似phonegap的代码(当然,文件名可以根据你使用的phonegap版本的不同而有所不同,它可以被称为cordova.js).
  3. Your <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>包含愚蠢的东西。有3个开始的主体标签。应该只有1个。你需要一个这样的超文本标记语言:

如何解决这些问题?

  1. 在XCode中开发。有一个内置的仿真器。它也为你做管道工作。不需要您的外部web浏览器。在你的问题中,你已经提到了一些关于XCode的事情,所以这可能是一个好的选择。阅读这篇关于设置和运行项目的文章:http://www.adobe.com/devnet/html5/articles/getting-started-with-phonegap-in-xcode-for-ios.html
  2. Use the Ripple Emulator。它是为在google chrome浏览器中模拟电话而设计的模拟器。它可以让你的应用程序相信它是作为PhoneGap应用程序在你的手机中运行的,并且有你手机的所有功能,如加速计,全球定位系统等。:)

就像在每个框架中一样,研究Documentation是一个非常好的想法。有一个非常好的入门指南,你可以找到关于PhoneGap的每一个问题的答案。

请阅读并研究我为您提供的链接。它将帮助你理解你正在尝试做什么。

票数 1
EN

Stack Overflow用户

发布于 2012-09-05 18:40:56

首先,尝试:

代码语言:javascript
复制
<body onload='alert(1);' ...>

它的反应是否正确。然后继续:

代码语言:javascript
复制
var bodyLoaded = function() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

<body onload='bodyLoaded();'>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12278402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档