簡體   English   中英

如何在Web瀏覽器和XCode中使用JavaScript運行HTML文件?

[英]How to Run the HTML file with JavaScript in Web Browser and XCode?

我想使用phonegap Cordova 2.0創建iPhone應用程序。 現在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編碼。

    

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中

 <!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>

提前致謝。

首先,嘗試:

<body onload='alert(1);' ...>

它是否反應正確。 然后去:

var bodyLoaded = function() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

<body onload='bodyLoaded();'>

好的,所以你正在開發一個PhoneGap應用程序。

在PhoneGap中有一個名為“deviceready”的特殊事件,當PhoneGap完全加載時會觸發該事件。

在此事件觸發之前,不要調用任何PhoneGap函數非常重要。 這些功能可能尚未加載。

你的問題是:

  1. 您正嘗試在瀏覽器中測試javascript。 PhoneGap提供從手機到應用的服務。 由於您是從Web瀏覽器運行它,因此沒有電話提供服務。 您不能簡單地在Web瀏覽器中運行您的應用程序。

  2. 您沒有引用phonegap.js。 PhoneGap有一個必須加載的javascript部分才能使您的應用程序正常工作。 在你自己的腳本之前你應該有一個像<script type="text/javascript" charset="utf-8" src="phonegap.js"></script> (當然文件名可能會有所不同,具體取決於phonegap版本你正在使用它,它可以被稱為cordova.js)。

  3. 你的HTML包含愚蠢的東西。 有3個開口體標簽。 應該只有1.您需要這樣的HTML:

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

如何解決這些問題?

  1. 在XCode中開發。 內置了一個模擬器。它還可以為您提供管道。 無需外部Web瀏覽器。 在您的問題中,您已經說過一些關於XCode的內容,所以這可能是個不錯的選擇。 閱讀有關在那里設置和運行項目的文章: http//www.adobe.com/devnet/html5/articles/getting-started-with-phonegap-in-xcode-for-ios.html

  2. 使用紋波仿真器 它是一款模擬器,專為在Google Chrome瀏覽器中模擬手機而設計。 它可以使您的應用程序相信它作為PhoneGap應用程序在您的手機內運行,並且您可以使用手機的所有功能,如加速度計,gps等。它還可以為您模擬deviceready事件。 :)

就像每個框架一樣,研究文檔是一個非常好的主意。 有一個非常好的入門指南,你可以找到關於PhoneGap的每個問題的答案。

請閱讀並研究我為您提供的鏈接。 它將幫助您了解您正在嘗試做什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM