【发布时间】:2012-12-09 09:34:51
【问题描述】:
我正在开发一个包含许多 jQuery 和 jQuery UI 相关插件的 Wordpress 站点。一切似乎都运行良好,但是当我们将整个站点移至新域名时,我开始在 Chrome 控制台中看到以下错误:
未捕获的类型错误:对象函数 (b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+ "-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)} ,a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g. options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e ][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])} 没有方法'extend'
这是 jQuery UI 1.9.3 中似乎导致此问题的行:
this.options = $.widget.extend( {},
this.options,
this._getCreateOptions(),
options );
无论我尝试做什么,我似乎都无法克服这一点。我正在使用正确的方法(或者我已经阅读过)通过使用 wp_enqueue_script() 并将 jquery 设置为 jquery-ui 的依赖项来添加脚本,并查看 HTML,jQuery 确实在 jQuery UI 之前加载。
如果有人对可能发生的事情有任何想法,我将不胜感激,这让我发疯了。
【问题讨论】:
-
所有文件都加载正确了吗?
-
发生在 jqueryui.js 的哪一行?
-
看一个活生生的例子会很有帮助。
-
我没有收到任何其他奇怪的错误或 404 或任何其他错误(它们都是从 Google 的脚本存储库加载的)。它报告此错误发生在此文件的第 568 行:ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/…
-
我会展示这个例子,但由于这是一个客户的网站,我不认为我可以在生产时分享它。
标签: javascript jquery wordpress jquery-ui typeerror