小编Kam*_*ski的帖子

使用HTML5/Javascript生成并保存文件

我最近一直在摆弄WebGL,并且让Collada读者工作了.问题是它很慢(Collada是一种非常冗长的格式),所以我将开始将文件转换为更易于使用的格式(可能是JSON).事实是,我已经有了用Javascript解析文件的代码,所以我也可以将它用作我的导出器!问题在于节省.

现在,我知道我可以解析文件,将结果发送到服务器,并让浏览器从服务器请求文件作为下载.但实际上服务器与这个特定的进程没有任何关系,为什么要让它参与其中呢?我已经在内存中拥有所需文件的内容.有什么方法可以使用纯javascript向用户提供下载吗?(我怀疑它,但不妨问......)

并且要明确:我没有在用户不知情的情况下尝试访问文件系统!用户将提供一个文件(可能通过拖放),脚本将转换内存中的文件,并提示用户下载结果.就浏览器而言,所有这些都应该是"安全"的活动.

[编辑]:我没有提及它,所以回答"Flash"的海报是有效的,但我正在做的部分是尝试强调纯HTML5可以做什么...所以Flash是在我的情况下.(虽然对于任何正在使用"真实"网络应用程序的人来说,这是一个非常有效的答案.)在这种情况下,除非我想要涉及服务器,否则看起来我运气不好.不管怎么说,还是要谢谢你!

javascript html5 download

305
推荐指数
12
解决办法
36万
查看次数

使用纯JavaScript获取div高度

关于如何在不使用jQuery的情况下获得div高度的任何想法?

我正在搜索Stack Overflow这个问题,似乎每个答案都指向jQuery .height().

我尝试了类似的东西myDiv.style.height,但它什么也没有返回,即使我的div有它width并且height设置在CSS中.

html javascript css

287
推荐指数
6
解决办法
46万
查看次数

使用if-else简写时省略第二个表达式

没有别的,我可以写'if else'速记吗?

var x=1;

x==2 ? dosomething() : doNothingButContinueCode();   
Run Code Online (Sandbox Code Playgroud)

我注意到if else了其他的工作(但我不知道为什么或者这是个好主意).

编辑:有些人似乎很困惑为什么我会费心去尝试这个.请放心,这纯粹是出于好奇.我喜欢乱搞JavaScript.

javascript ternary-operator conditional-operator shorthand

279
推荐指数
6
解决办法
63万
查看次数

如何检查变量是否为空?

我知道以下是JavaScript中检查变量是否不是的两种方法null,但我很困惑哪种方法最好使用.

我应该这样做:

if (myVar) {...}
Run Code Online (Sandbox Code Playgroud)

要么

if (myVar !== null) {...}
Run Code Online (Sandbox Code Playgroud)

javascript comparison null-check

261
推荐指数
5
解决办法
45万
查看次数

JavaScript中的Window.location.href和Window.open()方法

JavaScript中的方法window.location.hrefwindow.open ()方法有什么区别?

javascript location window href window-object

252
推荐指数
5
解决办法
125万
查看次数

如何在JavaScript中将字符串转换为float?

我试图从数据网格中解析两个值.
字段是数字的,当它们有逗号(例如554,20)时,我无法得到逗号后面的数字.
我试过parseIntparseFloat.我怎样才能做到这一点?

javascript floating-point parsing

243
推荐指数
4
解决办法
41万
查看次数

格式化日期与moment.js

我有一个这种格式的字符串:

var testDate = "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"

我想使用moment.js以这种格式mm/dd/yyyy : 04/12/2013显示它.

我尝试使用这种方法,

moment(testDate,'mm/dd/yyyy');
Run Code Online (Sandbox Code Playgroud)

哪个错误并说there is no such method called replace?我是以错误的方式接近这个吗?

编辑:

我还要提一下,我正在使用为meteor.js打包的预打包版本的moment.js

Object [object Date] has no method 'replace' : The Exact error from the console
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

 at makeDateFromStringAndFormat (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:539:29)
    at moment (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:652:24)
    at populateProfileForEdit (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:147:25)
    at Object.Template.profile_personal.rendered (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:130:13)
    at Spark.createLandmark.rendered (http://127.0.0.1:3000/packages/templating/deftemplate.js?b622653d121262e50a80be772bf5b1e55ab33881:126:42)
    at http://127.0.0.1:3000/packages/spark/spark.js?45c746f38023ceb80745f4b4280457e15f058bbc:384:32
    at Array.forEach (native)
    at Function._.each._.forEach (http://127.0.0.1:3000/packages/underscore/underscore.js?867d3653d53e9c7a171483edbcad9670e12288c7:79:11)
    at http://127.0.0.1:3000/packages/spark/spark.js?45c746f38023ceb80745f4b4280457e15f058bbc:382:7
    at _.extend.flush (http://127.0.0.1:3000/packages/deps/deps.js?9642a93ae1f8ffa8eb1c2475b198c764f183d693:231:11) 
Run Code Online (Sandbox Code Playgroud)

javascript date-parsing momentjs

231
推荐指数
7
解决办法
55万
查看次数

如何在加载页面时运行函数?

我想在加载页面时运行一个函数,但我不想在<body>标记中使用它.

如果我在其中初始化它,我有一个运行的脚本<body>,如下所示:

function codeAddress() {
  // code
}
Run Code Online (Sandbox Code Playgroud)
<body onLoad="codeAddress()">
Run Code Online (Sandbox Code Playgroud)

但是我想在没有它的情况下运行它<body onload="codeAddress()">并且我已经尝试了很多东西,例如:

window.onload = codeAddress;
Run Code Online (Sandbox Code Playgroud)

但它没有用.

那么如何在加载页面时运行它?

html javascript onload

223
推荐指数
6
解决办法
93万
查看次数

将对象数组转换为哈希映射,由Object的属性值索引

用例

用例是基于提供的字符串或函数将对象数组转换为哈希映射,以评估和使用hashmap中的键作为对象本身的值.使用它的常见情况是将对象数组转换为对象的哈希映射.

以下是javascript中的小片段,用于将对象数组转换为哈希映射,由对象的属性值索引.您可以提供一个动态(运行时)评估哈希映射键的函数.希望这有助于将来的任何人.

function isFunction(func){
    return Object.prototype.toString.call(func) === '[object Function]';
}

/**
 * This function converts an array to hash map
 * @param {String | function} key describes the key to be evaluated in each object to use as key for hasmap
 * @returns Object
 * @Example 
 *      [{id:123, name:'naveen'}, {id:345, name:"kumar"}].toHashMap("id")
 *      Returns :- Object {123: Object, 345: Object}
 *
 *      [{id:123, name:'naveen'}, {id:345, name:"kumar"}].toHashMap(function(obj){return obj.id+1})
 *      Returns :- Object {124: Object, 346: Object}
 */
Array.prototype.toHashMap = function(key){ …
Run Code Online (Sandbox Code Playgroud)

javascript arrays hashmap

223
推荐指数
13
解决办法
22万
查看次数

如何在jQuery中循环遍历数组?

我试图循环一个数组.我有以下代码:

 var currnt_image_list= '21,32,234,223';
 var substr = currnt_image_list.split(','); // array here
Run Code Online (Sandbox Code Playgroud)

我试图从阵列中获取所有数据.有人可以带我走正确的道路吗?

javascript arrays iteration jquery loops

222
推荐指数
7
解决办法
62万
查看次数