Javascript 简单的jQuery脚本在Chrome中工作,在IE中中断

Javascript 简单的jQuery脚本在Chrome中工作,在IE中中断,javascript,jquery,Javascript,Jquery,我有一个简单的jQuery,它在3秒钟后用一个随机字符串填充一个字段 下面是一个演示: 如果在IE11中加载此演示,则不会填充该字段。为什么会这样 function makeid() { var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i < 8; i++ ) text += po

我有一个简单的jQuery,它在3秒钟后用一个随机字符串填充一个字段

下面是一个演示:

如果在IE11中加载此演示,则不会填充该字段。为什么会这样

function makeid()
{
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    for( var i=0; i < 8; i++ )
        text += possible.charAt(Math.floor(Math.random() * possible.length));
    return text;
}

var urlParams = new URLSearchParams(window.location.search);
var keys = urlParams.keys();
for (key of keys) {}
setTimeout(function() {
  if(document.location.search.length) {
  } else {
    $('#address').val(makeid());
  }
}, 3000);
函数makeid()
{
var text=“”;
var-mablue=“ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789”;
对于(变量i=0;i<8;i++)
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本;
}
var urlParams=新的URLSearchParams(window.location.search);
var keys=urlParams.keys();
对于(键中键){}
setTimeout(函数(){
if(文档.位置.搜索.长度){
}否则{
$('#address').val(makeid());
}
}, 3000);
您使用的是IE不支持的,请尝试将
用于。。。改为在
中(如果需要类似行为,请使用):

另外,还有相当多的库可以在不受支持的浏览器上使用URL API,这只是通过快速谷歌搜索显示的少数库之一。

如果您使用的是IE不支持的库,请尝试使用
for。。。改为在
中(如果需要类似行为,请使用):


或者,也有相当多的库能够在不受支持的浏览器上使用URL API,这只是谷歌快速搜索中出现的少数几个错误之一。

开发工具控制台中的错误应该会给你线索…是什么?我的控制台说:
'urlsearchparms'是未定义的
对..因为IES不支持该api。开发工具控制台中的错误应该会给你线索…是什么?我的控制台说:
'urlsearchparms'是未定义
right..因为IEN不支持该api,所以不认为URL api受支持either@PatrickBarr这似乎无法解决问题。我仍然在我的控制台中看到这个
'URLSearchParams'是未定义的
@michaelmcgurk正如charlietfl所指出的,IE也不支持它,你需要解决它,我编辑了我的答案,加入了另一篇关于这个问题的SO帖子,以及一个github repo,它似乎定义了这个问题,所以它在不支持它的浏览器中可用。非常感谢你的帮助,Patrick。我很快就会调查此事。@michaelmcgurk很高兴我能帮上忙!不要认为URL API是受支持的either@PatrickBarr这似乎无法解决问题。我仍然在我的控制台中看到这个
'URLSearchParams'是未定义的
@michaelmcgurk正如charlietfl所指出的,IE也不支持它,你需要解决它,我编辑了我的答案,加入了另一篇关于这个问题的SO帖子,以及一个github repo,它似乎定义了这个问题,所以它在不支持它的浏览器中可用。非常感谢你的帮助,Patrick。我很快就会调查此事。@michaelmcgurk很高兴我能帮上忙!
function makeid()
{
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    for( var i=0; i < 8; i++ )
        text += possible.charAt(Math.floor(Math.random() * possible.length));
    return text;
}

var urlParams = new URLSearchParams(window.location.search);
var keys = urlParams.keys();
for (key in keys) {}
setTimeout(function() {
  if(document.location.search.length) {
  } else {
    $('#address').val(makeid());
  }
}, 3000);
function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}