2009-08-13 92 views
0

我想循环所有的JavaScript变量来找到匹配某个正则表达式的变量。该功能在每个浏览器中都能正常工作,但IE看起来似乎并不是每个全局变量都读取for循环,即使它在那里。我可以直接使用window.variable访问变量,但它不会出现在循环中。在javascript中遍历所有窗口[global]变量。 IE兼容?

var w = window; 
    var meta = ''; 
    var reg = /meta_(.+)/; 
    var reg_r; 

    for (var k in w){ 
    if (reg_r = reg.exec(k)){ 
     if (typeof(w[k])!="undefined" && typeof(reg_r[1])!="undefined"){ 
      meta += reg_r[1] + '=' + escape(w[k]) + '&'; 
     } 
    } 
    } 
+0

在你的代码中w是一个窗口? – 2009-08-13 14:16:15

+0

是的。 var w =窗口。 – 2009-08-13 14:33:05

+2

在做了一些更多的研究之后,它显示出它是IE中的一个bug,并且没有办法绕过它。 – 2009-08-13 14:33:59

回答