Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE 11无法获取属性';长度';指未定义的或空的引用_Javascript_Jquery_Internet Explorer 11 - Fatal编程技术网

Javascript IE 11无法获取属性';长度';指未定义的或空的引用

Javascript IE 11无法获取属性';长度';指未定义的或空的引用,javascript,jquery,internet-explorer-11,Javascript,Jquery,Internet Explorer 11,我在internet explorer 11中遇到错误 无法在上获取未定义或空引用的属性“length” 线 它在chrome和Firefox上运行良好,但不确定是什么原因导致了它 <script> function initialize() { // test to see if brouser supports storeage api var bSupportsLocal = (('localStorage' in window) &am

我在internet explorer 11中遇到错误

无法在上获取未定义或空引用的属性“length” 线

它在chrome和Firefox上运行良好,但不确定是什么原因导致了它

<script>
    function initialize() {
        // test to see if brouser supports storeage api
        var bSupportsLocal = (('localStorage' in window) && window.localStorage !== null );

        if (!bSupportsLocal) {
            document.getElementById('infoform').innerHTML = "<p> Sorry, This browser does not suport local storage. </p>";
            return;
        }

        if (window.localStorage.length !== 0) {
        document.getElementById('firstName').value = window.localStorage.getItem('firstName');
        $.mobile.navigate("#benefits-facts");
        }
    }

    function storeLocalContent(fName) {
        window.localStorage.setItem('firstName', fName);

        }

        function clearLocalContent(strToStore) {
            window.localStorage.clear();

            }

    window.onload = initialize;
    </script> 

函数初始化(){
//测试brouser是否支持storeage api
var bSupportsLocal=(('localStorage'在窗口中)和&window.localStorage!==null);
如果(!bSupportsLocal){
document.getElementById('infoform').innerHTML=“对不起,此浏览器不支持本地存储。

”; 返回; } if(window.localStorage.length!==0){ document.getElementById('firstName')。value=window.localStorage.getItem('firstName'); $.mobile.navigate(“#利益事实”); } } 函数storeLocalContent(fName){ window.localStorage.setItem('firstName',fName); } 函数clearLocalContent(strToStore){ window.localStorage.clear(); } window.onload=初始化;
我在IE
窗口中想。localStorage
最初是未定义的。您正在检查
窗口中的is
localStorage
,并且它不是
null
。因此
bSupportLocal
设置为true。它正在执行
window.localStorage.length
语句。未定义。导致错误的长度。 这是密码

     var bSupportsLocal = window['localStorage'] || '';

如果localStorage有一些值,它将分配给bSupportsLocal,否则它将被分配为空字符串。

是否尝试删除一个等号?window.localStorage!==如果我删除一个等号,我会得到“对不起,此浏览器不支持本地存储”。我相信这可以帮助您:这不是问题所在,我正在运行最新版本的IE11@brodster你可能是吗?或者,你有没有检查正在使用的?该页可能在不支持web存储的兼容模式下运行。
     var bSupportsLocal = window['localStorage'] || '';