在IE8下window.open报了一个错误,invalid parameter,但是参数明明没有错误。
一般说来,第二个参数中不能具有空格和“-”这两个符号。但是我的参数中也没有写这个。怪哉!
后来发现问题所在,原来有一个“newwindow”+Math.random()这个作为参数的时候,Math.random会产生小数点符号“.”
在IE8下,window.open不应该出现点号。所以不能这样来获取随机数,那么换一个获取随机数字的方式。
new Date() - 0,用时间来获取随机数
当然不是必须规定随机数,随机字符串未尝不可,所以:
Math.random().toString(36).substring(7);
Math.random().toString(36).slice(2);
(newDate()-0).toString(36)
这些获取随机字符串的方式都不错。
记住:IE8下:window.open第二个参数中不能有空格“ ”,中划线“-”,点号“.”
来源:oschina
链接:https://my.oschina.net/u/1431510/blog/370161