当某个事件发生时,我希望我的网站向用户播放简短的通知声音.
声音应该不自动启动(瞬间)当网站被打开.相反,它应该通过JavaScript按需播放(当某个事件发生时).
重要的是,这也适用于旧浏览器(IE6等).
所以,基本上有两个问题:
<embed>
vs. <object>
vs. vs. vs. <audio>
)我正在css3实验中移动6000个小div元素,使用从top: 0
转换top: 145px
到测试性能.
在谷歌浏览器上使用无硬件加速运行平稳.
如果我通过translateZ(0)
性能启用硬件加速变得可怕.
为什么会这样?
这是我的示例代码:http://dl.dropboxusercontent.com/u/17844821/tmp/hwtest.html
更新(2014-11-13):由于这个问题仍然引起人们的注意,我想指出问题本身似乎仍然存在,尽管在现代硬件上提供的演示中,所提到的口吃可能不再可见.较旧的设备可能仍然会出现性能问题.
我正在运行Ubuntu服务器版,我想采取Tomcat的线程转储.
所以,我首先尝试找出哪个PID tomcat使用:
$ jps -l
5809 sun.tools.jps.Jps
Run Code Online (Sandbox Code Playgroud)
但它不在那里?
所以,我用了之后top
发现了PID 5730.
然后我调用jstack来获取线程转储:
$ sudo jstack -l 5730
5730: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?:-(
我已经尝试按照Jstack中的描述导出CATALINA_TMPDIR,并且Jstat停止使用升级到JDK6u23但是没有改变任何东西:
$ export CATALINA_TMPDIR=/tmp
$ sudo /etc/init.d/tomcat6 restart
* Stopping Tomcat servlet engine tomcat6
...done.
* Starting Tomcat servlet engine tomcat6
...done.
$ sudo jstack -l 5934 // …
Run Code Online (Sandbox Code Playgroud) 我使用以下代码动态创建iframe.
var iframe_jquery = $("<iframe>")
.addClass("foo")
.appendTo(container); // container is a jQuery object containing a <div> which already exists
Run Code Online (Sandbox Code Playgroud)
然后,我想访问其contentWindow,但它是null:
var iframe = iframe_jquery.get(0);
if (iframe){ // iFrame exists
console.log(iframe.contentWindow); // Prints "null"
var doc = iframe.contentWindow.document; // NullpointerException
}
Run Code Online (Sandbox Code Playgroud)
所以我想:"也许iframe尚未准备好了吗?" 所以我尝试过:
iframe_jquery.ready(function(){
var iframe = iframe_jquery.get(0);
console.log(iframe.contentWindow); // Prints "null"
var doc = iframe.contentWindow.document; // NullpointerException
});
Run Code Online (Sandbox Code Playgroud)
结果相同.
怎么了?
我想在ES6中缩短对象文字,如下所示:
const loc = this.props.local;
Run Code Online (Sandbox Code Playgroud)
原因是loc.foo();
打字要容易得多this.props.local.foo();
但现在ESLint抱怨说:
使用对象解构:prefer-destructuring
我已经阅读了eslint.org上的错误说明,但我不明白.他们有一个看起来与我的代码非常相似的例子,但他们似乎没问题?
var foo = object.bar;
Run Code Online (Sandbox Code Playgroud)
如何在不将.eslintrc
文件设置为忽略的情况下修复错误?
我用iOS和Android的jQueryMobile创建了一个网站.
我不希望文档本身滚动.相反,只有一个区域(一个<div>
元素)应该是可滚动的(通过css属性overflow-y:scroll
).
所以我通过以下方式禁用文档滚动:
$(document).bind("touchstart", function(e){
e.preventDefault();
});
$(document).bind("touchmove", function(e){
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
但是,无论是否overflow:scroll
设置,这也将禁用文档中所有其他元素的滚动.
我怎么解决这个问题?
基本上,我有相同的问题描述如何在Android上实现我自己的URI方案
给出的答案对我有用.当自定义url被称为MyUriActivity's
方法onCreate
并被onStart
调用时.
但
如何从内部访问get参数MyUriActivity
?
例:
myapp://path/to/what/i/want?d=This%20is%20a%20test
在MyUriActivity
我需要读取get参数的值d
.
我怎么做?
我注意到我的java应用程序(在tomcat6上运行)产生了许多不终止的线程.
所以我创建了一个线程转储,并注意到有大量的线程在等待,如下所示:
"pool-1-thread-22" prio=5 tid=101b4b000 nid=0x127122000 waiting on condition [127121000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <6c340cee0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:680)
Locked ownable synchronizers:
- None
Run Code Online (Sandbox Code Playgroud)
现在的问题是:这些线程在等什么?我怀疑类似乎产生了这些线程,但我不知道究竟是什么让这些线程卡住了.
我有什么办法可以找到原因,除了逐行撕开类并保持监视线程行为?
昨天我与我们的一位开发人员就MVC进行了一些讨论,更准确地说是模型组件在MVC中的作用.
在我看来,模型应该只包含属性而几乎没有功能,因此模型类中的方法尽可能少.
我的同事虽然认为模型可以而且应该具有更多功能并提供更多功能.
这是我们争论的一个例子.
例1
假设我们想创建一个博客.博客有文章和标签.每篇文章可以有多个标签,每个标签可以属于多个文章.所以我们在这里有关系.
在伪代码中它可能看起来像这样:
class Article{
public int id;
public String title;
public String content;
public Tag[] tags;
// Constructor
public void Article(id, title, content, tags){
this.id = id;
this.title = title;
this.content = content;
this.tags = tags;
}
}
class Tag{
public int id;
public String name;
// Constructor
public Tag(id, name){
this.id = id;
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,假设我们正在松散耦合这里意味着我们可能会发生一个没有标签的文章实例,所以我们将使用Ajax调用(对于我们的后端,它有一个包含所有信息的数据库)获取属于我们文章的标签.
这是棘手的部分.我相信通过Ajax + JSON获取后端数据应该是控制器的工作,使用专用类,使用解析器处理ajax请求:
class MyController{
private void whatever(articleID){
Article article = (Article) ContentParser.get(articleID, ContentType.ARTICLE);
doSomethingWith(article); …
Run Code Online (Sandbox Code Playgroud) 我们确实有一个提交钩子来强制执行遵循配置约定的消息:
包.json
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-commit": "yarn format:check",
"pre-push": "yarn run test"
}
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
],
"rules": {
"scope-case": [
0,
"always",
"pascal-case"
]
}
},
Run Code Online (Sandbox Code Playgroud)
但是,如果我将 PR 与挤压策略合并(通过 github Web ui),则可能会隐藏提交消息,因为此处未强制执行该策略:
feat: [TICKET-209] add completion tests
Added build instructions to README.md <-- Added via squash
feat: [TICKET-208] improve tests
Run Code Online (Sandbox Code Playgroud)
GitHub 历史记录的这一部分是通过挤压添加第二行的结果,因此没有被检查/拒绝。
有没有解决方案可以拒绝通过 github Web ui 上的挤压添加的无效提交消息?
javascript ×4
css3 ×2
html ×2
java ×2
android ×1
audio ×1
css ×1
dom ×1
ecmascript-6 ×1
eslint ×1
git ×1
github ×1
html5 ×1
html5-audio ×1
iframe ×1
jstack ×1
scroll ×1
thread-dump ×1
url ×1
url-scheme ×1