0

我在 Zurb's Foundation 中使用 Express 和 Jade。

这是我第一次遇到这个问题,我被卡住了。

我不断收到此错误。

Uncaught TypeError: Object [object Object] has no method 'foundation'

我打赌我会通过使用 Jade 来解决这个问题,但如果我是的话,我就迷路了。这是代码的核心:

!!! 5
//if lt IE 7
    html.no-js.ie6.oldie(lang='en')
//if IE 7
    html.no-js.ie7.oldie(lang='en')
//if IE 8
    html.no-js.ie8.oldie(lang='en')
//[if gt IE 8]><!
html.no-js(lang='en')
  //<![end if]
  head
    meta(charset='utf-8')
    meta(http-equiv='X-UA-Compatible', content='IE=edge,chrome=1')
    title=title
    meta(name="description", content=description)
    meta(name="author", content=author)
    meta(name="viewport", content='width=device-width, initial-scale=1')

    link(rel="stylesheet", href="/stylesheets/foundation.min.css")

    script(src="/javascripts/vendor/custom.modernizr.js")
    script(src="https://cdn.firebase.com/v0/firebase.js")
    script(src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js')

  body 
    .row
      block content

    // Foundation Footer tools 
    script.
     document.write('<script src=' +
      ('__proto__' in {} ? 'javascripts/vendor/zepto' : 'javascripts/vendor/jquery') +
      '.js><\\/script>')


    script(defer, src='/javascripts/foundation.min.js')
    script.
      $(document).foundation();

    block scripts

有任何想法吗?

4

1 回答 1

1

jQuery 实例未正确加载。如您所见,该 URL 未正确制作,您缺少HTTP前缀。

script(src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js')

Foundation Footer 工具也尝试加载 jQuery,但它似乎失败了,因为您使用的是相对路径。您应该在 javascripts URL 前面附加一个“ / ”,如下所示:

script.
     document.write('<script src=' +
      ('__proto__' in {} ? '/javascripts/vendor/zepto' : '/javascripts/vendor/jquery') +
      '.js><\\/script>')

我还建议将此语句移到 Head 附近。正确加载 jQuery 将使您摆脱错误。

问候

于 2013-10-29T17:19:33.947 回答