0

当我在 firefox 中运行此代码时,我收到错误“ns_error_unknown_protocol”。我的代码有什么问题?我在 google chrome 中运行它,但它运行没有任何问题。它没有显示任何错误消息?请帮帮我。

我的 javascript 是

<script>
    $(document).ready(function() 
    {
var wrong="nnnn.htm";  
    var name = prompt("Please type in the password",''); 
    $.ajax({
    type: 'POST',
    dataType: 'json',
    url: 'password.php',
    data: {
    name: name
        },
    success: function(data) 
    {
        if (data.success == "good") 
             {


                 window.location.href =data.address;

             }    
        else 
             {
                 alert(data);
                location.href=wrong
             }
    },
    error: function(data) 
    {

        location.href=wrong;
    },
        });
        });
    </script>

我的 php 页面是

<?php
$password="123";
$prompt_password=$_POST['name'];
$success="good";
if($prompt_password==$password)
{
$output =  array('success'=>'good',
          'address'=>'itms-services://?action=download-   manifest&url=http://feathersoft.net/projects/tests/Corelogic/Alert/AlertApp.plist');
echo json_encode($output,JSON_FORCE_OBJECT);
}
else
{
echo "error";
}

?>
4

2 回答 2

1

Firefox 显示该错误,因为它现在不知道如何处理itms-services://协议。

转到about:configFirefox 并搜索network.protocol-handler是否可以看到任何设置,network.protocol-handler.external.itms-services然后只有 Firefox 可以处理您的请求。

更改self.location.href = data.addressself.location = data.addressashref用于 HTTP。

于 2013-03-14T12:34:56.963 回答
0

错误消息ns_error_unknown_protocol基本上是说浏览器不知道如何处理您的自定义协议itms-services://

我认为这与 href 设置有关。

尝试将其更改为

self.location = data.address;
于 2013-03-14T12:29:29.040 回答