window.location.href vs。window.open()vs AJAX - 英特尔XDK中的WP8应用程序

时间:2015-03-04 14:59:11

标签: html5 windows-phone-8 window.open intel-xdk

我正在使用 Intel SDK 开发HTML5应用,为 Windows Phone 8 平台进行编译,并在 Nokia Lumia 530 上进行部署和测试。

我在这个场景中。我必须从同一个应用程序3做不同的动作:(1)调用系统浏览器传递URL,(2)调用系统电话app传递电话号码,(3)ajax调用API。

我的问题是window.open()不适用于链接“tel:123456789”,如果尝试使用window.location.href进行电话操作,我不能在返回我的应用后使用window.open()电话。似乎window.location.href禁止/阻止使用window.open()的app上下文。

这是我清晰的代码,我尝试了所有组合:

HTML

<button class="ui-btn my-button" id="button1">Bottone 1</button>
<button class="ui-btn my-button" id="button2">Bottone 2</button>
<button class="ui-btn my-button" id="button3">Bottone 3</button>

JS [内部var onDeviceReady = function(){}]:

$("#button1").on("click", function () {         
    window.open ('http://www.google.it', '_blank'); // WORKS PERFECTLY BEFORE I CLICK BUTTON 2, DOESN'T WORKS AFTER
});  

$("#button2").on("click", function () {         

    window.open ('tel:123456789', '_blank'); // WORKS BUT BLOCKS OTHERS BUTTONS ACTIONS AFTER COME BACK IN APP FROM TELEPHONE CALL
    //window.open ('tel:123456789', '_system'); // DOESN'T WORKS, BUTTON CLICK HAS NO EFFECT
    //window.open ('tel:123456789', '_self'); // DOESN'T WORKS, BUTTON CLICK HAS NO EFFECT

    //window.location.href = 'tel:123456789', '_blank'; // WORKS BUT BLOCKS OTHERS BUTTONS ACTIONS AFTER COME BACK IN APP FROM TELEPHONE CALL
    //window.location.href = 'tel:123456789', '_system'; // WORKS BUT BLOCKS OTHERS BUTTONS ACTIONS AFTER COME BACK IN APP FROM TELEPHONE CALL
    //window.location.href = 'tel:123456789', '_self'; // WORKS BUT BLOCKS OTHERS BUTTONS ACTIONS AFTER COME BACK IN APP FROM TELEPHONE CALL
}); 

$("#button3").on("click", function () { 

    // WORKS PERFECTLY BEFORE I CLICK BUTTON 2, DOESN'T WORKS AFTER
    $.ajax({
        type: "GET",
        url: 'https://customers.clouditalia.com/public/ws_etnicom_ri?numerochiamato=05...',
        cache: false,
        dataType: "text",
        success: function (data) {                

            alert(data);
        },
        error: function (data) {
            alert("ERROR: response = " + data);
        }
    });
}); 

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用另一种电话:

$.mobile.changePage("#button1"); 

其中#button1是您要转到的网页的ID。