我一直在关注JSONPath,虽然看起来做得很好,但我想知道是否有人使用它并且可以对其可用性发表评论,还是可以推荐替代品?什么是真正的光滑,如果有jQuery的一个插件,不喜欢的东西,这是.我一直在搜索插件并空手而归.无论如何,在我花时间去了解JSONPath(其中有一些我不热衷的方面),或者在我重新发明轮子之前,我想我会看到是否有人对此有所了解......
为了让您了解我的意思,想象一下这个Javascript对象:
var Characters=[
{
id: "CuriousGeorge",
species:"Monkey",
mood: "curious",
appendage: [
{
type: "hand",
side: "left",
holding: [
{ id: "Banana" }
]
},
{
type: "hand",
side: "right",
holding: []
},
{
type: "foot",
side: "left",
holding: []
},
{
type: "foot",
side: "right",
holding: [
{ id: "YellowHat" },
{ id: "Keys" }
]
}
]
},
{
id: "ManInYellowHat",
species: "Human",
mood: "angry",
//...ok, you get it...
}
]
Run Code Online (Sandbox Code Playgroud)
用Jquery选择器之类的东西来获取一些更深层次的对象不是很好吗?
var banana=SomeUtility("Characters holding #Banana").get(0); …Run Code Online (Sandbox Code Playgroud) 据我所知,JCrop不会让我进行设置,因此用户可以在实际图像之外裁剪并包含周围的空白.有没有办法做到这一点?
为了帮助解释我的意思,我们说我们将我们的作物限制在16:9的比例.这适用于具有自然宽广主题的图像:

但有时用户想要使用的源图像并不能轻松适应所需的比例:

相反,我们希望通过使裁剪区域大于图像本身来允许它们在图像外部包含空间:

