我不明白替换这个的原因:
<script src="js/example.js"></script>
Run Code Online (Sandbox Code Playgroud)
有了这个:
$.getScript('js/example.js', function() {
alert('Load was performed.');
});
Run Code Online (Sandbox Code Playgroud)
有没有特别的理由使用jQuery版本?
我正在努力更新我的网站,现在使用AJAX引擎.我的引擎运行良好,由于某种原因,某些页面不执行javascript,请让我解释一下:当锚更改时我使用$ .get进行数据恢复.页面具有以下结构:
title
h1
script1.js,script2.js,etc.js
style1.css,style2.css,etc.css
<!--there's the page's content-->
Run Code Online (Sandbox Code Playgroud)
它似乎重新加载页面解决了问题,但我不明白有什么不同.在前面的代码中,引擎成功运行,是否重新加载:
$.getScript("script1.js");
$.getScript("script2.js");
$.getScript("etc.js");
Run Code Online (Sandbox Code Playgroud)
另外,php生成的脚本包含用户在Object表单下的当前状态:
$(function(){
user = new Object();
user.id = user.logged = <?php echo $user->getId();?>;
user.nick = "<?php echo $user->getNick();?>";
user.mail = "<?php echo $user->getMail();?>";
user.logout = function(){
};
});
Run Code Online (Sandbox Code Playgroud)
$ .getScript请求成功,但用户对象未更改.但是,该脚本尚未修改.它也不适用于控制台.
该更新目前在v2.wawolf.com上在线,您将找到所需的一切.
Hotlink:引擎代码
当我加载脚本时,.getScript('file.js')是否有办法在以后删除该脚本?有点像干净,我说删除我之前加载的js
我的猜测是,在src文件需要XML友好的,但当然没有JS文件是因为它是用各种非XML标准的实体.
getScript()可能需要一个XML文件= /
有什么想法吗?
Run Code Online (Sandbox Code Playgroud)if(is_def(pObj)){ $.getScript(pObj.src,function(){ pObj.stat = STATUS_OK; $a.dequeue(pObj); }); }
我也在我的桌面上开发这个,而不是使用任何服务器
我正在尝试加载两个具有$.getScript获取Google Map脚本功能的脚本,然后在加载之后,我得到另一个脚本(goMap),可以轻松制作地图小程序.
但是,在加载时,第一个获取Google Map API的脚本是好的,然后第二个脚本返回一个解析错误并显示:
TypeError:'undefined'不是构造函数'
然而,我不知道它在哪里引用或哪一行,我认为它必须尝试在此文件上执行Geocoder(第一行之后(function($){:
这是我的代码:
$.getScript('http://maps.google.com/maps/api/js?sensor=true').done(function()
{
$.getScript('../js/gomap.js').done(function()
{
// this never gets called
alert('gomap loaded');
}).fail(function(jqxhr, settings, exception)
{
alert(exception); // this gets shown
});
}).fail(function()
{
alert('failed to load google maps');
});
Run Code Online (Sandbox Code Playgroud)
我试图改变AJAX设置来设置async到false,但它并没有帮助的.
假设我有以下脚本,叫做include_strict.js.执行后我应该window.global1定义:
"use strict";
var globalVar = {};
alert(typeof window.globalVar);
Run Code Online (Sandbox Code Playgroud)
但是,如果我从一个javascript块包含它
$.getScript("include_strict.js");
Run Code Online (Sandbox Code Playgroud)
警报说undefined.为什么?这里发生了什么?
仅供参考,如果我使用脚本标记包含文件,那就不会发生这种情况:
<script type="text/javascript" src="include_strict.js"></script>
Run Code Online (Sandbox Code Playgroud)
在这里,我看到了预期的警报object.如果我删除"use strict";,那么这两个jQuery.getScript()和<script>;具有显示同样的效果object.
我已经创建了一个示例(https://docs.google.com/file/d/0B-XXu97sL1Ckb0x0OHptTmVMY00/edit)来演示这一点.
我正在使用jQuery ajax加载脚本.
这是一个来自加载器代码的剪辑,它的价值.
var resources = ['knockout-3.2.0.js', 'fonts/fontawesome-webfont.eot', ... ];
var retryCount = 0;
load(0);
function load(i) {
if (i == resources.length) {
$("#progBar").width("100%");
$("#progCaption").text("executing App/main...")
var requireScript = document.createElement('script');
requireScript.setAttribute("type", "text/javascript");
requireScript.setAttribute("src", "Scripts/require.js");
requireScript.setAttribute("data-main", "App/main");
head[0].appendChild(requireScript);
}
else {
$("#progBar").width(100 * i / resources.length + "%");
var r = resources[i];
switch (r.substring(r.lastIndexOf('.'))) {
case ".js":
$("#progCaption").text(r);
$.getScript('Scripts/' + r)
.done(function (data) {
retryCount = 0;
load(++i);
})
.error(function (err) {
if (err.status == 404 || retryCount == 3) { …Run Code Online (Sandbox Code Playgroud) $.getScript("somescript.js", function() {
alert('Load Complete');
});
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我试图了解getScript的内部过程.我知道它在内部使用$ .get方法.我认为jQuery将一个脚本标记引用放入DOM中,以便能够执行该js文件,但是我找不到DOM中getScript的加载脚本的脚本引用.
那么jQuery如何在DOM中没有脚本标记引用的情况下执行加载的脚本?
$.getScript('gallery.js')是完全一样的$('<script src="gallery.js">').appendTo('body')吗?
I want to inject script like this using jQuery getScript function
<script type="text/javascript"
src="https://app.test.com/test.js"
data-client-key="321jj33-dasd333"
></script>
Run Code Online (Sandbox Code Playgroud)
I want to add that extra variable with its value which is data-client-key.
What I've done so far is like this:
var test = "https://app.test.com/test.js";
$.getScript(test, function(){
$.ajax({
//post data using ajax
});
});
Run Code Online (Sandbox Code Playgroud) getscript ×10
jquery ×10
javascript ×5
ajax ×3
api ×1
external ×1
fiddler ×1
google-maps ×1
php ×1
script-tag ×1
use-strict ×1