草庐IT

javascript - 匹配所有以四个空格为前缀的行

我试图用pre标签包装所有以4个空格字符为前缀的行。这是我目前所拥有的Text=Text.replace(newRegExp("({4}.+?)","g"),"$1\n");Text=Text.replace(newRegExp("({4}.+?)\n","g"),"$1");它可以工作,但它会将每一行都包装在pre中。我需要它来包裹整个街区。 最佳答案 也许这样的事情会奏效?它连续匹配多行..({4}.*(\n{4}.*)*)\n 关于javascript-匹配所有以四个空格为前缀的行

javascript - 是否可以将 Range 对象设置为 "backwards selection"?

我创建一个Range对象,然后将这个Range添加到选择中window.getSelection().addRange(myRange);如何设置选择方向?我的意思是可以使用选择的anchorNode、anchorOffset、focusNode和focusOffset属性来检查方向。 最佳答案 您可以在支持extend()的浏览器上执行此操作(MDN)Selection对象的方法。Mozilla、WebKit和Opera支持它;IE不包括版本11。extend()已添加到HTMLEditingAPIsspec所以它可能还会出现在I

javascript - 将 d3.js SVG 代码转换为独立程序——有什么建议吗?

我有一些用d3.js编写的生成SVG图表的脚本。我想用独立程序生成这些图表——我可以将这些脚本转换为在批处理模式下运行而无需浏览器的最简单方法是什么? 最佳答案 你可以:将其转换为node.js程序。您将有权访问文件系统,并且能够轻松保存生成的SVG。你需要node-canvas替换HTMLCanvas。参见thisd3example开始将d3与节点一起使用。您可以将Chrome中的文件系统API与现有脚本一起使用,以将文件写入硬盘。这可能更容易,因为您只需要在已有的基础上实现文件系统代码。参见thishtml5rocksartic

javascript - 如何使用 CoffeeScript 将 IPv4 转换为整数?

在CoffeeScript中,我如何将IP(标准IPv4127.0.0.1)转换为整数?编辑:这里有很多很好的答案,谢谢大家! 最佳答案 编辑:CoffeeScriptipStringToInteger=(x)->res=0(res=res*256+Number(y)foryinx.split("."))res编译为varipStringToInteger;ipStringToInteger=function(x){varres,y,_i,_len,_ref;res=0;_ref=x.split(".");for(_i=0,_len

javascript - 在 Opera 中获取以像素为单位的计算宽度

如何在Opera中获取元素的计算宽度?在其他浏览器中我可以这样做://getComputedStylewrapperfunctiongetStyle(element,styleProp){returnelement.currentStyle?element.currentStyle[styleProp]:getComputedStyle(element,null).getPropertyValue(styleProp);}...但这只适用于Opera。它为很多东西返回“auto”而不是有用的像素值。这是一个livedemo扩展一些文本以适合一个框。它不适用于Opera,因为计算出的宽度

javascript - 为可见的 Three.js 形状调整相机

我有一个相机正在注视的CubeGeometry,我希望相机缩放以便立方体完全可见,但不会变大。我最初的尝试是将立方体的顶点转换为相机坐标系,functiontoScreenXY(position,camera){varpos=position.clone();varprojScreenMat=newTHREE.Matrix4();projScreenMat.multiply(camera.projectionMatrix,camera.matrixWorldInverse);projScreenMat.multiplyVector3(pos);returnpos;}functionSc

javascript - 异步设置为 false 的 jquery ajax 可防止 Chrome 中先前的显示更改

所以我有这个:$('.something').click(function(){$('body').html('');$.ajax({url:'someurl',dataType:'json',async:false,success:function(data){//dostuffalert('yo');}});returnfalse;});在Firefox中,body会在正确发出“yo”警报之前变为空白...但是在Chrome中,即使$('body').html('')调用在ajax之前执行....这是由于设置为false的异步设置...如果它是true,它也会在chrome中正常工

javascript - 如何将文本添加为​​ jqplot canvasOverlay?

我想在jqplot图表上叠加标签。标签应包含文本或理想情况下,任何标记。我检查了documentation和examples,并且无法在主jqplot图表区域中找到任意标签的示例。jqplot相关特性:canvasOverlay用于在图表上绘制任意线条。此外,“标题”标签存在,但位于图表之外。这看起来应该很简单。一些选项:更改主标签的jqplotCSS以将其移动到图表内。jqplot中的新标签。问题范围确实在jqplot之外,正确的解决方案是使用Canvas的通用方法。提前致谢! 最佳答案 找到了一个解决方案,由jqplot作者Ch

javascript - 将对象和函数转换为有效的 JavaScript 源代码?

我有一个看起来像这样的JavaScript对象:{bacon:[Function],hello:[Function],tables:[Function]}其中[Function]是一个实际的JavaScript函数。我想将其写入一个.js文件,其内容如下:varTemplates=/*sourcecodehere*/如何获取对象和函数属性的源代码作为字符串,以便评估此“源代码字符串”将返回相同的对象? 最佳答案 我推出了自己的序列化程序:vartemplates={/*objecttostringify*/};varproperti

javascript - 为什么即使在 javascript 中将数组的长度属性设置为只读,其值也会发生变化?

我在chrome的控制台中尝试了以下代码vara=newArray(1,2,3,4);a.length这显示长度如预期的那样为4。现在我尝试将长度属性设置为可写:falseObject.defineProperty(a,"length",{writable:false});a[4]=5;a.length即使属性设置为writable:false,结果也是5。那是怎么发生的?它不应该保持不变,因为它设置为只读(可写:false)吗? 最佳答案 Object.defineProperty(a,"length",{writable:fal