我一直在搞乱JCrop并查看手册和Google一段时间,看起来这不可能(不修改JCrop).我错了吗?如果是这样,你怎么做?
FWIW,在这种情况下的实际图像将是产品/组织徽标图像,其具有各种各样的宽高比,并且几乎总是人们可用的图像在文本/图像周围几乎没有空白.这意味着限制在图像边界的任何固定宽高比裁剪几乎肯定会切断图像的顶部+底部或左侧+右侧.
我希望能够使用HTML5视频标记播放特定时间的视频(目前只需要担心Chrome).这可以通过设置视频元素的currentTime属性来实现.这在Chrome中使用来自html5rocks.com的视频效果很好,但是当从我自己的本地网络服务器加载相同的文件时会被忽略.
使用http://playground.html5rocks.com/#video_tag中的示例代码,我得到了以下HTML:
<!DOCTYPE html>
<html>
<body>
<video id="video1" width="320" height="240" volume=".7" controls preload=true autobuffer>
<source src="http://playground.html5rocks.com/samples/html5_misc/chrome_japan.webm" type='video/webm; codecs="vp8, vorbis"'/>
</video>
<input type=button onclick="play()" value="play">
<input type=button onclick="setTime()" value="setTime">
<input type=button onclick="pause()" value="pause">
<script>
var play=function() {
document.getElementById("video1").play();
}
var setTime=function() {
document.getElementById("video1").currentTime=2;
}
var pause=function() {
document.getElementById("video1").pause();
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果你使用Chrome
...视频将在2秒后开始播放.
但是,如果我将源src中的webm文件下载到我的本地Web服务器,并将src更改为本地指向:
<source src="chrome_japan.webm" type='video/webm; codecs="vp8, vorbis"'/>
Run Code Online (Sandbox Code Playgroud)
...然后设置currentTime完全被忽略.开发人员工具控制台中未显示任何错误.
现在,我的网络服务器使用mime类型"video/webm"提供服务,但它将像任何旧文件一样提供 - 不流式传输.
我是否需要以某种特定方式流式传输的网络服务器?还有什么可能是错的?
注意:Web服务器是一个专有平台,不会有任何与Tomcat或其他常用Web服务器相同的设置或控制,尽管可能有其他方法可以实现相同的效果.
请考虑以下代码(http://jsfiddle.net/FW36F/1/):
<input type="checkbox" onchange="alert(this.checked)">
<button onclick="document.getElementsByTagName('input')[0].checked=!document.getElementsByTagName('input')[0].checked;">toggle</button>
Run Code Online (Sandbox Code Playgroud)
如果单击该复选框,则会收到一条警告,告知您是否已选中.大.但是,如果单击切换按钮,则复选框会更改其已检查状态,但不会触发onchange事件.
实质上,只有当用户实际单击复选框时,才会触发复选框的onchange,而不是通过JavaScript更改复选框.在IE,FF和Chrome中都是如此.看来这种行为也适用于规范.
但是,如果由于任何原因,复选框的选中状态发生变化,我真的需要触发某种事件.这可能吗?
哦是的,jQuery是不允许的.请不要基于setTimeout/setInterval的解决方案......
更新:此外,我应该说清楚上面的代码仅用于说明.在实际代码中,我们需要确保选中或取消选中复选框的状态 - 而不仅仅是切换它.也许这将是更好的代码来说明:
<input type="checkbox" onchange="alert(this.checked)">
<button onclick="document.getElementsByTagName('input')[0].checked=true;">check</button>
<button onclick="document.getElementsByTagName('input')[0].checked=false;">un check</button>
Run Code Online (Sandbox Code Playgroud)
此外,在我们无法完全控制的其他区域中可能存在代码,这可能只是简单的.checked = true/false - 我们也希望确保我们也能看到它.
(为了避免因为过于本地化而关闭,我选择Ꙭ作为示例,但这也适用于许多其他角色)
字符Ꙭ是\ uA66C或十进制42604(http://unicodinator.com/#A66C).我在使用Java的Character类时看到了一些我无法理解的非常奇怪的东西.
1) Character.isLetter('?');//won't compile, complains 'unclosed character literal'
2) Character.isLetter("?".charAt(0)); //returns true, which is right
3) Character.isLetter(42604);//returns false
4) Character.isLetter('\uA66C');//returns false
5) "?".codePointAt(0);//returns 205? 205 is Í http://unicodinator.com/#00CD
6) ("?".charAt(0)==(char)42604) //is false
Run Code Online (Sandbox Code Playgroud)
除了#2之外的所有东西对我来说都没有意义.这个字符在BMP中,而不是从\ uD800到\ uDFFF,所以代理不应该有任何复杂性.看来我在这里错过了一些关键概念......
我在AS/400/iSeries/System-I /无论什么样的IBM-want-me-to-call-it-these-days中的库中有一组文件,我没有DDS(在SQL中创建)聚集)但我想添加字段描述.我无法在400上找到这样做的方法.
有谁知道如何添加字段描述?是否直接更新SYSIBM.SQLCOLUMNS以设置COLUMN_TEXT安全?
(我不是在这里寻找一般的SQL答案,只是DB2/400的具体答案.不幸的是,鉴于IBM对这个平台的重新命名以及他们选择的非google-able名称,几乎不可能找到答案(或者特别是为了证明这一点)没有答案)这些问题没有花费多年时间查看那些大量的,难以理解的文档)
在一个简单的基于Ajax的网站中,我们正在同步地发出一些HttpRequests请求(我意识到"同步Ajax"在某种程度上是矛盾的).这是同步和异步完成的主要原因是为了简化一些参与者的编程模型(长篇大论).
无论如何,我们希望能够在发出请求之前进行样式更改(特别是在Google搜索时使用半透明白色覆盖屏幕),然后在结果返回时将其删除.基本上这看起来像:
load:function(url) {
....
busyMask.className="Shown"; //display=block; absolute positioned full screen semi-transparent
var dta=$.ajax({type:"GET",dataType:"json",url:url,async: false}).responseText;
busyMask.className="Hidden"; //sets display=none;
...
return JSON.parse(dta);
}
Run Code Online (Sandbox Code Playgroud)
众所周知,同步请求将锁定UI.所以毫不奇怪,白色叠加层从未出现在Safari和Chrome中(有趣的是在Firefox中).我已经尝试减慢响应速度并使用粉红色叠加层,这样很明显,但它只是在请求完成之后才会更新UI.离开'busyMask.className ="Hidden"'部分会显示掩码 - 但只有在ajax请求完成后才会显示.
我已经看到许多强制UI重绘的技巧(例如,为什么HourGlass不能在Google Chrome中使用同步AJAX请求?,http://ajaxian.com/archives/forcing-a-ui-redraw-from-javascript) ,但它们似乎都与尝试显示实际的"永久"DOM或样式更新有关,而不是在发出同步请求时暂时显示样式更改.
那么有没有办法做到这一点,还是我正在打败一场失败的战斗?可能我们只需要根据具体情况切换到异步请求,以处理性能最差的请求,这可能是解决学习曲线问题的一种不错的方法......但我希望有一个外部的方框在这里回答.
我已经按照几组不同的在线说明创建了一个 npm 包。这是我所拥有的:https : //github.com/joelarson4/CharFunk/blob/master/package.json
当我执行 an 时npm publish,我得到一个单独的输出换行符(没有错误,没有任何东西)。但据我所知,我的包不在 npmjs.org 上。 https://www.npmjs.org/package/CharFunk是一个错误页面。
我怎样才能弄清楚我错过了什么?
在Javascript中,有没有办法(幸存国际化)确定一个字符是字母还是数字?这将正确识别Ä,ç作为字母和非英文数字(我不会将其视为示例)!
在Java中,Character类具有一些静态方法.isLetter(),. isDigit(),. isLetterOrDigit(),用于以国际上合适的方式确定char实际上是字母或数字.这比代码更好
//this is not right, but common and easy
if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')) { //it's a letter
Run Code Online (Sandbox Code Playgroud)
因为它会收取非英文字母.我认为C#具有类似的功能......
当然,在最坏的情况下,我可以将字符串发送回服务器进行检查,但这很痛苦......
当然,最后我想检查输入是否是有效名称(以字母开头,其余为字母或数字).小批量使用的可能性可能是:
var validName=function(atr) {
var ele=document.createElement("div");
try { ele.setAttribute(atr,"xxx"); }
catch(e) { return false; }
return true;
}
Run Code Online (Sandbox Code Playgroud)
这在IE,FF和Chrome中测试相当不错......虽然可能需要进行彻底的测试来确定答案的一致性.而且,由于元素创建,不适合重载使用.