我最近一直在摆弄WebGL,并且让Collada读者工作了.问题是它很慢(Collada是一种非常冗长的格式),所以我将开始将文件转换为更易于使用的格式(可能是JSON).事实是,我已经有了用Javascript解析文件的代码,所以我也可以将它用作我的导出器!问题在于节省.
现在,我知道我可以解析文件,将结果发送到服务器,并让浏览器从服务器请求文件作为下载.但实际上服务器与这个特定的进程没有任何关系,为什么要让它参与其中呢?我已经在内存中拥有所需文件的内容.有什么方法可以使用纯javascript向用户提供下载吗?(我怀疑它,但不妨问......)
并且要明确:我没有在用户不知情的情况下尝试访问文件系统!用户将提供一个文件(可能通过拖放),脚本将转换内存中的文件,并提示用户下载结果.就浏览器而言,所有这些都应该是"安全"的活动.
[编辑]:我没有提及它,所以回答"Flash"的海报是有效的,但我正在做的部分是尝试强调纯HTML5可以做什么...所以Flash是在我的情况下.(虽然对于任何正在使用"真实"网络应用程序的人来说,这是一个非常有效的答案.)在这种情况下,除非我想要涉及服务器,否则看起来我运气不好.不管怎么说,还是要谢谢你!
关于如何在不使用jQuery的情况下获得div高度的任何想法?
我正在搜索Stack Overflow这个问题,似乎每个答案都指向jQuery .height().
我尝试了类似的东西myDiv.style.height,但它什么也没有返回,即使我的div有它width并且height设置在CSS中.
没有别的,我可以写'if else'速记吗?
var x=1;
x==2 ? dosomething() : doNothingButContinueCode();
Run Code Online (Sandbox Code Playgroud)
我注意到if else了其他的工作(但我不知道为什么或者这是个好主意).
编辑:有些人似乎很困惑为什么我会费心去尝试这个.请放心,这纯粹是出于好奇.我喜欢乱搞JavaScript.
我知道以下是JavaScript中检查变量是否不是的两种方法null,但我很困惑哪种方法最好使用.
我应该这样做:
if (myVar) {...}
Run Code Online (Sandbox Code Playgroud)
要么
if (myVar !== null) {...}
Run Code Online (Sandbox Code Playgroud) JavaScript中的方法window.location.href和window.open ()方法有什么区别?
我试图从数据网格中解析两个值.
字段是数字的,当它们有逗号(例如554,20)时,我无法得到逗号后面的数字.
我试过parseInt和parseFloat.我怎样才能做到这一点?
我有一个这种格式的字符串:
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) 我想在加载页面时运行一个函数,但我不想在<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)
但它没有用.
那么如何在加载页面时运行它?
用例
用例是基于提供的字符串或函数将对象数组转换为哈希映射,以评估和使用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) 我试图循环一个数组.我有以下代码:
var currnt_image_list= '21,32,234,223';
var substr = currnt_image_list.split(','); // array here
Run Code Online (Sandbox Code Playgroud)
我试图从阵列中获取所有数据.有人可以带我走正确的道路吗?
javascript ×10
arrays ×2
html ×2
comparison ×1
css ×1
date-parsing ×1
download ×1
hashmap ×1
href ×1
html5 ×1
iteration ×1
jquery ×1
location ×1
loops ×1
momentjs ×1
null-check ×1
onload ×1
parsing ×1
shorthand ×1
window ×1