如何在phonegap中使用jquery load()加载页面

时间:2012-09-18 07:17:00

标签: javascript jquery cordova

我正在尝试使用jquery.load()函数在phonegap中加载html页面。但它不起作用。它不会加载我要加载的页面。这是我的代码

jQuery(function () {
var Login = {
    onDeviceReady : function () {
        $('.contents').load('http://localhost:8888/pc/assets/www/pages/login.html');
    }
};

document.addEventListener("deviceready", Login.onDeviceReady, false);
});

这是我的HTML

<header>
    header
</header>
<section class="contents">
    contents
</section>
<footer>
    <ul class="nav">
        <li><a href="#">Home</a></li>
        <li><a href="#">Profile</a></li>
        <li><a href="#">Photo</a></li>
    </ul>
</footer>

我该如何使这项工作?请帮忙

更新

cordova.xml文件

<?xml version="1.0" encoding="utf-8"?>
<!-- 
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
 -->
 <cordova>
    <!--  
    access elements control the Android whitelist.  
    Domains are assumed blocked unless set otherwise
     -->

<access origin="*"/> <!-- allow local pages -->

    <!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
    <!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
    <!-- <access origin=".*"/> Allow all domains, suggested development use only -->

<log level="DEBUG"/>
<preference name="classicRender" value="true" />
 </cordova>

将以上内容添加到cordova.xml文件后,我在jquery

中添加了这种文件路径
 jQuery(function () {
var Login = {
    onDeviceReady : function () {
        $('.contents').load('./login.html');
    }
};

document.addEventListener("deviceready", Login.onDeviceReady, false);
 });

1 个答案:

答案 0 :(得分:2)

我注意到您的HTML文件login.html位于文件夹www内。

所以,我认为您可以尝试使用加载HTML文件(注意HTML文件的路径!)

  

$( '的内容。 ')负载(' your_login_html_path / login.html的');

而不是:

  

$( '.contents ').load(的' http://本地主机:8888 / placeeq /资产/网络/页/ login.html的');


例如:如果您的html文件(不是login.html,另一个调用方法load())位于文件夹www中,并且login.html位于www - &gt; pages,您将拥有:

  

$( '的内容。 ')负载(' ./页/ login.html的');

例如文件夹结构:

  • www

    • html_calling_load.html

    • pages

      • login.html

希望这会有所帮助。让我知道你的结果。