【问题标题】:Javascript inside iframe not working in Internet Exploreriframe 中的 Javascript 在 Internet Explorer 中不起作用
【发布时间】:2017-01-10 22:08:00
【问题描述】:

以下 JavaScript 代码未在使用 Internet Explorer 加载到页面上的 iframe 表单中运行。当表单在 iframe 之外加载时,它可以正常工作。我们已将问题缩小到下面的代码,它没有运行。下面的代码允许用户在表单上选择当前年份或未来年份。在 IE11 及以下,选择框是空的,但它会填充 Chrome 和 Firefox 上的选项。但是,它正在 Edge 上运行。

        <script type="text/javascript">
            var $year = new Date().getFullYear() - 2000;
            var test = '';
            if(test > 2000)
                test = test - 2000;
            for(var i =0;i<10;i++) {
                var selected = "";
                    if(test == '') {
                        if(i == 2)
                        selected = "selected";
                    } else {
                        if(i+$year == test)
                            selected = "selected";
                    }
                document.write("<option value='"+(i+$year)+"' "+ selected +">"+ (i+$year) +"</option>");
            }
            </script>

【问题讨论】:

    标签: javascript html internet-explorer iframe browser


    【解决方案1】:

    为了清楚起见,我稍微重写了您的代码。您可能想检查变量 test 以及它应该做什么。

    您的代码似乎在 IE11 中运行良好,但需要注意的是,如果您在本地测试此代码,那么 IE 可能会警告您并阻止脚本在本地运行。

    这也不是你想要添加项目到你选择的方式(通过write),但我想它在技术上是可行的:-)

    <select>
      <script type="text/javascript">
      var $year = new Date().getFullYear() - 2000;
      var test = '';
    
      if(test > 2000) {
        // This never happens
        test = test - 2000;
      }
    
      for(var i=0; i<10; i++) {
        var selected = "";
    
        if(test == '') {
          // This always happens as test is ''
          if(i == 2) { selected = "selected"; }
        } else {
          // This never happens
          if(i+$year == test) { selected = "selected"; }
        }
    
        document.write("<option value='"+(i+$year)+"' "+ selected +">"+ (i+$year) +"</option>");
      }
      </script>
    </select>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多