首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome控制台行为

问Chrome控制台行为
EN

Stack Overflow用户
提问于 2016-09-22 15:46:45
回答 1查看 56关注 0票数 0

我通过控制台jquery注入:

代码语言:javascript
复制
var jq = document.createElement('script');

jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";

document.getElementsByTagName('head')[0].appendChild(jq);

jQuery.noConflict();

然后我使用一些jquery命令

代码语言:javascript
复制
$('.first').position()
document.elementFromPoint(xPosition, yPosition).click();

模拟后,在浏览器中点击页面,重新加载。而且$('.first')总是返回[];但是在页面上有很多带有'first‘类的标签。看起来控制台正在等待更新?不然呢?

EN

回答 1

Stack Overflow用户

发布于 2016-09-23 05:00:10

appendChild正在将一个脚本元素加载到DOM中,然后该脚本标记将下载设置为其src属性的文件。但是这个下载需要时间。它是异步的。

代码语言:javascript
复制
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);

因此,当您尝试在javascript中立即访问jQuery时,该文件尚未下载。想象一下,下载文件花了一个小时。在使用该代码之前,您需要等待文件已完成下载的通知。有许多方法可以考虑这一点,比如使用间隔来检查全局变量是否存在,但我认为最简单的方法是使用onload事件。

代码语言:javascript
复制
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
jq.onload = function(){
  //do stuff using jquery
}
document.getElementsByTagName('head')[0].appendChild(jq);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39633196

复制
相关文章

相似问题

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