网站搜索
我正在创建一个使用 Facebook 连接的网站。我使用 JavaScript SDK 在客户端进行用户身份验证,并且每次用户登录时都会调用服务器上的 AJAX 方法,以检查该用户是否为我的应用所知,如果用户是新用户,则将他们的 FBID 存储在我的数据库中,以注册他们为新用户。
我的问题是:Facebook 返回给 JavaScript SDK 的访问令牌可以在服务器端使用吗(例如使用 PHP SDK)?我可以通过 AJAX 调用将访问令牌字符串发送到服务器,在数据库中存储它(同时记录时间戳
阅读更多 →迫切需要一个 Javascript 等效于 Matlab 中 polyval 和 polyfit 函数的功能。基本上,Matlab 中的这些函数根据指定的多项式对两个等大小的数组进行曲线拟合。我需要在 Javascript 中进行一些涉及曲线拟合的计算,但无论如何都找不到相应的函数。
这是 MatLab 对函数 polyfit 的解释
“P=POLYFIT(X,Y,N) 找到一个 N 次多项式 P(X) 的系数,该多项式在最小二乘意义下最适合数据 Y。P 是一个长度为 N+1 的行向量,包含按降幂排列的多项式系数,即 P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)。”
这是 MatLab 对 polyval 的解释。
“多项式评估。 Y=POLYVAL(P,X) 返回在 X 处值的多项式 P。P 是一个长度为 N+1 的向量,其元素是多项式的系数,按次幂递减。
Y = 阅读更多 →
我刚刚看了一下 Dave Herman 的非常有趣的 task.js。在他的示例中,他有这一行:
var [foo, bar] = yield join(read("foo.json"), read("bar.json")).timeout(1000);我熟悉生成器,但我不明白 yield 表达式是如何求值为可以赋值给 [foo, bar] 的东西的。我实际上并不期望该表达式可以赋值给任何东西,因为它基本上和 return 是一样的。
JS 的 yield 语法似乎仍然有些文档不足,我找不到相关信息。
所以为了澄清我的问题:最终被分配
阅读更多 →我没有在外国操作系统上测试我的 Javascript 的自由。我想知道以下内容是否能在全球范围内有效:
var d = new Date( 'Tue Aug 20 2011 16:00:00 GMT-0700 (Pacific Daylight Time)' );如果西班牙语操作系统运行这个,会崩溃吗?我必须改用这个吗?
var d = new Date( 'Mar Ago 20 2011 16:00:00 GMT-0700 (Pacífico Hora de verano)' );我使用字符串来初始化日期,因为我讨厌使用所有需要转换为UTC的数字方法。
不。字符串格式对语言有严格要求。只能是英文。我有一个希伯来语操作系统,但我使用英文没问题。(尝试希伯来语会导致崩溃)。
阅读更多 →
我在解析通过 WebSocket 接收到的 JSON 时遇到了一些问题(原问题 - Parse JSON received with WebSocket results in error)。JSON 字符串本身是有效的(已用几个 JSON 验证器测试过),但是 JSON.parse 会抛出异常。我正在尝试找出它具体无法解析的部分,但我得到的唯一信息是“SyntaxError: unexpected_token ILLEGAL”,它没有说明失败的 token 的具体位置。有没有办法提取这样的信息?
更新:如果我将那个 JSON 字符串复制粘贴到一个静态文件(例如 "data.json"),然后用同一个函数(JSON.parse)去读取和解析它——那么就可以正常工作。所以我猜想这里面可能有一些棘手的问题,我想到了换行符(可能是用了 \n 而不是 \n,或者反过来),但完全删除所有换行符也没有帮助。我认为这很可能是编码问题,但数据是通过 websocket 接收的,根据文档它是 utf-8 字符串。
第二次更新
阅读更多 →我正在尝试在 Chrome 上使用文件空间 API 下载我创建的文本文件。我无法下载它。我只能在 Chrome 浏览器上查看它。
location.href = fileEntry.toURL();那是我目前用来下载它的那行代码。
我可以使用 content-disposition 强制下载 .txt 文件吗?如果可以,应该怎么做?
查看 FileSaver 接口: http://www.w3.org/TR/file-writer-api/#the-filesaver-interface。
这是一个能实现你想要功能的示例:http://oftn.org/projects/FileSaver.js/demo/
这里有一篇 HTML5Rocks 的文章,更详细地描述了使用方法:http://updates.html5rocks.com/2011/08/Saving-g
阅读更多 →
我正在阅读 IBM 网站上一篇关于 JavaScript 内存泄漏的文章 (http://www.ibm.com/developerworks/web/library/wa-memleak/),当时我遇到了一个看起来并不像泄漏的内存泄漏:
<html> <body> <script type="text/javascript"> document.write("Program to illustrate memory leak via closure"); window.onload=function outerFunction(){ var obj = document.getElement 阅读更多 →
是否有一个 jQuery 选择器可以选择被鼠标光标拖过而高亮的文本?例如,我想选择我在 textarea 字段中输入的文本,点击一个按钮,然后在我用鼠标光标高亮的文本周围添加 <p> 标签。最好使用非插件的解决方案,谢谢。
有一个非常不错的直接 JavaScript 解决方案……只需使用 inputElement.selectionStart 和
阅读更多 →
我正在构建一个终端的浏览器界面。我需要捕捉字符(字母数字、点、斜杠等)和非字符按键(箭头键、F1-F12 等)的按下事件。此外,如果用户长按某个键,希望能够获取重复的按键事件(该函数应在按键释放之前被重复调用)。空格键、字母等同样适用。
我希望这个尽可能跨浏览器(在这方面 jQuery 的 keypress 是不行的)。我也尝试过使用 jquery.hotkeys.js 的分支,但如果我理解正确,我不能在一个函数中捕获特殊键和字符键(应该对前者使用 keydown,对后者也使用 keydown)。
有没有一个 JS 库可以让我同时捕捉字符键和特殊键?
阅读更多 →我正在尝试调试一个仅在 IE 中发生的“未找到属性”异常。糟糕的是,这个异常被捕获并处理了,我只能找出如何让 IE 9 调试器在未捕获异常上暂停(Ctrl + Shift + E)。
我暂时不能移除相关的 try-catch 语句,否则会破坏我的程序逻辑,而且我也不想手动逐步操作调试器。我如何才能轻松找到是哪一行代码产生了我的异常?
过了一会儿,我得出结论,遗憾的是,没有简单的方法可以强制 IE 在捕获到异常时中止。
顺便说一下,自从提出这个问题以来,我已经解决了触发这个问题的原因。我当时在用 console.log 打印一个 XML 文档,而与 Chrome 和 Firefox 不同,IE 处理得不好。这特别让人恼火,因为我当时是用 console.log 来帮助调试的 >_<
阅读更多 →