我正在尝试提高我的jQuery性能,我注意到它在Chrome中的运行速度比其他浏览器快.当它只是对PHP文件的AJAX调用时,它是否有意义?
为了测试它,我在一个click事件上这样做:
var startTime = new Date();
$.post("http://"+ document.domain + "action.json", { data: data},
function(dat){
console.log('ending: ', (new Date() - startTime) / 1000);
}
});
Run Code Online (Sandbox Code Playgroud)
以秒为单位的结果是:
可以在每个浏览器上访问控制台的开发工具是否会干扰此结果?
谢谢.
我注意到$.resize()jQuery 的事件在页面加载时被触发,而窗口没有任何实际的"调整大小",具体取决于浏览器.
它不仅被解雇一次,有时甚至两次.(在Chrome 30.0.1599.101 m中加载,在Opera中调整大小...)
这表现正常吗?在为所有浏览器加载网站时,有没有办法统一这种行为?
resize调整大小时我已经调用了一次(使用间隔),但这并没有解决在Chrome加载时触发事件的问题.
我无法创建一个复制此问题的小提琴,但您可以使用如下文件测试此行为:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(window).resize(function() {
alert("Fired!");
});
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
首次使用Chrome加载页面时,系统会触发此事件.任何刷新它都不会被触发.
执行时sudo jekyll serve我收到以下错误:
Users/myusername/.rvm/rubies/ruby-2.4.2/lib/ruby/site_ruby/2.4.0/rubygems.rb:271:in 'find_spec_for_exe': can't find gem jekyll (>= 0.a) (Gem::GemNotFoundException)
from /Users/myusername/.rvm/rubies/ruby-2.4.2/lib/ruby/site_ruby/2.4.0/rubygems.rb:299:in 'activate_bin_path'
from /Users/myusername/.rvm/gems/ruby-2.4.2/bin/jekyll:23:in '<main>'
from /Users/myusername/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in 'eval'
from /Users/myusername/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in '<main>'
Run Code Online (Sandbox Code Playgroud)
如果有帮助:
jekyll -v回报jekyll 3.6.2ruby -v回报ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin15]gem -v回报2.6.14bundle -v回报Bundler version 1.16.0在我的 Gem 文件中,我有:
红宝石'2.4.2'
rmv list输出:
ruby-2.3.5 [ x86_64 ]
=* ruby-2.4.2 [ x86_64 ]
# => - current
# =* - current && default
# * - …Run Code Online (Sandbox Code Playgroud) 为了加载Facebook或Twitter在他们的网站上的页面,向下滚动,我用jquery尝试了这个:
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
我在使用Firefox时遇到了麻烦.不适用于Chrome和Safari(IE尚未测试).
如果我在IF中使用"alert('xx')",Firefox会崩溃,我必须重新启动它.
我使用的是Mac版的Firefox,但我猜这不是一个重要的事实.
任何人都知道这里发生了什么?谢谢.
我刚刚注意到使用fullpage.js插件时Chrome 36.0.1933.0 m呈现的错误行为.
此错误未在以前版本的Chrome中发生过,也没有在任何其他浏览器中发生过.(IE,Opera,Firefox)
一些内容在动画后突然从网站上消失(它top通过使用jQuery 更改容器的属性).内容仍然存在于DOM结构中,我无法找到证明这种行为的理由.
我不知道究竟是什么原因造成的,为什么它只发生在网站的某些"部分"中.
要重现它,您可以在插件站点上执行此操作:
你也可以重现这个jsfiddle:
我的HTML5视频自动播放无效.
<video preload="auto" autoplay="true" loop="loop" muted="muted" volume="0" id="myVideo">
Run Code Online (Sandbox Code Playgroud)
我也试过没有="true"值,它也不起作用.我已经在其他网站上使用了相同的代码,它运行得很好.
我正在使用基于fullPage.js的框架,但我找了一些与文件相关的东西并没有找到任何东西.
该网站位于http://agenciamilk.com/site/2/,如果你想看看.谢谢
我在 Windows Server 2008 计算机的 IIS 7.5 上运行 PHP。
目前我fastCgi request timeout在 IIS 中设置为 90 秒。
但max_execution_timeinphp.ini设置为 30。
那样的话会发生什么呢?脚本是否会崩溃,但请求会保留在请求队列中,直到达到 90 秒后完成?
如何为mouseenter事件实现事件委托?
我正在寻找与此 jQuery 代码等效的代码,但无法理解 jQuery 如何在内部执行此操作:
$(document).on('mouseenter', '.demo', foo);
Run Code Online (Sandbox Code Playgroud)
我已经看到了关于它的另一个问题,但没有提供适当的解决方案。
我还阅读了有关 mouseenter和委托的Mozilla 文档,除了说它与任何浏览器都不兼容之外,他们提供的示例在 JS 控制台上抛出错误并且不起作用。
我还检查了这个 codepen,它也不适用于 Chrome(没有尝试其他浏览器)。
任何的想法?
到目前为止,这就是我正在尝试的,但target元素似乎总是冒泡:
document.addEventListener('mouseenter', function(e) {
console.log('==============================');
console.log(e.currentTarget); //document
console.log(e.target); //document
console.log(e.relatedTarget); //nothing
console.log(e.handleObj); //nothing
});
Run Code Online (Sandbox Code Playgroud)
你可以在这个 jsfiddle 中使用它。
我目前正在使用这样的东西:
gulp.task('js', gulp.series('js-a', 'js-b', 'js-c'));
Run Code Online (Sandbox Code Playgroud)
该任务js-c需要js-a首先js-b执行并生成 2 个文件,然后我将其合并到js-c.
但是,无论我是否使用gup-series,该函数js-c都会在创建前两个任务的两个文件之前执行。
我怎样才能告诉 gulp 系列等待那些?
我读过其他相关问题,但他们倾向于依赖外部脚本来完成此任务。setTimeout我通过添加on手动设法解决了这个问题js-b,但似乎是一个黑客解决方案。
有没有正确的方法可以用 gulp.series 来完成此任务?
为了让您了解上下文,该任务js-a如下所示:
var gp_concat = require('gulp-concat');
gulp.task('js-a', function(done) {
gulp.src([
'file1.js',
'file2.js'
])
.pipe(gp_concat('tmp.js'))
.pipe(gulp.dest('./'));
done();
});
Run Code Online (Sandbox Code Playgroud)
我现在被迫使用超时来解决这个问题:
setTimeout(function(){
done();
}, 500);
Run Code Online (Sandbox Code Playgroud) 似乎地图文件指向错误的文件.而不是demo.css它指向example.css,例如.
我想我做错了什么?
这是我的css任务如何为CSS缩小和连接定义的示例:
var gulp = require('gulp');
var rename = require('gulp-rename');
var sourcemaps = require('gulp-sourcemaps');
var uglify = require('gulp-uglify');
var minifyCss = require('gulp-clean-css');
var gp_concat = require('gulp-concat');
var size = require('gulp-size');
var path ={
css: './styles/',
dist: './dist/'
};
gulp.task('css', function() {
gulp.src([
'./bower_components/aaa.css',
path.css + 'demo.css',
path.css + 'example.css',
path.css + 'another.css'
])
.pipe(sourcemaps.init())
.pipe(gp_concat('combined.css'))
.pipe(gulp.dest(path.dist))
.pipe(minifyCss({
compatibility: 'ie8',
advanced: false,
keepSpecialComments: '1'
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(sourcemaps.write({
includeContent: false,
sourceRoot: '../styles'
}))
.pipe(gulp.dest(path.dist)) …Run Code Online (Sandbox Code Playgroud) javascript ×4
jquery ×4
fullpage.js ×2
gulp ×2
browser ×1
bundler ×1
css ×1
dom-events ×1
fastcgi ×1
firefox ×1
html5 ×1
html5-video ×1
iis ×1
jekyll ×1
jquery-1.8 ×1
jquery-post ×1
mouseenter ×1
npm ×1
performance ×1
php ×1
ruby ×1
rubygems ×1
rvm ×1