脚本在JSON响应中的ie7中发布

时间:2011-10-24 11:18:52

标签: jquery json

我的脚本以JSON响应中的注释notaiton开头。这会在runscirpts @ eval(e.text)上的ie7中引发语法错误; //运行脚本。

<script type="text/javascript"><!--
$(document).ready(function(){                  
    //utils.normalizeColumnHeight($('.aboutus-filter-wrapper, .aboutdesc_wrapper,.right_box_wrapper'));
});
// --></script>

Iam使用runcripts为ie执行脚本。这是代码

 runScripts1: function(e) {
    if (e.nodeType != 1) return false; //if it's not an element node, return

    if (e.tagName.toLowerCase() == 'script') {
        //alert(e.text);
        eval(e.text); //run the script
    }
    else {
        var n = e.firstChild;
        while ( n ) {
            if ( n.nodeType == 1 ) forrester.runScripts1(n); //if it's an element node, recurse
            n = n.nextSibling;
        }
    }
    return true;
},

如何避免评论?

1 个答案:

答案 0 :(得分:0)

您在Javascript片段中使用了无效的评论构造,此外,在起点存在时,无效评论上下文的关闭会被适当地注释掉。

即,

  • <!-- comment -->构造在HTML中有效
  • //comment/* comment */构造在Javascript中有效
  • 但它们不可互换

浏览器可能根本不喜欢这个。

如果您将此脚本作为来自某个地方的电话的响应,那么我会先尝试查看来源:您是否可以控制输出?

如果是,请更改它以删除无效的内容。如果您 从服务电话/外部来源获取此代码,我建议您不要这样做。但是,这可能是另一个问题的主题。