问题标签 [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.
jquery - 清除缓存后getscript不起作用
我正在使用 getscript() 为我的图片库加载一些脚本。一旦我点击图库,此代码就会运行:
首先我去chrome控制台->右键单击网络选项卡->清除浏览器缓存->刷新页面->然后单击照片。我收到警报“soundswaste1”,但效果没有运行。图像只是在页面上排列。
然后我只需再次单击“照片”,我就会收到两个警报,每个警报两次。2个问题:
为什么清除缓存会阻止所有脚本第一次加载。是因为它们位于不同的路径吗?
为什么我第二次收到两次警报?
javascript - Jquery getScript 缓存
默认情况下 $.getScript() 禁用缓存,您可以使用 $.ajaxSetup 并将缓存设置为 true。在测试脚本是否实际使用 Firebug 缓存时,大多数情况下脚本返回 200(这意味着脚本是新副本),可能有 20 或 30 次返回 304(意味着它使用了缓存版本)。为什么它在绝大多数时间都得到一个新副本?
getScript 检索的文件尚未被编辑,请求是分开的页面更改。
javascript - 如何在主页中获取 javascript 以使用 jquery 附加到 ajax 加载的 div 中的元素?
我正在使用 jquery 加载功能来切换一个 div。每当我通过需要运行 javascript 的 ajax 加载某个元素时,它就无法在 div 中工作。我知道这是因为在初始页面加载时 dom 中不存在该元素。
我已经用谷歌搜索了几天,但没有找到可以给我一个易于理解的解释的答案。本质上,我被告知只使用.on
or $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链接的东西吗?
jquery - 带有 livequery 的 JQuery getScript - 异步执行抛出我的结果
我们有一个“实用程序” js 函数,它包含在我们网站的几个 js 文件中,因此为了减少代码重复,我们将其移至实用程序文件并修改所有 js 文件以在使用getScript
. 这在大多数情况下都有效,但是对于使用 livequery 的一段代码,我遇到了错误。
我在需要使用新功能的任何地方成功使用的代码:
之前的代码:
基本上,每当场景中出现具有“预览”类的元素时,我们都希望解析 rel 属性并将其替换为新解析的字符串。
之后的代码:
问题是,这似乎是$('.preview').livequery
在执行调用回调之前继续循环的下一次迭代getScript
。因此,preview
在我们用适当的值替换它的 rel 属性之前,变量会被重置。我怎样才能让它正确执行?
jquery - 调试 getScript()
使用 Google Chrome (Chromium),是否可以观看/查看$.getScript()
将外部脚本加载到您的网页中?
基本上,我根据用户偏好将许多脚本动态加载到我的网页中,这会导致问题,我想检查是否插入了特定脚本,如果它被插入,我想知道它是否是插入一次或多次。
javascript - 检测脚本是否已经加载
似乎helloworld.js
根据我单击的次数多次加载#load
。我这样说是因为当我查看 Google Chrome 开发者工具网络选项卡时,它显示helloworld.js
的次数与我单击的次数一样多#load
。
该hello()
函数如下所示:
是否可以检测是否helloworld.js
已经加载?
因此,如果尚未加载,请加载它,如果已加载,则不要加载它。
#load
如果我单击该按钮 4 次,这就是开发人员工具当前向我显示的内容:
jquery - 将变量发送到 $.getScript
是否可以将变量发送到使用加载的脚本$.getScript
?
目前我有:
但我想向加载的脚本发送一个变量。这可能吗,如果可以,怎么做?
例如
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 访问此传输的内容(位于客户端某处)?如果我无法访问它,浏览器控制台的网络面板如何访问它?
jquery - jquery getScript 函数永远不会失败?
永远不会调用 jQuery getScript 失败函数。看到这个小提琴:http: //jsfiddle.net/getsetbro/8xNMs/
并且永远不会调用完整的功能:http: //jsfiddle.net/getsetbro/ns6yQ/
哦,在 IE 中,当它应该失败时,它实际上会触发 SUCCESS 和 COMPLETE。=[
javascript - 难以使用全局变量和 $.getScript
我有以下无法正常工作的脚本:
这被称为如下:
我认为这将在函数内运行函数,为全局值分配一个值,然后运行$.getScript
循环的每次迭代。但这并没有发生。它似乎遍历循环,直到循环完成,假设它循环 3 次,每次为全局值分配一个值,即 3 次,然后它最终执行$.getScript
.
当然这不会起作用,因为它现在只会使用 $.getScript 文件中全局值的最后分配 3 次......
如何更改它,以便它为全局变量分配一个值,运行$.getScript
. 完成后,继续原始循环,将下一个值分配给全局变量,运行$.getScript
直到循环完成。