$.getScript 中未定义函数

2024-01-08

这个一定很简单。外部 javascript 文件包含:

function Hello() {
    alert('Hello');
}

It is getScript()ed 然后调用一个包含的函数

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $.getScript('myscript.js');
    Hello();
</script>

I get:

ReferenceError:Hello 未定义

但是如果在 HTML 中引用该脚本<script>标记它按预期工作

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script src="myscript.js" type="text/javascript"></script>
<script type="text/javascript">
    Hello();
</script>

我缺少什么?如何引用在 a 中创建的对象getScript()编辑脚本?我想使用的原因getScript()它将脚本加载到ready() event.


问题是$.getScript()函数是异步的。当您致电Hello()函数紧随其后,脚本尚未加载,因此该函数不可用。

使用常规加载脚本<script>标签同步发生,因此如果您想复制该行为,则必须禁用asyncAjax 调用中的选项。

getScript单独不支持这一点,因此您可以使用$.ajax使用适当的选项进行调用:

 $.ajax({
     url: 'myscript.js',
     dataType: 'script',
     async: false
});

这将阻止浏览器,直到加载脚本为止。

然而,更好的技术是使用回调,它$.getScript()确实支持:

$.getScript('myscript.js', function() {
    Hello();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

$.getScript 中未定义函数 的相关文章

  • 如何获取 CSS 旋转元素的实际(非原始)高度

    我需要获取几个不同元素的实际高度 为了精确的自定义工具提示定位 并且其中一些元素 不是全部 被旋转 elem outerHeight 返回原始高度 而不是实际显示的高度 这是一个非常简单的例子 http jsfiddle net NPC42
  • 自定义过滤器在 Angular Hybrid 应用程序中不起作用

    我正在尝试将 AngularJS 1 6 应用程序与 Angular 5 一起转换为混合应用程序 我定义了以下简单过滤器 function use strict var filterId colorPicker angular module
  • 为什么这些 Javascript for 循环在 Firefox 上比 Chrome / Safari 上慢得多?

    我在搞基准网站jfprefs http jsperf com 并创建了我自己的基准http jsperf com prefix or postfix increment 9 http jsperf com prefix or postfix
  • JavaScript/Angular 1 - Promise.all 到 async-await

    我在两个变量中分配了对 Web 服务的两次调用referencesPromise and contactTypesPromise onInit 如果需要 我可以为此创建一个新方法 onInit const referencesPromise
  • 如何防止缓慢脚本警告并强制浏览器继续运行脚本直到完成?

    更新 2013 年 7 月 5 日 自从我最初问这个问题以来 我学到了很多东西 在下面的一条评论中 有人建议我重新处理该任务 并找到一种方法来解决它 而不会有阻塞 UI 的风险 我说不可能 函数必须按原样运行 我实际上不记得我试图用这个函数
  • 选项:选择不工作 jquery 1.9

    下列 select option contains fish attr selected true 在 jQuery 1 9 以下的任何版本中都可以很好地工作 但在 jQuery 1 9 中根本不起作用 我一直在寻找有关任何更改的任何文档
  • 与玻璃钢战斗

    我读过有关 FRP 的内容 非常兴奋 它看起来很棒 因此您可以编写更多高级代码 并且一切都更加可组合 等等 然后我尝试用数百个 sloc 从纯 js 到 Bacon 重写我自己的小游戏 我发现 我实际上不是编写高级纯逻辑代码 而是击败了 B
  • 如何切换整个页面的深色主题?

    我已经成功地在 html 和 Flask 中按下复选框时切换深色主题和浅色主题 但是我怎样才能让深色主题覆盖整个页面 而不仅仅是一些 div 元素呢 边距仍然是浅色主题 CSS代码如下 container display flow widt
  • 如何使 Loopback 模型事件起作用?

    我尝试过一个例子http apidocs strongloop com loopback model http apidocs strongloop com loopback model MyModel on changed functio
  • 如何为 chrome 和 ie favicon(加载指示器)设置动画

    我的 PM 有一个要求 将图标更改为动画加载图像 仅当我将 link href 指向 gif 文件时 它才适用于 Firefox 我做了一些研究 发现 chrome 不支持动画图标 但wiki https en wikipedia org
  • 需要了解Javascript函数提升示例

    我阅读了 Javascript 提升的概念 它非常令人困惑 但我看到了一些示例并了解了提升的实际作用 所以基本上 提升是 JavaScript 的默认行为 即将所有声明移动到当前作用域的顶部 当前脚本或当前函数的顶部 但我无法理解以下实现
  • 不用AJAX,前台同步拖放文件上传?

    我有一个定期的网站
  • 如何检查 URL 末尾是否有特定字符串

    我需要根据 URL 末尾的内容让覆盖层向下滑动 如果 URL 末尾有 faq 覆盖层下降 如何在 jQuery JavaScript 中做到这一点 如果您的网址看起来像这样http yourdomain com faq 你可以这样做 var
  • 已安装 cypress npm 软件包,但缺少 Cypress 二进制文件

    大家好 我是 azure devops CI 的新手 我正在尝试通过在作业之间缓存 node modules 来减少管道构建时间 但我遇到了无法解决的错误 我正在使用 cypress 进行测试 这是我的天蓝色管道 Node js Build
  • 同步通用分析

    新的Universal Analytics重新引入了同步事件跟踪 https developers google com analytics devguides collection analyticsjs method reference
  • 使用 Java 进行 AES 加密并使用 Javascript 进行解密

    我正在制作一个需要基于 Java 的 AES 加密和基于 JavaScript 的解密的应用程序 我使用以下代码作为基本形式进行加密 public class AESencrp private static final String ALG
  • JQuery 语言下拉选择器

    我需要一个已经实现的 JQuery 或 JavaScript 下拉语言选择器解决方案 当用户单击下拉菜单时 该下拉菜单应打开 并且应显示语言列表 左侧带有该国家 地区的国旗 我什至找不到例子 任何 jQuery 下拉插件都不能正常工作吗 您
  • angular-cli:Karma-Webpack 因“没有此类文件或目录”而失败

    我从Tour of Heroes使用标准 Angular systemjs 现在我正在使用angular client它在开发 生产模式下运行顺利 但我无法测试任何东西ng test 以下内容会被吐出 不仅适用于test ts但也为了pol
  • 获取不正确的日期,将时间戳转换为新日期

    我正在尝试将时间戳转换为日期 但得到的日期不正确 我正在开发一个使用 Angular 和 Typescript 的项目 我有这样的时间戳 1451642400 2016年1月1日 和1454320800 2016年2月1日 如果我编码 da
  • 如何通过 jQuery onblur 提交表单

    所以我尝试通过 jQuery onblur 提交表单 即一旦焦点离开密码字段 表单就会通过 jQuery 提交 有类似的问题 但这不是我要找的 我尝试使用 document getElementById 但它不起作用 任何帮助表示赞赏 提前

随机推荐

  • 计算坐标列表之间的地理距离(纬度、经度)

    我正在编写一个 Flask 应用程序 使用从 GPS 传感器提取的一些数据 我能够在地图上绘制路线 并且想要计算 GPS 传感器行驶的距离 一种方法可能是只获取开始和结束坐标 但是由于传感器的移动方式 这是非常不准确的 因此 我对每 50
  • 使用 Powershell 编辑 XML 属性

    因此 我有一个 exe config 文件 我试图在其中搜索特定属性 然后使用 Windows 7 中的 Powershell 版本 4 0 对其进行编辑 但我遇到了问题 我尝试了几件事 但没有取得任何成功 这是我正在使用的配置文件的精简版
  • 秒表逻辑

    我想在android中开发一个简单的秒表逻辑 单击列表视图时 计时器应启动 单击按钮时 计时器应停止 任何人都可以指导我吗 任何示例代码都会有很大帮助 使用跑表 https github com cgoldberg netplot blob
  • 如何改进这个排序代码? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SQL Server 2008在生产环境中表现如何?

    我正要移动服务器 我正在和某人交谈 他们建议使用服务器上安装的 sql server express 2008 我可以完全访问服务器 这个 Express 引擎的工作速度 性能 与真正的 sql server 2008 相同吗 我知道限制
  • 如何从 sqlite 数据库填充可扩展列表视图

    我引用了一些链接 但没有得到好东西 我在 sqlite 中有一张表 有 4 列 id 菜单名称 描述 金额 我希望 menu name 应该是父级 描述和金额应该是从数据库填充的子级 当我单击特定的 menu name 时 它 应该展开并显
  • 在批处理文件参数中保留“=”(等号)字符

    我编写了一个批处理文件来启动应用程序 该应用程序不是我的 我无法修改它 批处理文件本身接受一些参数 应用程序接受其他参数 批处理文件使用 SHIFT 使用其所有选项 然后使用正确的环境启动应用程序 并将其余参数传递给应用程序 调用批处理文件
  • 将 javascript 注入 javascript 函数

    我有一个奇怪的问题 我需要将一些 javascript 注入到另一个 javascript 函数中 我正在使用一个已锁定的框架 因此我无法更改现有功能 我得到的是这样的东西 function doSomething 我可以操纵 上面 但是我
  • 在我的 Java 应用程序中添加 Web 浏览器

    我有一个java应用程序 用于查看网络内容 所以我想在我的应用程序中添加一个功能齐全的浏览器 我已经尝试过了JEditorPane并且它不处理动态内容 还有其他办法吗 有关如何做的任何帮助吗 这个链接是很好的例子 在 swing 中创建浏览
  • 如何在Java/Swing中使用JLabel制作动画?

    我有一个Java课程的期末项目 它是青蛙跳跃游戏 这是描述它的视频 https www youtube com watch v NxWWP9cK24o https www youtube com watch v NxWWP9cK24o 我不
  • # 登录 CSS 选择器

    一些 CSS 选择器有 在他们面前 这意味着什么 它是 ID 选择器 CSS 标准的基本功能 它根据给定的 ID 匹配 HTML 元素id属性 当然 假设有一个合格的文档 看W3C 选择器规范 http www w3 org TR sele
  • iframe 可以在 WKWebView 中与 Cordova 一起使用吗?

    根据 Apache Cordova 博客 iframe 可能无法使用 WKWebView https cordova apache org news 2018 08 01 future cordova ios webview html ht
  • 将 javascript 代码段附加到 body 标记的末尾

    我正在寻找一种将 javascript 代码块插入到 ASP NET 页面末尾的方法 Page ClientScript RegisterClientScriptBlock typeof Page showVideo sScript tru
  • 使用 HQL 选择集合

    我有以下课程 人 java class Person String name Set
  • 与变量的抽象矩阵乘法

    我知道 python 进行矩阵乘法的能力 不幸的是我不知道如何抽象地做到这一点 所以不与 确定的数字 但带有变量 Example M 1 0 1 d a c 0 1 有没有办法定义a c和d 以便矩阵乘法 给我 1 d a a d c Us
  • 折叠过渡不适用于 Angular 的 UI Bootstrap

    我正在尝试创建一个 div 当单击按钮时它将显示 隐藏 这UI 引导页面 https angular ui github io bootstrap 显示了一个使用 css 过渡的简单示例 这是我的fiddle https jsfiddle
  • 如何反编译在 VS.net 中创建的 .dll 文件

    我需要反编译在 VS net 中创建的 dll 文件 有没有可用的工具来执行此操作 或者我可以有一些代码来做到这一点吗 请帮忙 编辑2 我现在使用来自 Jetbrains 的 DotPeek https www jetbrains com
  • [-f:未找到命令,Bash 脚本文件确实存在[重复]

    这个问题在这里已经有答案了 我正在尝试编写的脚本遇到问题 缩小并简化了代码 它给出了未找到命令的错误 如果我在命令行中执行 test f file 它不会返回任何内容 而不是找不到命令 PATH 1 bin bash DIR 1 if f
  • 在 Tomcat 7 中使用智能卡和 LDAP 对用户进行身份验证

    我有一个在 Tomcat 7 上运行的 Web 应用程序 它配置了自定义 JNDIRealm 并且 web xml 中的登录配置身份验证方法设置为 FORM 我正在尝试找到一种方法来添加通过同一 LDAP 使用智能卡 如果有 对用户进行身份
  • $.getScript 中未定义函数

    这个一定很简单 外部 javascript 文件包含 function Hello alert Hello It is getScript ed 然后调用一个包含的函数 I get ReferenceError Hello 未定义 但是如果