【问题标题】:When using jQuery's getScript() function I get a "not well-formed" error on a line with comments使用 jQuery 的 getScript() 函数时,我在注释行出现“格式不正确”错误
【发布时间】:2010-03-16 23:12:26
【问题描述】:

我的猜测是 src 文件需要是 XML 友好的,但当然没有 JS 文件,因为它使用各种不符合 XML 的实体。

getScript() 可能需要一个 XML 文件 =/

有什么想法吗?

    if(is_def(pObj)){
      $.getScript(pObj.src,function(){
            pObj.stat = STATUS_OK;
            $a.dequeue(pObj);         
      });

    }

我也在我的桌面上开发这个,不使用任何服务器

【问题讨论】:

    标签: jquery getscript


    【解决方案1】:

    据我所知,这是一个 Firefox 错误,错误消息实际上是虚假的。在我的测试中,它也只发生在没有 Web 服务器的情况下使用 getScript() 时。如果您在 Web 服务器上打开使用 getScript() 的页面,则不会触发错误。我认为您可以放心地忽略它,因为即使 Firefox 也不会将其标记为严重的脚本停止错误。一切正常,大多数用户永远不会看到它。

    【讨论】:

    • +1 出现错误是因为我从我的机器上获取脚本。通过上传测试,它消失了。
    【解决方案2】:

    jQuery 的official docs 没有说任何关于期待 XML 的内容。它似乎只需要一个普通的 javascript 文件。我还尝试了一些简单的测试,加载带有 cmets 的 javascript 文件并且没有任何问题。

    我感觉你要么在 javascript 文件中有语法错误,要么 ajax 调用是 404'ing。

    这里有一些建议。

    • 如果您的浏览器支持,请执行 console.log(pObj.src) 以确保存储在该变量中的脚本 URL 正确。
    • 尝试将 javascript 代码直接粘贴到主 javascript 文件中,看看是否会导致任何语法错误。
    • 使用$.ajax方法手动实现同样的效果。

    【讨论】:

      【解决方案3】:

      我猜服务器只是在响应中设置了错误的内容类型,因此您的浏览器可能会尝试将返回的数据解释为 XML/HTML 而不是 javascript。

      做了一个快速演示:http://jsbin.com/ilepu/2http://jsbin.com/avewo/2 加载。一切都按预期工作,加载脚本也包含 cmets

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-15
        • 2011-03-14
        • 1970-01-01
        • 2017-11-02
        • 2010-10-15
        • 1970-01-01
        相关资源
        最近更新 更多