我想知道哪个是Javascript Date
对象允许的最小和最大日期.我发现最小日期是200000 bC,但我无法得到任何参考.
有人知道答案吗?我只是希望它不依赖于浏览器.
"epoch time"中的答案(= 1970-01-01 00:00:00 UTC + 00的毫秒数)将是最好的.
我正在尝试让我的一些图书馆使用触摸设备,但我很难弄清楚它们是如何被支持的以及它们是如何工作的.
基本上,有5个触摸事件,但似乎只有touchstart
事件(duh)在移动浏览器中有共识.我创建了一个小提琴作为测试用例.
我已经在我的Galaxy Note上使用Android 4测试了这个,但您也可以通过桌面浏览器检查链接.
目标是试图弄清楚如何处理水龙头,双水龙头和长水龙头.没有什么花哨.
基本上,这是发生的事情:
在Android的浏览器的股票不会触发触摸事件.它只是试图模仿鼠标点击,水龙头,射击mousedown
,mouseup
和click
事件连续,但双水龙头只是放大和缩小网页塔.
当手指触摸屏幕时,Chrome for Android会触发touchstart事件.如果它的发布很快,它触发那么mousedown
,mouseup
,touchend
最后click
事件.
在的情况下,长按后,在约半秒它激发mousedown
和mouseup
,和touchend
当手指抬起时,没有click
在结束事件.
如果你移动你的手指,它会发射touchmove
几次事件,然后它会发射一个touchcancel
事件,之后什么都不会发生,甚至touchend
在举起手指时都不会发生.
一双击触发/缩小功能变焦,但事件明智它触发组合touchstart
- touchevent
两次,发射没有鼠标事件.
火狐为Android正确触发该touchstart
事件,并在短击火灾的情况下mousedown
,mouseup
,touchend
和click
之后.
如果长时间点击,它会触发mousedown
,mouseup
最后 …
我正在尝试为我的应用程序创建一个插件系统,我想从简单的东西开始.每个插件都应该打包在.jar文件中并实现SimplePlugin
接口:
package plugintest;
public interface SimplePlugin {
public String getName();
}
Run Code Online (Sandbox Code Playgroud)
现在我创建了一个SimplePlugin
包装在.jar中的实现,并将其放在主应用程序的plugin /子目录中:
package plugintest;
public class PluginTest implements SimplePlugin {
public String getName() {
return "I'm the plugin!";
}
}
Run Code Online (Sandbox Code Playgroud)
在主应用程序中,我想获得一个实例PluginTest
.我尝试了两种方法,都使用了java.util.ServiceLoader
.
1.动态扩展类路径
这使用已知的hack在系统类加载器上使用反射来避免封装,以便添加URL
类路径.
package plugintest.system;
import plugintest.SimplePlugin;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Iterator;
import java.util.ServiceLoader;
public class ManagePlugins {
public static void main(String[] args) throws IOException {
File loc = new File("plugins");
extendClasspath(loc);
ServiceLoader<SimplePlugin> sl …
Run Code Online (Sandbox Code Playgroud) 我刚安装IE10在我的Windows 7,而且我发现,即使我很高兴,从AJAX请求个XML现在可以兼容DOM文档,就像一个相当基本的功能document.evaluate
是仍然不支持.
更糟糕的是,由于这些个XML是不是定制的微软IXMLDocument
对象,节点不支持selectNodes
和selectSingleNode
了.最后,似乎IE10不支持DOM Level 3 XPath或MSXML Xpath.
说真的,微软?有什么我想念的吗?
当然,我可以使用querySelector
和querySelectorAll
,但我不想失去相当多的向后兼容性.
否则,仍然可以使用此行请求MSXML文档
try {xhr.responseType = "msxml-document";} catch(e) {}
Run Code Online (Sandbox Code Playgroud)
如规定在这里,但我认为这将是很好对付,最后,在IE标准DOM文档了.
那么,有没有办法在IE10中使用带有标准DOM文档的XPath?
更新2013年6月26日 IE11尚未稳定,但仍然不支持document.evaluate
.如果它不支持它在稳定的版本,我怀疑它会永远支持它.毋庸置疑,这是荒谬的.
我知道你可以在DOM节点中使用querySelector
/ All
,但它在IE9及更低版本中不受支持,这仍然是非常常用的,无论如何XPath比选择器更强大.
幸运的是(如果可以这么说),你仍然可以设置xhr.responseType = "msxml-document"
.有那么一刻,我担心你再也不能那样做了......
更新23/11/2013 IE11现在稳定,但遗憾的是,它不支持document.evaluate
.随着重量级XML文档在Web应用程序中越来越少地使用JSON或其他光表示法格式,这变得不那么成问题了,但仍然如此.
设置responseType
属性仍然提供遗留的XML文档,所以我猜没有丢失.不过,我不知道IE12是否会成立.
更新15/8/2015现在听起来很荒谬,但Edge现在支持document.evaluate
.就在(几乎)一切都切换到JSON进行数据交换时.嗯,迟到总比没有好,我想.
注意:这个问题与Knockout.js无关,但它取决于元素的selectedOptions
属性<select>
.这是参考:
我认为这是Javascript开发人员的一个很好的功能.支持非常有限,但无论如何都在增长.Chrome,Opera和Safari应该已经支持它了.
问题是我无法弄清楚它是如何工作的.行为应该非常简单,产生所选选项的实时集合,但结果并非如此.您可以想象selectedOptions
每次用户选择一个选项时都会进行更改,对吗?错误.我准备了一个测试用例:
在这个例子中,Opera 11.64 总是返回所选择的第一个值,无论你做什么,而Chrome 21 dev和19 stable有一个奇怪的行为.执行以下步骤:
但是,如果您注释掉该console.log
行,则始终可以获得正确的输出.你可以在控制台和产量预期的行为,如果你换了两个指令,或者如果你的值存储在一个分隔的字符串,如本:
那么,我错过了什么selectedOptions
吗?依赖这个属性是否为时尚早,可能有一个错误的实现?是否console.log
在Chrome中创建了该问题?有什么我不知道HTMLCollection
的吗?
我没有安装Safari,有人可以检查一下它的行为吗?
UPDATE 18/2/2013:当事情发生了变化,我不知道,但两者的Chrome 24.0.1312.57和Opera 12.14,似乎现在的工作很好.Firefox 18.0.2和Internet Explorer 10仍然必须实现该属性.
更新2013年 9月17日:Firefox 24和IE 11预览仍然需要支持该属性.这是Firefox和IE8-11的简单解决方法:
Object.defineProperty(HTMLSelectElement.prototype, "selectedOptions", {
get: (function() {
try {
document.querySelector(":checked");
return function() {
return this.querySelectorAll(":checked");
};
} catch (e) {
return function() {
if (!this.multiple) {
return this.selectedIndex >= 0
? [this.options[this.selectedIndex]] : …
Run Code Online (Sandbox Code Playgroud) 是的,我知道,很难相信这些FTP服务器仍然存在,但它们确实存在.IBM iSeries机器运行此类服务器.
我已经有涉及一个答案ftp_nlist
和in_array
,但正如一些你可能已经猜到了,这是缓慢的,当一个目录中包含了大量的项目.
由于缺乏对SIZE的支持,fopen
在读取模式下使用时总是会失败(请记住x
FTP包装器不支持),而ftp_size
总是返回-1
(预期)并且file_exists
总是返回false
(可能因为它在内部使用SIZE?).
ftp_get
并且ftp_fget
做到这一点,但是如果它存在,他们会下载整个文件.不是很好.一种可能的解决方案是使用ftp_fget
传递仅在读取模式下打开的文件的处理程序,并捕获引发的警告.当文件不存在时它会有所不同,但这个解决方案感觉粗鲁,我真的不知道它是否可行(也许有人可以给出一个例子).
另一种解决方案使用ftp_nb_get
/ ftp_nb_fget
来尝试检索文件.如果函数返回0
(FTP_FAILED
),则该文件可能不存在.我仍然需要处理一个临时的本地文件,如果FTP_MOREDATA
返回(或者无法发出其他FTP命令),它很难关闭并重新打开连接 .
你对此有什么想法吗?
我刚刚开始使用LibreOffice的4.0.1 UNO SDK开发一个Java项目,aaaand ...我在开始时几乎陷入困境.如果我使用OpenOffice.org而不是LibreOffice,我认为同样适用,所以任何帮助都表示赞赏.
我正在使用Eclipse Juno 4.2,我创建了一个类似"Hello World"的项目.我将/program
目录添加到类路径(添加为外部类文件夹),并在此行代码的开头
XComponentContext ctx = Bootstrap.bootstrap();
Run Code Online (Sandbox Code Playgroud)
UnsatisfiedLinkError
使用以下堆栈跟踪抛出异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpipe in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.sun.star.lib.util.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:50)
at com.sun.star.lib.connections.pipe.PipeConnection.<clinit>(PipeConnection.java:48)
at com.sun.star.lib.connections.pipe.pipeConnector.connect(pipeConnector.java:110)
at com.sun.star.comp.connections.Connector.connect(Connector.java:114)
at com.sun.star.comp.urlresolver.UrlResolver$_UrlResolver.resolve(UrlResolver.java:108)
at com.sun.star.comp.helper.Bootstrap.bootstrap(Bootstrap.java:301)
at xx.test.unotest.UnoTest.main(UnoTest.java:16)
Run Code Online (Sandbox Code Playgroud)
甚至try/catch
围绕指令,但它没有被触发.
关于开始使用UNO,我找不到合适的文档,所以我不知道出了什么问题.安装SDK并配置环境变量.
我错过了什么吗?
编辑:我使用Windows 7 64位.也许这与问题有关.
我问,因为我完全不知道我做了正确的事情.我正在使用Eclipse进行Web项目.我们在包中称它为WebProject(duh)com.web.project
.
我希望WebProject在运行时加载JAR插件,所以我想我可以利用它java.util.ServiceLoader
.所以我com.web.project.WebProjectPlugin
在WebProject项目中创建了一个接口,其中包含插件必须实现的所有方法.
然后我创建了项目PluginProject,在其Build路径中将WebProbject/build/classes添加为类文件夹:
package com.web.project.plugin;
import com.web.project.WebProjectPlugin;
public class TestPlugin implements WebProjectPlugin {
// Implementation of the interface methods...
}
Run Code Online (Sandbox Code Playgroud)
然后我在插件项目中创建了一个META-INF/services文件夹,将文本文件com.web.project.WebProjectPlugin
放在里面,包含唯一的行"com.web.project.plugin.TestPlugin".
我导出了JAR文件,检出了添加的build/classes文件夹并将其放在硬盘中的某个位置.当WebProject启动时,它会执行以下操作:
File[] jlist = pluginsDir.listFiles(new FileFilter() {
public boolean accept(File file) {
return file.getPath().toLowerCase().endsWith(".jar");
}
});
URL[] urls = new URL[jlist.length];
for (int i = 0; i < jlist.length; i++)
urls[i] = jlist[i].toURI().toURL();
URLClassLoader ucl = new URLClassLoader(urls);
ServiceLoader<WebProjectPlugin> srvl =
ServiceLoader.load(WebProjectPlugin.class, ucl);
Iterator<WebProjectPlugin> iter = srvl.iterator();
while (iter.hasNext()) …
Run Code Online (Sandbox Code Playgroud) 我有一个自己的文本编辑器,可以让你改变一个textarea
元素的部分.我想调整它以使用span元素.我对跨度没有特别的依恋.目标只是让某人编辑html而不是textarea.我在IE中工作正常但是遇到了Mozilla的一些问题.
因为我使用的是span而不是表单输入,所以我使用的是innerHTML
代替值.但是,我似乎无法获得selectionStart
和selectionEnd
函数innerHTML
相反的工作value
.
这是textarea
代码工作正常....
HTML
<textarea id="textarea>Some text goes here</textarea><a href="javascript:void() onclick="editText">edit</a>
Run Code Online (Sandbox Code Playgroud)
JS
function editText() {
var len = displaytext.value.length;
var start = displaytext.selectionStart;
var end = displaytext.selectionEnd;
var sel = displaytext.value.substring(start, end); returns selection ok
alert(sel);
}
Run Code Online (Sandbox Code Playgroud)
但是,以下适应不限制选择的开始和结束.
HTML
<span id="textarea>Some text goes here</span><a href="javascript:void() onclick="editText">edit</a>
Run Code Online (Sandbox Code Playgroud)
JS
function editText() {
var len = displaytext.innerHTML.length; //works ok
var start = displaytext.selectionStart; //does not seem to work
var …
Run Code Online (Sandbox Code Playgroud)