我有一些<script>元素,其中一些元素依赖于其他<script>元素中的代码.我看到这个defer属性可以在这里派上用场,因为它允许在执行时推迟代码块.
为了测试它我在Chrome上执行了这个:http://jsfiddle.net/xXZMN/.
<script defer="defer">alert(2);</script>
<script>alert(1)</script>
<script defer="defer">alert(3);</script>
Run Code Online (Sandbox Code Playgroud)
但是,它提醒2 - 1 - 3.为什么不提醒1 - 2 - 3?
我有以下HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/blazy/1.8.2/blazy.min.js" defer></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js" integrity="sha256-8WqyJLuWKRBVhxXIL1jBDD7SDxU936oZkCnxQbWwJVw=" crossorigin="anonymous" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.9.0/js/lightbox.min.js" defer></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous" defer></script>
<!-- 26 dec flexslider js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.6.3/jquery.flexslider.min.js" defer></script>
<script defer>
(function($) {
$(document).ready(function() {
//do something with b-lazy plugin, lightbox plugin and then with flexslider
});
})(jQuery);
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,说没有定义jQuery.现在,即使我从我的内联JS代码中删除defer,它也说jQuery是未定义的.出于某种原因,我必须将jQuery插件保留在头部并保持我的JS代码内联.我的问题是:
为什么内联Javascript代码在defer属性存在时不会延迟?
有没有办法模仿我的内联Javascript代码的延迟行为?如果需要,我可以将它放在body标签的末尾.
有没有办法在Rails中defer使用javascript_include_tag帮助器轻松添加属性?
即,有一些简单的方法可以转向
<%= javascript_include_tag "blah.js" %>
成
<script defer src="blah.js"></script>
javascript ruby-on-rails deferred-execution ruby-on-rails-3 ruby-on-rails-3.1
找出哪些.net框架linq方法(例如.IEnumerable linq方法)使用延迟执行而不是使用延迟执行实现的最快方法是什么.
虽然编码很多次,但我想知道这个是否会以正确的方式执行.找出答案的唯一方法是访问MSDN文档以确保.会不会有更快的方式,任何目录,网络上的任何列表,任何备忘单,你可以分享的任何其他技巧?如果是,请这样做.这将有助于许多linq新手(像我一样)减少错误.唯一的另一个选择是检查文档,直到一个人使用它们足以记住(这对我来说很难,我往往不记得在某处记录的"任何东西",可以查找:D).
我知道你可以定义init在任何包中调用的函数,这些函数将在之前执行main.我用它来打开我的日志文件和我的数据库连接.
有没有办法定义程序结束时要执行的代码,因为它到达main函数的末尾或因为它被中断了?我能想到的唯一方法是terminate在main使用的每个包上手动调用deffered 函数,但这非常冗长且容易出错.
如果我在一个锁定语句中有一个收益率回报,锁定会在每个收益率上取消(在下面的例子中为5次),或者只对列表中的所有项目取消一次?
谢谢
private List<string> _data = new List<string>(){"1","2","3","4","5"};
private object _locker =new object();
public IEnumerable<string> GetData()
{
lock (_locker)
{
foreach (string s in _data)
{
yield return s;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个关于延期执行和数据处理的问题.
请考虑以下示例:
private IEnumerable<string> ParseFile(string fileName)
{
using(StreamReader sr = new StreamReader(fileName))
{
string line;
while((line = sr.ReadLine()) != null)
{
yield return line;
}
}
}
private void LineReader(string fileName)
{
int counter = 0;
foreach(string line in ParseFile(fileName))
{
if(counter == 2)
{
break; // will this cause a dispose on the StreamReader?
} else
{
Console.WriteLine(line);
counter++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
请问break声明立即引起读者ParseFile处置,或者它仍然在上下文中考虑,并锁定该文件打开,直到程序本身被关闭?
我正在尝试为以下场景实现jQuery Deferred.pipe()方法:
这是我尝试过的东西:
var addUserSuccess = function( data ) {
if ( data.returnCode !== "success" ) {
return $.Deferred().reject('Error saving user');
}
getUsers();
}
var addUser = function() {
return $.ajax(url, {
type: "POST",
data: { username: 'test' },
contentType: "application/json",
dataType: "json"
});
}
var displayUsers = function( data ) {
$('#myTmpl').tmpl(data.d).appendTo('#myDiv');
}
var getUsers = function () {
return $.ajax(url, {
type: "GET",
data: {},
contentType: "application/json",
dataType: "json"
});
}
$.when(addUser()).pipe(addUserSuccess).then(displayUsers) …Run Code Online (Sandbox Code Playgroud) 我一直在使用GWT进行一些Web应用程序编程,并且被术语"浏览器事件循环"搞糊涂了.
我遇到过需要执行延迟命令并在浏览器事件循环完成后"执行某些操作"的情况.
我想知道它究竟是什么以及在事件循环过程中发生了什么以及以什么顺序?
我有一个Ant构建文件,我尝试使用以下命令在命令行中执行它:
$ C:\Program Files (x86)\.....>ant -f C:\Silk4J\Automation\iControlSilk4J\build.xml
Run Code Online (Sandbox Code Playgroud)
但没有任何反应,结果是:
BUILD SUCCESSFUL
Total time: 0 seconds
Run Code Online (Sandbox Code Playgroud)
我的环境变量是正确的.
问题是什么?这是我的构建文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
Any modifications will be overwritten.
To include a user specific buildfile here, simply create one in the same
directory with the processing instruction <?eclipse.ant.import?>
as the first entry and export the buildfile again. -->
<project basedir="." default="build" name="iControlSilk4J">
<property environment="env"/>
<property name="ECLIPSE_HOME" value="../../../Program Files (x86)/Silk/SilkTest/eclipse"/>
<property name="junit.output.dir" value="junit"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.6"/>
<property …Run Code Online (Sandbox Code Playgroud)