gpt4 book ai didi

javascript - 为什么这个 jquery 扩展不起作用?

转载 作者:行者123 更新时间:2023-11-28 02:02:16 24 4
gpt4 key购买 nike

我有这个扩展功能,它似乎没有造成任何问题。但一旦我尝试使用它,我就会收到一条错误消息:对象不支持属性或方法“n2name”

Screenshot of the error

插件代码中没有报告任何错误(下面粘贴了代码片段以供引用,最后有完整文件的链接)。

有人知道为什么这不起作用吗?

注意:我正在尝试解决此开源项目的问题:https://github.com/n2cms/n2cms/issues/279并且可能还有关于该 Github bug 的更多有用的详细信息。

很抱歉,如果这个问题太模糊,并且代码片段很长(其中大部分可能不相关)。但任何帮助将不胜感激

/**
* n2name 0.2
*/

(function($) {

/* some code removed for brevity */

$.fn.n2name = function(options) {
var invokeUpdateName = function(){
updateName(options.titleId, options.nameId, options.whitespaceReplacement, options.toLower, options.replacements, options.keepUpdatedBoxId);
};
if(options.keepUpdatedBoxId){
/* more code removed for brevity */
}
};
})(jQuery);;

链接到 jquery.n2name.js 完整源代码,如果上面的代码片段没有用:https://github.com/n2cms/n2cms/blob/4469580fcdd9c91f7576f07c3d2c8a4479ed6ce9/src/Mvc/MvcTemplates/N2/Resources/Js/plugins/jquery.n2name.js

最佳答案

错误“对象不支持属性或方法<name>”(IE)和“<name>不是函数”(Chrome)通常意味着您的jQuery插件在调用之前没有成功加载。

这可能是由于请求失败(检查开发工具的网络选项卡)、忘记/放错了插件的 script标签或 script标签有 defer/async属性。另一个可能的原因是插件的脚本包含语法错误(在这种情况下请检查开发工具的控制台选项卡)。

在同一页面中拥有多个版本的 jQuery(如 OP 链接的 GH 问题中所述)是另一种可能性,将插件视为包含在 (function(){}(jQuery)); 中。样板文件仅添加到 window.jQuery 引用的 jQuery 对象中在插件脚本加载时。

<小时/>

在这种特定情况下,OP 在从 VS 内的本地主机加载插件时遇到问题。

我见过类似的问题,我只是补充一下,从 //somecdn.com/library.js 加载文件时使用无协议(protocol) URL(例如: file:/// )是无效的。 URI 方案。这是因为无协议(protocol) URL“继承”了父文档和 file:/// 所使用的协议(protocol)。不是一个协议(protocol)。如果您从本地服务器加载它(例如通过 http 提供的父文档,如 http://localhost/library.js ),无协议(protocol) URL 应该可以正常工作。

关于javascript - 为什么这个 jquery 扩展不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com