Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
等待Modernizer从用户脚本加载jQuery_Jquery_Greasemonkey_Userscripts_Modernizr - Fatal编程技术网

等待Modernizer从用户脚本加载jQuery

等待Modernizer从用户脚本加载jQuery,jquery,greasemonkey,userscripts,modernizr,Jquery,Greasemonkey,Userscripts,Modernizr,我正在开发一个GoogleChrome用户脚本,它增强了一个通过下载的站点 我将使用站点的jQuery实例,但用户脚本在jQuery加载之前开始执行 是否有一种确定的方法可以从Greasemonkey脚本或userscript截取Modernizer的load()/完成机制 或者在window中轮询窗口[jQuery]/中的“$”等是否是唯一的解决方案 (我试图避免加载我自己的jQuery实例,在轮询过程中,我有时会错过我想要截取的文档的第一次更改。)我不确定你想做什么,但下面的脚本可能会帮助你

我正在开发一个GoogleChrome用户脚本,它增强了一个通过下载的站点

我将使用站点的jQuery实例,但用户脚本在jQuery加载之前开始执行

是否有一种确定的方法可以从Greasemonkey脚本或userscript截取Modernizer的
load()
/
完成机制

或者在window
中轮询
窗口[jQuery]
/
中的“$”等是否是唯一的解决方案


(我试图避免加载我自己的jQuery实例,在轮询过程中,我有时会错过我想要截取的文档的第一次更改。)

我不确定你想做什么,但下面的脚本可能会帮助你。它将延迟html页面中的任何内联脚本,并将在Modernizer返回时加载所有脚本后执行

在现代化加载功能之前定义以下行

docready=[],$=function(){return{ready:function(fn){docready.push(fn)}}},
在Modernizer加载完成时编写以下脚本

$ = jQuery;
jQuery(document).ready(function() {
    for(n in docready) docready[n]();
});

听起来您需要等待window.onload,当所有内容都已加载时,它将触发


文档结束和文档空闲都保证在解析整个DOM之后运行,这是脚本开发人员感兴趣的常见事情。如果出于某种原因确实需要在window.onload之后运行脚本,可以检查document.readystate属性。如果它是“完成的”,那么您可以假定发生了onload。如果不是,那么您可以监听onload。

如何在用户脚本中“在modernizer load函数之前定义一行”?所有的Modernizer代码都在第三方网站上,我无法更改其代码。也许我只是误解了什么。在你加载Modernizer脚本之前,在你的用户脚本中。也许我没有明确说明我没有在我的用户脚本中加载Modernizer,第三方站点通过其
中的传统
标记直接加载它。我感觉该站点只有在获得
onload
后才开始加载jQuery,但我会回去检查一下。谢谢…遗憾的是,我现在只能偶尔上网,所以我还没有回到这一点,我的代码仍然使用轮询,到目前为止仍然有效,但它的不确定性仍然困扰着我。啊,没错。我期待着看到你的想法:)