问题标签 [getscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
575 浏览

jquery - 清除缓存后getscript不起作用

我正在使用 getscript() 为我的图片库加载一些脚本。一旦我点击图库,此代码就会运行:

首先我去chrome控制台->右键单击网络选项卡->清除浏览器缓存->刷新页面->然后单击照片。我收到警报“soundswaste1”,但效果没有运行。图像只是在页面上排列。

然后我只需再次单击“照片”,我就会收到两个警报,每个警报两次。2个问题:

  1. 为什么清除缓存会阻止所有脚本第一次加载。是因为它们位于不同的路径吗?

  2. 为什么我第二次收到两次警报?

0 投票
6 回答
24950 浏览

javascript - Jquery getScript 缓存

默认情况下 $.getScript() 禁用缓存,您可以使用 $.ajaxSetup 并将缓存设置为 true。在测试脚本是否实际使用 Firebug 缓存时,大多数情况下脚本返回 200(这意味着脚本是新副本),可能有 20 或 30 次返回 304(意味着它使用了缓存版本)。为什么它在绝大多数时间都得到一个新副本?

getScript 检索的文件尚未被编辑,请求是分开的页面更改。

0 投票
0 回答
324 浏览

javascript - 如何在主页中获取 javascript 以使用 jquery 附加到 ajax 加载的 div 中的元素?

我正在使用 jquery 加载功能来切换一个 div。每当我通过需要运行 javascript 的 ajax 加载某个元素时,它就无法在 div 中工作。我知道这是因为在初始页面加载时 dom 中不存在该元素。

我已经用谷歌搜索了几天,但没有找到可以给我一个易于理解的解释的答案。本质上,我被告知只使用.onor $getScript

但是,这似乎不是合适的答案。因为,在 div 中加载的每个元素都具有相似的属性——我只是想加载 jquery 库,以及我的索引页面的 head 部分中相同的两个外部脚本——然后确保这些脚本保持“活动”或附加到简单的通过 ajax 从外部加载到 div 中的 html 内容。

因此,例如,如果page 1有一个名为 bouncingcats 的 div 和page 2一个名为 bouncingdogs 的 div -两者都需要一个名为“bounce”的外部 javascript -我想在我的索引页面的 head 部分加载 javascript 文件“bounce”一次- 然后在我的索引页面上用猫或狗动态交换名为 bouncinganimals 的 div。

到目前为止,似乎我得到的唯一建议是将 jquery 库和bounce.js文件page 1放在page 2. 这当然有效 - 但它似乎太多余了,当然会减慢 ajax 负载。

你知道我可以在我的索引页面头中加载 jquery 库和外部 javascript 页面一次,并在我通过 ajax 将内容加载到我的 div 时让它们运行的​​方法吗?

我遇到的一个问题是我自己没有编写脚本bounce.js- 而且它已经被最小化了 - 所以更改脚本可能会非常困难。有什么我可以自己包裹外部javascript链接的东西吗?

0 投票
2 回答
359 浏览

jquery - 带有 livequery 的 JQuery getScript - 异步执行抛出我的结果

我们有一个“实用程序” js 函数,它包含在我们网站的几个 js 文件中,因此为了减少代码重复,我们将其移至实用程序文件并修改所有 js 文件以在使用getScript. 这在大多数情况下都有效,但是对于使用 livequery 的一段代码,我遇到了错误。

我在需要使用新功能的任何地方成功使用的代码:

之前的代码:

基本上,每当场景中出现具有“预览”类的元素时,我们都希望解析 rel 属性并将其替换为新解析的字符串。

之后的代码:

问题是,这似乎是$('.preview').livequery在执行调用回调之前继续循环的下一次迭代getScript。因此,preview在我们用适当的值替换它的 rel 属性之前,变量会被重置。我怎样才能让它正确执行?

0 投票
3 回答
1864 浏览

jquery - 调试 getScript()

使用 Google Chrome (Chromium),是否可以观看/查看$.getScript()将外部脚本加载到您的网页中?

基本上,我根据用户偏好将许多脚本动态加载到我的网页中,这会导致问题,我想检查是否插入了特定脚本,如果它被插入,我想知道它是否是插入一次或多次。

0 投票
4 回答
16918 浏览

javascript - 检测脚本是否已经加载

似乎helloworld.js根据我单击的次数多次加载#load。我这样说是因为当我查看 Google Chrome 开发者工具网络选项卡时,它显示helloworld.js的次数与我单击的次数一样多#load

hello()函数如下所示:

是否可以检测是否helloworld.js已经加载?

因此,如果尚未加载,请加载它,如果已加载,则不要加载它。

#load如果我单击该按钮 4 次,这就是开发人员工具当前向我显示的内容:

在此处输入图像描述

0 投票
3 回答
12423 浏览

jquery - 将变量发送到 $.getScript

是否可以将变量发送到使用加载的脚本$.getScript

目前我有:

但我想向加载的脚本发送一个变量。这可能吗,如果可以,怎么做?

例如

0 投票
0 回答
391 浏览

jquery - 如何从跨域 getScript() AJAX 请求中访问传输的内容?

我正在使用 jQuery (1.7.2) getScript() AJAX 方法来获取包含嵌入式 javascript 的外部(跨域)HTML 页面。我在 getScript() 命令中使用“脚本”数据类型,因为它没有跨域限制。在浏览器的 JS 控制台中,我使用以下代码,它等效于 getScript() 请求:

这返回“成功”,但没有结果。

控制台还告诉我内容被解释为脚本,但使用 MIME 类型 text/html 传输(我想这是因为我使用的 url 用于 HTML 页面)。我知道整个 HTML 数据已传输到客户端,因为我可以使用浏览器 JS 控制台的网络面板访问它,并且我可以确认确实传输了正确数量的 KB。

我不确定我是否关心 MIME 消息,因为我真的只需要掌握传输的内容并进行一些解析。如何使用 jQ/JS 访问此传输的内容(位于客户端某处)?如果我无法访问它,浏览器控制台的网络面板如何访问它?

0 投票
2 回答
3237 浏览

jquery - jquery getScript 函数永远不会失败?

永远不会调用 jQuery getScript 失败函数。看到这个小提琴:http: //jsfiddle.net/getsetbro/8xNMs/

并且永远不会调用完整的功能:http: //jsfiddle.net/getsetbro/ns6yQ/

哦,在 IE 中,当它应该失败时,它实际上会触发 SUCCESS 和 COMPLETE。=[

0 投票
7 回答
2974 浏览

javascript - 难以使用全局变量和 $.getScript

我有以下无法正常工作的脚本:

这被称为如下:

我认为这将在函数内运行函数,为全局值分配一个值,然后运行$.getScript循环的每次迭代。但这并没有发生。它似乎遍历循环,直到循环完成,假设它循环 3 次,每次为全局值分配一个值,即 3 次,然后它最终执行$.getScript.

当然这不会起作用,因为它现在只会使用 $.getScript 文件中全局值的最后分配 3 次......

如何更改它,以便它为全局变量分配一个值,运行$.getScript. 完成后,继续原始循环,将下一个值分配给全局变量,运行$.getScript直到循环完成。