通过ajax加载JavaScript的良好实践方法

2024-01-07

免责声明:我对 AJAX 相当陌生!

我环顾四周,不确定使用哪种方法来使用 ajax 加载 javascript。

我使用 ajax 来请求每个页面需要自己的 6-10 个简短方法。总共可能有 5-6 个页面,因此总共大约有 35 个以上的方法。

我更愿意在每个需要加载的页面时访问必要的 javascript。

我看过几种方法,但不确定哪一种最适合我的需要:

  1. 在 head 中包含一个空的 script 元素,并通过 via 操作 src 属性。 DOM。

  2. 通过创建一个新的脚本元素。 DOM 并将其附加到 document.body(这听起来与#1 相同)。

  3. jQuery(我已经在使用)有一个 ajax getScript() 方法。
  4. 我还没有读过任何相关内容,但是我可以只包含一个脚本元素作为 ajax 响应的一部分吗?

由于我对 ajax 和 web 开发总体来说是新手,所以我很好奇每种方法的优缺点以及我错过的任何方法。

一些担忧是: - 是否使用缓存副本,或者每次发出 ajax 请求时下载脚本。请注意,脚本将是静态的。 - 浏览器兼容性。我使用 Chrome,但此应用程序将在 IE >= 7 以及 Firefox 的版本中使用。


在 jQuery 环境中,我会使用getscript()。你对缓存的疑问是对的——getscript包括缓存清除功能(主要是为了击败激进的 IE 缓存,当然在其他情况下很有用)。您可以执行与非缓存破坏等效的操作getscript像这样:

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

通过ajax加载JavaScript的良好实践方法 的相关文章

  • LeafletJs只显示一个国家

    我使用 Leafletjs 和 D3 来显示地图 我只想在地图上显示英国 Leaflet和D3是否可以只显示英国 这当然是可能的 现在的解决方案取决于您是想使用 D3 绘制英国 还是想从 Tile Server 获取它 在后一种情况下 有一
  • d3 树 - 有相同孩子的父母

    我一直在将代码从 JIT 转换为 D3 并使用树布局 我已经复制了代码http mbostock github com d3 talk 20111018 tree html http mbostock github com d3 talk
  • 在生产中使用 css / javascript 源映射对性能有何影响?

    生产环境中应该使用源映射吗 除了调试之外 它们还有什么好处吗 由于额外的服务器往返 它们是否会影响应用程序加载时间 浏览器是否足够智能来加载 map应用程序加载和渲染后的资产 如果浏览器找不到 map asset 404错误 会对性能产生影
  • 如何在D3节点中放置图像?

    到目前为止 我已经创建了这些 D3 节点 用于创建可折叠的层次树 到目前为止 这些节点的颜色为 AA1C1C 深红色 以表明如果您单击它们 它们将扩展到更多节点 我想要做的是在节点中使用图像中的位置 这对于所有用户来说都是一个加号 以知道它
  • 匹配CSS的正则表达式“<属性>:<值>”

    我从以下位置检索了 CSS 规则document styleSheets现在我正在寻找提取它的属性和值 cssText expl position absolute background color rgb 204 204 204 max
  • 添加数组的总和。显示1个输出

    更新 这个问题的答案如下 感谢在不同线程上进行的 dougtesting 将数组相加 显示总和 https stackoverflow com questions 45724641 add array together display su
  • 获取 Firebase AngularFire 中项目的索引 ID

    这里提出了类似的问题 但接受的答案并没有真正回答这个问题 使用 AngularFire 是否可以创建关系型数据库 或者访问 UniqueID https stackoverflow com questions 16879484 using
  • 如何在 vuejs 中防止/停止点击传播

    我有一个递归列表 树 每个元素都有一个 click sayHello el id 现在的问题是 因为它是一个嵌套列表 例如 list element 0 01 list el 1 01 list el 2 01 list el 1 02 l
  • jQuery 单击位于另一个 div 之上的 div

    我的 jQuery 有问题click当选择器是 a 时div那是在另一个之上div正如这里所看到的 the html div div div div css parent background color red width 100px h
  • 如何查明在 Chrome 控制台中按下按钮时会调用哪些函数?

    我正在尝试自学 Google Closure javascript 库 我正在检查 TreeControl UI 小部件 如何使用Chrome控制台分析当我点击下面演示中的 剪切 按钮时运行了哪些功能 例如 我可以为此设置一个断点吗 我尝试
  • PHP:在执行 php 脚本时显示“正在加载”页面

    这就是我现在所拥有的 我有一个网页 当访问该网页时 它会通过开放 API 连接到 Surveygizmo com 检索大量数据 然后将这些数据返回给我进行处理 此过程大约需要 10 12 秒 在执行时 页面只是处于 正在加载 状态 并且我会
  • 使用 System.js 导入 Typescript 编译的模块时出错

    我最近正在学习使用 system js 导入由 Typescript 编译的模块 这些模块之前是为 require js 编译的 并且工作正常 但是合并到system js时 应用时无法导入模块系统生产 js 控制台说 Uncaught i
  • jQuery document read() 函数可能需要很长时间才能执行

    我的问题是 有时一段 JavaScript 通常是 Google Analytics 可能需要很长时间才能加载 尽管 HTML 准备好 遍历和操作 并不重要 如果我使用以下代码 document ready function p text
  • EaselJS Alpha 遮罩滤镜

    我对 Canvas 还很陌生 我一直在尝试将图像颠倒过来EaselJS Alpha 蒙版 http www createjs com demos easeljs alphamaskreveal示例 以便初始图像清晰 并且您可以paint是模
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • 如何使 CSS 动画/过渡以固定速度而不是固定持续时间播放? [复制]

    这个问题在这里已经有答案了 我有一个 CSS 动画 可以使元素沿直线移动未定义的距离 据我所知 动画具有固定的持续时间 因此无论元素必须移动多远 动画始终需要相同的时间来运行 我该如何制作才能使动画没有固定的duration 但有固定的运动
  • Twitter 引导选项卡和 JavaScript 事件

    我正在一个项目中使用 twitter bootstrap 特别是它的选项卡功能 http twitter github com bootstrap javascript html tabs http twitter github com b
  • ExtJS:简单表单忽略 formBind

    我有一个小问题让我发疯了好几天 我有一个表单面板 Ext define EC view PasswordPanel extend Ext form Panel alias widget pwdpanel bodyPadding 15 ini
  • 显示对象内容 - JS/jQuery

    With this data events 返回 object Object 我需要看看里面到底发生了什么 我找到了这个 var Finder each this data events function i n Finder Name i
  • 如何从 vue 组件调用 App.vue 中的方法

    我有一个 vue 组件和一个 vue 元素声明 如下所示 Vue component todo item template li This is a todo li methods test function I am getting an

随机推荐

  • 访问 NSNotification 中传递的对象?

    我有一个正在发布 NSDictionary 的 NSNotification NSDictionary dict NSDictionary dictionaryWithObjectsAndKeys anItemID ItemID NSStr
  • 使用 ASM 重写 Java 本机方法

    我试图通过使用重写类的字节码来做到这一点ASM 4 0 http download forge objectweb org asm asm4 guide pdf来替换所有的native方法与非native stubs 到目前为止我有这个 c
  • 将共享库与 .NET Core 结合使用

    我写了我的开源库 LINQ 到 Twitter https github com JoeMayo LinqToTwitter 使用共享库来最大限度地减少部署工件并处理特定于平台的功能 我想支持 NET Core 并且认为最快的方法是引用共享
  • 什么工具可以将DLL反编译成C++源代码? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个停止工作的旧 DLL log2vis dll 我想查看它的内部 看看它使用了哪些对象 该 DLL
  • 如何可视化 TensorFlow Estimator 权重?

    如何从图层中选择一个图层tf estimator Estimator并访问该层中每个单元的权重向量 具体来说 我正在尝试可视化密集层的权重 看着https github com tensorflow tensorflow blob r1 3
  • 是否可以使用 Twilio API 更改消息传递 URL 回调?

    您好 感谢您的阅读 是否可以使用 Twilio API 更改消息传递 URL 回调 你需要POST to an IncomingPhoneNumber实例资源 你可以这样做curl 或者如果您使用其他语言 请阅读这些文档 并为示例代码选择另
  • 基于sysdate触发

    我有一张桌子 表架构 CREATE TABLE CHARGES total NUMBER 30 admitdate TIMESTAMP 6 dischargedate TIMESTAMP 30 触发算法 if dischargedate n
  • 为什么分号会改变 Chrome 控制台中的 JavaScript 行为 [重复]

    这个问题在这里已经有答案了 这段代码完美地执行在谷歌浏览器控制台 a b a 10 b 20 a 10 b 20 但是当我在末尾添加分号时 出现语法错误 a b a 10 b 20 VM115 1 未捕获的语法错误 意外的标记 有人能告诉我
  • 在Python中查找数字的倍数

    我正在尝试编写一个代码 让我找到一个数字的前几个倍数 这是我的尝试之一 def printMultiples n m for m in n m print n end 我发现 通过把for m in n m 无论数字是什么 它都会遍历循环m
  • Pandas,如何计算过去n年每个月的平均值

    我有一个包含 20 年数据的数据框 其中时间作为日期时间索引 EDIT Time value 1999 01 01 00 00 00 7 1999 01 01 01 00 00 4 1999 01 01 02 00 00 9 1999 01
  • 如何使用 Jest 获取快照中的 CSS 样式

    我有以下问题 我不知道是否可以使用 Jest 快照功能获得结果 我有一个 React 组件 我正在使用 Jest 来测试它 我希望快照包含css风格不班级名称 目前我的快照是这样的 div div 我想要这样 div div 我的应用程序正
  • Python Poetry 已安装,但“诗歌:无法识别术语‘诗歌’”Windows Powershell [重复]

    这个问题在这里已经有答案了 我已经安装了诗歌版本1 4 2 当我跑步时 Invoke WebRequest Uri https install python poetry org UseBasicParsing Content python
  • docx 文件无法在 IE 8 中内联内容配置的浏览器中打开

    我想从 asp net 在 IE 中打开 docx 文件 IIS 已正确映射 mime 类型 我可以很好地打开 pdf 但 docx 总是会提示我下载 例如 content disposition attachment 有什么需要做的设置吗
  • Django 统计字段中的项目数

    模型 py class Event models Model name models CharField max length 20 unique True distance models IntegerField date models
  • 是否仍推荐使用旧版 Criteria API?

    我的团队在 Hibernate 3 x 下长期使用 hibernate Criteria API 最近 我们想将Hibernate版本升级到5 但是Criteria API似乎不再推荐了 但 JPA 看起来像是一个完全不同的 API 我们不
  • 无限滚动轮播(仅限 CSS)

    我正在尝试创建一个自动循环播放的轮播 最初我正在实施slick slider 但后来我发现了这种仅 CSS 的方法 body align items center background E3E3E3 display flex height
  • 如何加快Python中的嵌套交叉验证?

    据我发现 还有另外 1 个这样的问题 加速嵌套交叉验证 https stackoverflow com questions 49629112 speed up nested cross validation 但是 在尝试了该网站和微软上建议
  • 活动的每个片段中浮动操作按钮的不同实现

    这是关于在有 5 个片段的活动中协调浮动操作按钮的行为的问题 在我的应用程序中 我有一个 Activity 其中包含 ViewPager 和使用 FloatingActionButton 定义的 xml ViewPager 包含 Fragm
  • 如何在kdb中将多列合并为一列?

    我编写了下面的代码 可以运行 但我认为会有更好的方法来解决这个问题 我有这样的东西 table time 9 11 Bid1px 4 5 Bid2px 7 3 Bid3px 6 8 time Bid1px Bid2px Bid3px 9 4
  • 通过ajax加载JavaScript的良好实践方法

    免责声明 我对 AJAX 相当陌生 我环顾四周 不确定使用哪种方法来使用 ajax 加载 javascript 我使用 ajax 来请求每个页面需要自己的 6 10 个简短方法 总共可能有 5 6 个页面 因此总共大约有 35 个以上的方法