2017-06-14 33 views
-1

長時間潛伏者,第一次海報。 我試圖創建一個工作程序,等等等等......本地存儲在prod中無法正常工作,即11. 它在Chrome中正常工作(我希望每個人都可以使用它),並且在即Aptana內部服務器版本,當我測試它。
這裏是我的代碼: jQuery的HTML 5本地存儲不能在ie 11(v 11.0.42)中啓用DOM存儲

function lsTest(){ 
    var test = 'test'; 
    try { 
      localStorage.setItem(test, test); 
      localStorage.removeItem(test); 
      return true; 
    } catch(e) { 
     return false; 
    } 
} 

$(document).ready(function(){ 
    $("#testbutton").click(function(){ 
        var test = 'test'; 


     if(lsTest() === true){ 
      $("body").css("background", "blue"); 
      $("#test").html(" its here! "); 
     }else{ 
      $("#test").html(" its BROKE! "); 
     } 


    }); 
}); 

      $(document).ready(function() { 

       hideElems();   
       testStorage(); 
       showSSO(); 

      }); 

function hideElems(){ 
    $(".functionalSelect,#inbound,#outbound").hide(); 
} 

function selection(select){ 
functionSelect = select; 

} 

function testStorage(){ 

    var alice = localStorage.getItem('functionthing'); 
    if(!localStorage.getItem('functionthing')) { 
     populateStorage(); 
    } 
    else if(localStorage.getItem('functionthing') == "OB"){ 
      $("#outbound").show(); 
      $(".success").html("You have selected Outbound"); 
      $("body").css("background", "grey"); 
     } 
     else if(localStorage.getItem('functionthing') == "IB"){ 
       $("#inbound").show(); 
       $(".success").html("This means " + alice); 
       $("body").css("background", "#add8e6"); 
     } 
    } 

    function populateStorage(){ 
     var divSet = '<div class="functionalSelect"> <p>Select your function </p>'; 
     var buttons = "<button onClick=selection('OB') class='Out'>Outbound</button> <span> </span><button onClick=selection('IB') class='In'>Inbound</button>"; 
     var end = "</div>"; 
     $(".selector").html(divSet + buttons + end); 

    } 

    //============================================== 
    //Documenation functions 
    //=============================================  

    function documentationEntry(){ 
     var Label1 = '<label>SSO: </label><input type="text" id="SSO">'; 
     var Label2 = '<label> Dept: </label><input type="text" value = "frd" id="dept" readonly>'; 
     var select1 = '<span> </span><label>Site: </label><select id = "site"><option value="" disabled selected>Select your option</option>'; 
     var select2 = '<option value="can">Canton</option><option value="chl">Charlotte</option><option value="hyd">Hyderabad</option><option value="ket">Kettering</option><option value="man">Manila</option><option value="phx">Phoenix</option></select>'; 
     var selectButton = '<br /><br /><button id="sendInfo">Lock Info</button>'; 
     select1 += select2; 



     $(".entryHeader").html(Label1 + Label2 + select1 + selectButton); 

    } 


    function showSSO(){ 
     var caterpiller = localStorage.getItem('SingleSignOn'); 
     var marchhare = localStorage.getItem('department'); 
     var queenofHearts = localStorage.getItem('entered_site'); 

     if(!localStorage.getItem('SingleSignOn')) { 
     documentationEntry(); 
     }else{ 
     $('.entryHeader').hide(); 


     $(".report").html(marchhare + "/" + queenofHearts + "/ ib/ stuff" + caterpiller); 
     } 

    } 


     $(document).ready(function(){ 
      $("#sendInfo").click(function(){ 
       var SSO_Entry = $('#SSO').val(); 
       var entered_site = $('#site :selected').val(); 
       var dept = 'frd'; 

       if(!SSO_Entry || site == ""){ 

        $(".report").html("Your Entry is incomplete"); 
        $(".report").css("color", "red"); 
       }else{ 
         localStorage.setItem('department', dept);  
         localStorage.setItem('entered_site', entered_site); 
         localStorage.setItem('SingleSignOn', SSO_Entry);  
         showSSO(); 
         $(".entryHeader").hide(); 
         $(".report").html(""); 
        } 


       }); 
      }); 


    //=========================================== 
    //End documentaion functions 
    //===========================================  
    $(document).ready(function(){ 
     $(".functionalSelect").click(function(){ 


      if(functionSelect == "OB"){ 
       localStorage.setItem('functionthing', functionSelect); 
         $(".success").html("your selection is Outbound"); 
         $("body").css("background", "grey"); 
         }else if(functionSelect == "IB"){ 
            localStorage.setItem('functionthing', functionSelect);  
            $(".success").html("your selection is Inbound"); 
            $("body").css("background", "#add8e6");  

          } 

         $(".selector").hide(); 
        }); 
       }); 

       $(document).ready(function(){ 
        $(".clearit").click(function(){ 
         localStorage.clear(); 
         location.reload(); 
        }); 
       }); 

CSS

#entryWrapper{ 
    width:600px; 
    padding:5px; 
    border:solid 1px black; 
} 
.clearit{ 
    float:right; 

} 

.success{ 
    height:50px; 

} 
.entryHeader{ 
    width:475px; 
    height:75px; 
    border:solid 1px black; 
    padding: 5px; 
} 


.entryHeader input{ 
    width:100px; 
} 

HTML

<!DOCTYPE html> 
<html> 
<head> 

    <title>Unicorn</title><meta http-equiv="X-UA-Compatible" content="IE=edge" 
    charset="UTF-8"/> 


    <script 
    src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> 
    </script> 
<script> 
</script> 
<style> 
</style> 

</head> 
<body> 
    <section id="entryWrapper"> 

    <button class="clearit">clear</button>  
    <section class="entryHeader"></section> 

    <section class="report"></section> 

    <section class = "selector"></section> 

    <div id="inbound"> this right here is inbound</div> 
    <div id="outbound">and this, kind sir, is outbound</div> 


    <div class ="success"><p>Your selection will be shown here</p></div> 
    </section> 

    <div id="test"></div> 
    <button id="testbutton">test me!</button> 

</body> 

</html> 
+0

我在這裏沒有看到問題。 – lordrhodos

+0

什麼是不正確的工作呢?您是否在控制檯上發現有關使用它的錯誤?它是否被設置爲它不應該的東西,等等。解釋更多,並省略不相關的代碼(如css,因爲這不影響localStorage)。 –

+0

@lordrhodos ...抱歉...將短語當作問題...請幫助我使頁面在ie中正常工作嗎? –

回答

0

想通了。 ie當頁面爲本地時不會接受localStorage,它必須通過服務器位置。 我上傳了頁面到服務器,它工作正常。奇怪的是,Chrome會讓你測試本地。 也解釋了爲什麼它在Aptana中正常工作。