如何执行PhoneGaps设备属性和Body onLoad另一个功能?

时间:2014-02-08 21:01:49

标签: javascript cordova

因此我无法真正解决这个问题...... 我正试图让(PhoneGap / Cordova)加载设备属性,如下所示:

  <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">

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

    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');

        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
        'Device PhoneGap: ' + device.phonegap + '<br />' +
        'Device Platform: ' + device.platform + '<br />' +
        'Device UUID: '     + device.uuid     + '<br />' +
        'Device Version: '  + device.version  + '<br />';
    }
</script>

<p id="deviceProperties">Loading device properties...</p>

哪个加载完全正常,尽管我无法实现的是尝试使用:

<script>
function begin()
{
    document.getElementById('web').innerHTML = '<META http-equiv="refresh" content="0;URL=http://example.com/page.php?uuid=' + device.uuid + '">';
}
</script>

<div id="web"></div>

<body onload="begin()">

它应该加载元刷新以及“device uuid”属性,但它不会加载页面或任何东西......

谢谢,任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

它无法正常工作的原因是,该页面正在尝试从cordova.js等待“设备就绪”。完成加载后,它会加载设备属性。哪个否决了正文onload来执行元刷新。为了解决这个问题,我们可以将两个函数合并为一个,以便在device = ready时。 Cordova.js也将加载元刷新。

而不是让两个单独的'函数'组合起来,而不是:

  <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">

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

    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');

        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
        'Device PhoneGap: ' + device.phonegap + '<br />' +
        'Device Platform: ' + device.platform + '<br />' +
        'Device UUID: '     + device.uuid     + '<br />' +
        'Device Version: '  + device.version  + '<br />';

        document.getElementById('logg').innerHTML = '<META http-equiv="refresh" content="0;URL=http://example.com/page.php?uuid=' + device.uuid + '">';
}
</script>

<div id="logg"></div>

<!--- above = METARefresh --->
<!---bellow= properties --->

<p id="deviceProperties">Loading device properties...</p>

请记住,除非你编辑它;在“example.com”加载之前,用户将看到设备属性。

如果您不希望他们看到设备属性(建议使用);删除这个:

 <p id="deviceProperties">Loading device properties...</p>