【问题标题】:jquery .html does not work with scriptjquery .html 不适用于脚本
【发布时间】:2008-12-03 10:29:48
【问题描述】:

此代码根本不适用于 IE8。 FF3 正在执行,但页面是空白的,并且似乎加载没有结束。

我的代码是:

$("#leaderBoard").html("<script2 language=\"javascript2\"> document.write('<scr'+'ipt language=\"javascript21.1\">alert(1)</scri'+'pt>'); </script2>".replace(/script2/gi, "script"));

我想让页面加载广告准备就绪。

【问题讨论】:

  • 您是否尝试在 dom 准备就绪时加载脚本?
  • 不推荐使用language 属性。请改用 type="text/javascript"。此外,更喜欢 DOM 而不是 document.write。另外...使用 jQuery 的脚本加载器,或者 eval。

标签: javascript jquery dom


【解决方案1】:

这适用于我在 FF3 和 IE7 中:

$("#leaderBoard").html('<sc'+'ript language="javascript1.1">alert(1);</sc'+'ript>');

当您在页面加载后使用 document.write 时,它​​会替换整个文档 (http://javascript.about.com/library/blwrite.htm)。您实际上用脚本标记替换了您的页面内容,导致它显示为空白。

【讨论】:

    【解决方案2】:

    当您实际上已经拥有 jQuery 时,为什么还要这么麻烦?

    只需将广告 HTML 加载到排行榜对象中,即可完成。

    $(document).ready( function() {
      $("#leaderBoard").load("/ad_generator.php");
    });
    

    ad_generator.php 会根据某种随机化方案生成 HTML 片段。

    【讨论】:

      【解决方案3】:

      为什么不尝试使用 jQuery 的 $.getScript();功能?

      http://docs.jquery.com/Ajax/jQuery.getScript

      【讨论】:

        【解决方案4】:

        试试这个方法:

        //////////////////function in page's script section
        
        function aFunction (x) {
        
            ////script you want to execute
        
            alert(x);
        
        }
        
        //////////////////////in page's body
        
        var d = $("<div />");
        d.ready(function(){aFunction("x");});
        

        【讨论】:

          【解决方案5】:

          尝试将您的代码包装在

          $(document).ready(function() {
           // your code here
          });
          

          【讨论】:

            【解决方案6】:
            document.write()
            

            不适用于 window.onload 事件

            试试这个代码

             $('.myDiv').html('<script src="path\/to-add\/provider"><\/script>');
            

            文档末尾附近的某处 注意你必须转义'/'字符

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多