首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有定义来自google的jquery

没有定义来自google的jquery
EN

Stack Overflow用户
提问于 2016-05-29 02:29:41
回答 2查看 948关注 0票数 1

我试图通过javascript注入jquery。然而,下面的代码似乎无法给出一个错误:"$是未定义的“。任何帮助都将不胜感激!

代码语言:javascript
复制
var jqry = document.createElement('script')
jqry.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js')
jqry.setAttribute('type', 'text/javascript')
var jqui = document.createElement('script')
jqui.setAttribute('src', '//ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js')
jqui.setAttribute('type', 'text/javascript')
document.head.appendChild(jqry)
document.head.appendChild(jqui)

if (typeof jQuery == 'undefined') {
    alert('no jquery')
}

$... // codes using jquery
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-29 02:32:51

脚本正在异步加载。

听一听script元素的script事件,因为script在执行if-condition时并没有真正加载。

代码语言:javascript
复制
var jqry = document.createElement('script')
jqry.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js')
jqry.setAttribute('type', 'text/javascript');
document.head.appendChild(jqry)

jqry.onload = function() {
  if (typeof jQuery == 'undefined') {
    alert('no jquery')
  } else {
    alert('Loaded!');
    var jqui = document.createElement('script');
    jqui.setAttribute('src', '//ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js')
    jqui.setAttribute('type', 'text/javascript');
    document.head.appendChild(jqui);
    jqui.onload = function() {
      alert('jquery-ui Loaded!');
    }
  }
}

异步加载脚本的通用函数:

代码语言:javascript
复制
function loadScript(src, callback) {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = src;
  document.head.appendChild(script);
  script.onload = callback || function() {};
}
loadScript('https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js', function() {
  alert('jQuery Loaded!');
  loadScript('//ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js')
})

票数 2
EN

Stack Overflow用户

发布于 2016-05-29 02:40:38

试试这个:

代码语言:javascript
复制
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src","https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js");
document.getElementsByTagName("head")[0].appendChild(fileref);
代码语言:javascript
复制
<head></head>

代码语言:javascript
复制
var script   = document.createElement("script");
script.type  = "text/javascript";
script.src   = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js";
document.head.appendChild(script);
代码语言:javascript
复制
<head></head>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37505591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档